Как открыть форму внешней обработки в Серверном режиме в Управляемых формах? |
Я |
02.03.12 — 11:10
Делаю так:
Основнаяформа=ПолучитьФорму(«ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма», Новый Структура(«Ключ», ЭтотОбъект));
В файловом режиме 1С работает, а в серверном не работает, клиент толстый. Пишет:
Ошибка при вызове метода контекста (ПолучитьФорму): Неизвестное имя формы. Имя: «ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма».
Как сделать чтобы в серверном работала?
1 — 02.03.12 — 11:12
+0
&НаКлиенте
Функция МаяФункция() Экспорт
Основнаяформа=ПолучитьФорму(«ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма», Новый Структура(«Ключ», ЭтотОбъект));
КонецФункции
2 — 02.03.12 — 11:12
Запустить управляемого клиента?
3 — 02.03.12 — 11:16
а она у тебя точно ТвАяОбработка?
4 — 02.03.12 — 11:17
(2) конечно. А потом выходить ошибка которую я описать в (0)
5 — 02.03.12 — 11:17
(3) Да, иначе в файловом варианте бы не открылась.
6 — 02.03.12 — 11:17
а, ясно, «мы нэмэстные…»
7 — 02.03.12 — 11:20
(6) Да, у нас на районе все пишут «МаяОбработка»
Ну так что по теме? Знает кто-нибудь?
8 — 02.03.12 — 11:20
(5) и ты хочешь сказать, что в файловом в тонком клиенте она у тебя открывается?
9 — 02.03.12 — 11:20
(8) в ТОЛСТОМ файловом открывается.
10 — 02.03.12 — 11:20
В каком модуле располагается: Функция МаяФункция() Экспорт ?
11 — 02.03.12 — 11:22
(9) ну а форма-то какая открывается? Управляемая, или обычная?
12 — 02.03.12 — 11:23
(10) В общем модуле.
13 — 02.03.12 — 11:24
(11) Управляемая. Она так и называется «УправляемаяФорма»
14 — 02.03.12 — 11:27
(13) ну, мало ли. может, у вас там принято так называть обычные формы
15 — 02.03.12 — 11:27
кинь свою обработку на ифолдер. интересно поглядеть
16 — 02.03.12 — 11:34
(15) Ща попробую. Там релиться не надо?
17 — 02.03.12 — 11:35
18 — 02.03.12 — 11:41
а я не понял, где ты код из (0) пишешь? в другой обработке?
19 — 02.03.12 — 11:43
(18) Код из (0) в модуле объекта.
20 — 02.03.12 — 11:43
ага. в модуле объекта нет клиента. там тока сервер.
21 — 02.03.12 — 11:44
и мне непонятно зафига ты так сделал вообще?
22 — 02.03.12 — 11:45
(21) Потому что она вызывается из общего модуля общей командой для всех внешних обработок.
23 — 02.03.12 — 11:45
ты хочешь чтобы перед печатью этой внешней печатной формы вылезало окно настроек чтоли?
24 — 02.03.12 — 11:46
25 — 02.03.12 — 11:47
(20) Как сделать чтобы было клиент? Как я понял в файловом варианте само делается, потому что там нет сервера.
26 — 02.03.12 — 11:49
в файловом варианте есть сервер. но поскольку он крутится на твоей локальной машине, то и позволяет открыть окно настроек.
27 — 02.03.12 — 11:50
(26) Ну да. А на серверном варианте как открыть форму?
28 — 02.03.12 — 11:51
во-первых, ЭтотОбъект доступен на «Сервер, толстый клиент, внешнее соединение».
29 — 02.03.12 — 11:52
(28) и что?
30 — 02.03.12 — 11:53
(28) ЭтотОбъект можно вообще убрать, он не нужен. Щас там просто Объект, реквизит обработки.
31 — 02.03.12 — 11:57
К (0). Из внешнего модуля так вызывается:
ИмяФайла = «C:МаяОбработка.epf»;
Обработка = ВнешниеОбработки.Создать(ИмяФайла);
Обработка.Объект = ОбъектИзБазы;
ТабДокумент = Обработка.МаяФункция();
В (17) МаяФункция() заменена на функцию Печать()
32 — 02.03.12 — 11:58
Вообще строка Обработка.Объект = ОбъектИзБазы; роли не играет, не обращайте внимания.
33 — 02.03.12 — 11:59
ну не откроешь ты на сервере форму
34 — 02.03.12 — 12:00
во-вторых, внешняя обработка предварительно зарегистрированы в системе?
в-третьих, а как это открытие обработки на сервере? Кто ее ТАМ будет наблюдать?
может мы чего не поняли в твоей задуме?
35 — 02.03.12 — 12:07
36 — 02.03.12 — 12:08
У меня вот даже зарегистрировать внешнюю обработку не получается в толстом клиенте.
37 — 02.03.12 — 12:11
(34) Не на сервере, а на клиенте в серверном варианте.
38 — 02.03.12 — 12:13
(37)ну значит нужно прояснить только второй вопрос
39 — 02.03.12 — 12:15
(34) Как их регистировать в системе? И для чего?
40 — 02.03.12 — 12:22
(39) +1 для чего? после этого платформа позволит из модуля обработки открывать формы?
41 — 02.03.12 — 12:34
короче. твоя печатная форма должна быть создана по технологии внешних обработок 8.2
только тогда ты сможешь открыть ее форму.
42 — 02.03.12 — 12:35
делается это так:
ДобавитьКоманду(ТаблицаКоманд,
«Бла-бла-ба, то что пишем в менюшке»,
«ИМЯ_ТВОЕЙ_ФОРМЫ»,
«ОткрытиеФормы»,
);
43 — 02.03.12 — 12:36
+42 делается это в функции СведенияОВнешнейОбработке
44 — 02.03.12 — 12:38
Вот этого нужно тебе?
&НаКлиенте
Процедура ОткрытьОбработку(Команда)
Перем стрИмя, стрАдрес;
стрАдрес = «»;
Если НЕ ПоместитьФайл(стрАдрес, «D:ИмяОбработки.epf», , Ложь) Тогда
Возврат;
КонецЕсли;
стрИмя = ПодключитьВнешнююОбработку(стрАдрес);
Основнаяформа = ПолучитьФорму(«ВнешняяОбработка.» + стрИмя + «.Форма.Форма»);
Основнаяформа.Открыть();
КонецПроцедуры // ОткрытьОбработку()
&НаСервере
Функция ПодключитьВнешнююОбработку(Знач стрАдрес)
Возврат ВнешниеОбработки.Подключить(стрАдрес);
КонецФункции // ПодключитьВнешнююОбработку()
45 — 02.03.12 — 12:43
46 — 02.03.12 — 12:49
Спасибо, буду разбираться
47 — 02.03.12 — 13:48
(41) Не понял как это может помочь открыть форму внешней обработки. Это для типовой УТ? Похоже не то что нужно
48 — 02.03.12 — 13:53
(47) что конкретно тебе непонятно? ты делаешь дополнительную печатную форму для какого то документа. правильно?
49 — 02.03.12 — 13:53
(44) Пишет: Ошибка при вызове метода контекста (ПолучитьФорму): Неизвестное имя формы. Имя: «ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма»
50 — 02.03.12 — 13:54
(48) Да, но в той статье написано как сделать дополнительную печатную форму, это я сделал, работает.
Теперь мне надо открыть ее форму.
51 — 02.03.12 — 13:56
(50) я тебе дал код в (42)
ищи в своей обработке «ДобавитьКоманду(ТаблицаКоманд,»
и пиши туда вместо ИМЯ_ТВОЕЙ_ФОРМЫ имя формы как она у тебя обзывается в обработке
52 — 02.03.12 — 13:57
(49)я тебе рабочий код написал и выложил.
53 — 02.03.12 — 14:00
(52) и куда надо прикрутить этот «рабочий» код чтобы ТС мог напечатать внешнюю печатную форму?
54 — 02.03.12 — 14:03
(53)вопрос стоял, как открыть внешнюю обработку. Про печать ничего не слышал
55 — 02.03.12 — 14:13
56 — 02.03.12 — 14:32
(55)а в двух словах чего ему надо, если ты скачал и видел его файло.
57 — 02.03.12 — 14:35
(56) ровно то, что я написал. ему надо сделать внешнюю печатную форму для УТ11, которая прилепляется к нужным документам штатными средствами без изменения конфы и позволяет перед печатью открывать окно с некоторыми настройками.
58 — 02.03.12 — 14:36
но судя по тому, что ТС молчит, то предположу что он не осилил как же это сделать. видимо придется ему предложить купить эту форму ))))
59 — 05.03.12 — 05:52
(51) Этот код не работает. ДобавитьКоманду — такая процедура не определена.
(57) Вообще-то не для УТ11. Интересует как открыть форму в принципе, «с нуля»
60 — 05.03.12 — 05:54
(52) Код не работает.
Ошибка при вызове метода контекста (ПолучитьФорму): Неизвестное имя формы. Имя: «ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма»
61 — 05.03.12 — 06:52
(60)покажи код.
62 — 05.03.12 — 07:04
(61) Я его уже убрал. Смотри в (44)
63 — 05.03.12 — 07:08
(62)код в (44) работает.
64 — 05.03.12 — 07:11
(63) Действительно, работает. Ошибся
65 — 05.03.12 — 07:16
Почему-то в пятницу не работало. 1с перезапустил, заработало.
Вот так тоже рабюотает:
&НаКлиенте
Функция Печать() Экспорт
Перем стрАдрес;
стрАдрес = «»;
Если НЕ ПоместитьФайл(стрАдрес, «C:Temptmp.epf», , Ложь) Тогда
Возврат (Неопределено);
КонецЕсли;
Основнаяформа = ПолучитьФорму(«ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма»);
Основнаяформа.Открыть();
Возврат(Неопределено);
КонецФункции
66 — 05.03.12 — 07:19
(65)рандомный генератор пишешь?
67 — 05.03.12 — 07:23
Вот так тоже теперь работает:
&НаКлиенте
Функция Печать() Экспорт
//Перем стрАдрес;
//
//стрАдрес = «»;
//Если НЕ ПоместитьФайл(стрАдрес, «C:Temptmp.epf», , Ложь) Тогда
// Возврат (Неопределено);
//КонецЕсли;
//
Основнаяформа = ПолучитьФорму(«ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма»);
Основнаяформа.Открыть();
Возврат(Неопределено);
КонецФункции
68 — 05.03.12 — 07:24
Что за фигня! В пятницу не работало, а сейчас работает без всяких дополнений! Всего-то платформу перезапустил
69 — 05.03.12 — 07:28
(68)не делай как в (65) и (67), делай как в (44).
70 — 05.03.12 — 07:33
(69) Почему может быть такое сообщение?:
{ВнешняяОбработка.МаяОбработка.МодульОбъекта(52,14)}: Процедура или функция с указанным именем не определена (ПодключитьВнешнююОбработку)
71 — 05.03.12 — 07:36
(70)а давай я тебе по руке погадаю? Тыж меня в телепаты записал.
Я думаю, что сообщение об ошибке достаточно для понимания.
72 — 05.03.12 — 07:40
(71) твой код. Пишется ошибка.
Закомментированная строка не работает. Переделал как во второй строке, ошибку не выдает:
//стрИмя = ПодключитьВнешнююОбработку(стрАдрес);
стрИмя = ВнешниеОбработки.Подключить(стрАдрес);
73 — 05.03.12 — 07:49
(67)Если предполагать, что ты используешь код из (67), дополнив его куском кода из (72), то у меня разрыв шаблона — метод Подключить имеет доступность «Сервер, внешнее соединение», хотя у тебя выставлено &НаКлиенте.
Ты занимаешься мозгоимением??
74 — 05.03.12 — 07:52
&НаКлиенте
Функция Печать() Экспорт
Перем стрИмя, стрАдрес;
стрАдрес = «»;
Если НЕ ПоместитьФайл(стрАдрес, «C:Temptmp.epf», , Ложь) Тогда
Возврат (Неопределено);
КонецЕсли;
стрИмя = ВнешниеОбработки.Подключить(стрАдрес);
Основнаяформа = ПолучитьФорму(«ВнешняяОбработка.» + стрИмя + «.Форма.УправляемаяФорма»);
Основнаяформа.Открыть();
Возврат(Неопределено);
КонецФункции
&НаСервере
Функция ПодключитьВнешнююОбработку(Знач стрАдрес)
Возврат ВнешниеОбработки.Подключить(стрАдрес);
КонецФункции
75 — 05.03.12 — 07:53
Если использовать ПодключитьВнешнююОбработку вместо ВнешниеОбработки.Подключить, то выходит сообщение об ошибке:
Процедура или функция с указанным именем не определена (ПодключитьВнешнююОбработку)
76 — 05.03.12 — 07:55
Еще один косяк: Если переименовать мою обработку в любое имя кроме «МаяОбработка», то выходит сообщение об ошибке:
Неизвестное имя формы. Имя: «ВнешняяОбработка.блаблабла.Форма.УправляемаяФорма»
77 — 05.03.12 — 07:57
Третий косяк: Если взять другую обработку и задать ей имя «МаяОбработка», и открыть ее форму из той процедуры, то всё равно откроется форма старой обработки. Тоесть она как-то зарегистрировалась под этим именем, и не пойму когда и как она это сделала
78 — 05.03.12 — 08:17
(74)а где это «Функция Печать() Экспорт» расположено?
79 — 05.03.12 — 08:23
(78) В модуле объекта внешней обработки
80 — 05.03.12 — 08:26
(79)ты каким-то чудом вызываешь метод «Печать» из одной внешней обработки, а потом хочешь открыть другую внешнюю обработку «tmp.epf»??
А как ты вызываешь «Печать»?
81 — 05.03.12 — 08:31
(80) Из общего модуля вызываю:
ИмяФайла = «C:Temptmp.epf»;
Обработка = ВнешниеОбработки.Создать(ИмяФайла);
ТабДокумент = Обработка.Печать();
82 — 05.03.12 — 08:33
Я вызываю метод Печать одной внешней обработки, и хочу чтобы она сама открыла свою форму.
83 — 05.03.12 — 09:00
Ап.
84 — 05.03.12 — 09:12
хз, чего там у тебя как работает, но (74) не должен работать: &НаКлиенте и ВнешниеОбработки.Подключить не должны вместе дружить.
Еще раз: в (44) код достаточен для твоей задачи. «ОткрытьОбработку(Команда)» — это вызов по команде/кнопке на форме.
Открыл форму, сделал настройки, там же нажал кнопку/команду печать.
85 — 05.03.12 — 09:17
(84) Чтобы нажать кнопку на форме, нужно сперва открыть эту форму, а она не открывается. А вообще вызов внешней обработки и ее метода «Печать» нельзя менять. И почему работает ВнешниеОбработки.Подключить я не знаю. Могу выложить обработку чтобы посмотрели
86 — 05.03.12 — 09:30
(84) Вот выложил: http://ifolder.ru/29092486
Кнопка на обработке открывает такую же обработку и вызывает «Печать()». И твой код не работает.
{Форма.УправляемаяФорма.Форма(4)}: Ошибка при вызове метода контекста (Создать)
Обработка = ВнешниеОбработки.Создать(ИмяФайла);
по причине:
{ВнешняяОбработка.МаяОбработка.МодульОбъекта(11,14)}: Процедура или функция с указанным именем не определена (ПодключитьВнешнююОбработку)
стрИмя = <<?>>ПодключитьВнешнююОбработку(стрАдрес);
87 — 05.03.12 — 11:00
Ап.
88 — 05.03.12 — 11:26
(86)
ВнешниеОбработки не доступно в тонком клиенте
ПодключитьВнешнююОбработку это метод объекта. чтобы его вызвать, нужно сначала получить объект с помощью РеквизитФормыВЗначение. но сделать это можно только на сервере
а вообще зачем всё это нужно?
89 — 05.03.12 — 11:30
(88) У меня в ТОЛСТОМ клиенте
Этот метод вызывается в модуле объекта, тоесть получать объект не нужно, он уже есть.
Нужно просто разобраться. Почему оно не работает!
90 — 05.03.12 — 11:32
И как могут работать два метода ПоместитьФайл и ВнешниеОбработки.Подключить в одной процедуре!??! У них же разная доступность на клиенте и на сервере!
91 — 05.03.12 — 11:51
(89) тогда, ты будешь смеяться, всё работает
замени
Основнаяформа = ПолучитьФорму(«ВнешняяОбработка.» + стрИмя + «.Форма.УправляемаяФорма»);
Основнаяформа.Открыть();
на
ОткрытьФорму(«ВнешняяОбработка.» + стрИмя + «.Форма.УправляемаяФорма»,,,Истина);
в принципе можно и ПолучитьФорму использовать и потом открывать, только при попытке передать туда ключ уникальности ругается на количество параметров, хотя параметры и там и там одинаковые
92 — 05.03.12 — 11:55
(90) ты для какой конфы это безобразие ваяешь?
для УТ11 я тебе дал все карты в руки. у меня все работает, подключается, открывает форму настроек и печатает.
93 — 05.03.12 — 12:02
(91) если указать имя обработки «МаяОбработка», то работает. А если поменять имя и указать там новое имя, то не работает.
94 — 05.03.12 — 12:02
(92) Для пустой конфы. Тестовой
95 — 06.03.12 — 06:11
Выяснил что нужно хотябы раз открыть форму обработки через меню файл, и выполнить команду:
&НаКлиенте
Функция Команда1(Команда) Экспорт
Перем стрИмя, стрАдрес;
стрАдрес = «»;
Если НЕ ПоместитьФайл(стрАдрес, «C:Temptmp.epf», , Ложь) Тогда
Возврат (Неопределено);
КонецЕсли;
стрИмя = ВнешниеОбработки.Подключить(стрАдрес);
КонецФункции
Тогда в следующий раз форма открывается из модуля объекта нормально. Но как сделать чтобы не нужно было открывать ее в первый раз вручную?
96 — 06.03.12 — 08:03
(95)свойства конфигурации — Обычное приложение???
97 — 06.03.12 — 08:07
(96) Основной режим: Управляемое приложение
98 — 06.03.12 — 08:31
(97)да как так? открываю твою обработку в ут11 — в модуле формы уже ругань идет.
99 — 06.03.12 — 08:47
(98) Щас скачал ту которую выкладывал, открывается форма с одной кнопкой. Как так?
100 — 06.03.12 — 08:47
Платформа 8.2.15.289
bag.dat 1 / 1 / 0 Регистрация: 30.05.2011 Сообщений: 29 |
||||
1 |
||||
1C 8.x Упр. Открыть несколько форм одного объекта.11.08.2012, 09:35. Показов 13086. Ответов 33 Метки нет (Все метки)
Здравствуйте
не срабатывает, пишет: Значение не является значением объектного типа Спасибо
0 |
duk337 2954 / 1766 / 82 Регистрация: 03.11.2011 Сообщений: 8,280 |
||||||||
11.08.2012, 17:57 |
2 |
|||||||
Здравствуйте
не срабатывает, пишет: Значение не является значением объектного типа Спасибо Как говорят в Одессе «А Ви с откудова получаете форму?». ЭтотОбъект — это в каком модуле и модуле чего?
0 |
bag.dat 1 / 1 / 0 Регистрация: 30.05.2011 Сообщений: 29 |
||||
12.08.2012, 07:15 [ТС] |
3 |
|||
Это внешняя печатная форма, вызывается с модуля объекта, а именно в функции печати
сама форма находится в этой печатной форме
0 |
duk337 2954 / 1766 / 82 Регистрация: 03.11.2011 Сообщений: 8,280 |
||||
12.08.2012, 09:18 |
4 |
|||
вызывается с модуля объекта ОБЪЕКТ — это не сама обработка? Тогда см. вышеприведённый код. Ещё раз:
0 |
1 / 1 / 0 Регистрация: 30.05.2011 Сообщений: 29 |
|
13.08.2012, 07:04 [ТС] |
5 |
[QUOTE=duk337;3349995]ОБЪЕКТ — это не сама обработка? [QUOTE] Объект это сама обработка
0 |
2954 / 1766 / 82 Регистрация: 03.11.2011 Сообщений: 8,280 |
|
13.08.2012, 08:31 |
6 |
а что, просто ОткрытьФорму(«йцукенгшщз») не проходит?
0 |
bag.dat 1 / 1 / 0 Регистрация: 30.05.2011 Сообщений: 29 |
||||
13.08.2012, 08:43 [ТС] |
7 |
|||
пробую так
выдает ошибку
0 |
2954 / 1766 / 82 Регистрация: 03.11.2011 Сообщений: 8,280 |
|
13.08.2012, 08:53 |
8 |
Пойдём длинным путём («Привези-ка мне, батюшка, аленький цветочек»). Добавлено через 1 минуту
1 |
1 / 1 / 0 Регистрация: 30.05.2011 Сообщений: 29 |
|
13.08.2012, 08:55 [ТС] |
9 |
Можно синтез: скопировать общую в обработку это как
0 |
2954 / 1766 / 82 Регистрация: 03.11.2011 Сообщений: 8,280 |
|
13.08.2012, 08:58 |
10 |
Копипастой.
0 |
1 / 1 / 0 Регистрация: 30.05.2011 Сообщений: 29 |
|
13.08.2012, 09:06 [ТС] |
11 |
Вывод: создать в конфигураторе. мне нельзя трогать конфигуратор
0 |
2954 / 1766 / 82 Регистрация: 03.11.2011 Сообщений: 8,280 |
|
13.08.2012, 09:17 |
12 |
Тогда п.2 Добавлено через 1 минуту Добавлено через 45 секунд
0 |
1 / 1 / 0 Регистрация: 30.05.2011 Сообщений: 29 |
|
13.08.2012, 09:19 [ТС] |
13 |
должен же быть П.3
0 |
2954 / 1766 / 82 Регистрация: 03.11.2011 Сообщений: 8,280 |
|
13.08.2012, 12:27 |
14 |
п.3 это п.2. Добавлено через 2 минуты
0 |
1 / 1 / 0 Регистрация: 30.05.2011 Сообщений: 29 |
|
13.08.2012, 12:40 [ТС] |
15 |
п.3 это п.2. так ведь она там и находится
Вопрос: а что Вам мешает «трогать» внешнюю обработку? конфигурацию нельзя трогать, а не обработку. Я новичок в 1С, видимо поэтому не могу понять почему так трудно понять мой вопрос Добавлено через 7 минут
мне нельзя трогать конфигуратор я имел ввиду КОНФИГУРАЦИЮ
0 |
2954 / 1766 / 82 Регистрация: 03.11.2011 Сообщений: 8,280 |
|
13.08.2012, 13:50 |
16 |
так ведь она там и находится если б находилась, тогда бы открывалась
0 |
1 / 1 / 0 Регистрация: 30.05.2011 Сообщений: 29 |
|
14.08.2012, 07:23 [ТС] |
17 |
>>>>>>
0 |
harmless 148 / 148 / 3 Регистрация: 05.05.2010 Сообщений: 569 |
||||
14.08.2012, 07:53 |
18 |
|||
1 |
bag.dat 1 / 1 / 0 Регистрация: 30.05.2011 Сообщений: 29 |
||||
14.08.2012, 08:09 [ТС] |
19 |
|||
и все равно выдает ошибку: {Форма.Форма.Форма(3)}: Ошибка при вызове метода контекста (ОткрытьФорму)
0 |
2954 / 1766 / 82 Регистрация: 03.11.2011 Сообщений: 8,280 |
|
14.08.2012, 11:03 |
20 |
Реквизиты формы? Обработка там присутствует как основной рекв?
0 |
Делаю так: В файловом режиме 1С работает, а в серверном не работает, клиент толстый. Пишет: Ошибка при вызове метода контекста (ПолучитьФорму): Неизвестное имя формы. Имя: «ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма». Как сделать чтобы в серверном работала?
Делаю так: В файловом режиме 1С работает, а в серверном не работает, клиент толстый. Пишет: Ошибка при вызове метода контекста (ПолучитьФорму): Неизвестное имя формы. Имя: «ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма». Как сделать чтобы в серверном работала?
Запустить управляемого клиента?
а она у тебя точно ТвАяОбработка?
конечно. А потом выходить ошибка которую я описать в
Да, иначе в файловом варианте бы не открылась.
а, ясно, «мы нэмэстные…»
Да, у нас на районе все пишут «МаяОбработка» Ну так что по теме? Знает кто-нибудь?
и ты хочешь сказать, что в файловом в тонком клиенте она у тебя открывается?
в ТОЛСТОМ файловом открывается.
В каком модуле располагается: Функция МаяФункция Экспорт ?
ну а форма-то какая открывается? Управляемая, или обычная?
Управляемая. Она так и называется «УправляемаяФорма»
ну, мало ли. может, у вас там принято так называть обычные формы
кинь свою обработку на ифолдер. интересно поглядеть
Ща попробую. Там релиться не надо?
а я не понял, где ты код из пишешь? в другой обработке?
ага. в модуле объекта нет клиента. там тока сервер.
и мне непонятно зафига ты так сделал вообще?
Потому что она вызывается из общего модуля общей командой для всех внешних обработок.
ты хочешь чтобы перед печатью этой внешней печатной формы вылезало окно настроек чтоли?
Как сделать чтобы было клиент? Как я понял в файловом варианте само делается, потому что там нет сервера.
в файловом варианте есть сервер. но поскольку он крутится на твоей локальной машине, то и позволяет открыть окно настроек.
Ну да. А на серверном варианте как открыть форму?
во-первых, ЭтотОбъект доступен на «Сервер, толстый клиент, внешнее соединение».
ЭтотОбъект можно вообще убрать, он не нужен. Щас там просто Объект, реквизит обработки.
К . Из внешнего модуля так вызывается:
Вообще строка Обработка.Объект = ОбъектИзБазы; роли не играет, не обращайте внимания.
ну не откроешь ты на сервере форму
во-вторых, внешняя обработка предварительно зарегистрированы в системе? в-третьих, а как это открытие обработки на сервере? Кто ее ТАМ будет наблюдать? может мы чего не поняли в твоей задуме?
У меня вот даже зарегистрировать внешнюю обработку не получается в толстом клиенте.
Не на сервере, а на клиенте в серверном варианте.
ну значит нужно прояснить только второй вопрос
Как их регистировать в системе? И для чего?
+1 для чего? после этого платформа позволит из модуля обработки открывать формы?
короче. твоя печатная форма должна быть создана по технологии внешних обработок 8.2 только тогда ты сможешь открыть ее форму.
+42 делается это в функции СведенияОВнешнейОбработке
Вот этого нужно тебе? &НаКлиенте Функция ПодключитьВнешнююОбработку(Знач стрАдрес)
Спасибо, буду разбираться
Не понял как это может помочь открыть форму внешней обработки. Это для типовой УТ? Похоже не то что нужно
что конкретно тебе непонятно? ты делаешь дополнительную печатную форму для какого то документа. правильно?
Пишет: Ошибка при вызове метода контекста (ПолучитьФорму): Неизвестное имя формы. Имя: «ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма»
Да, но в той статье написано как сделать дополнительную печатную форму, это я сделал, работает. Теперь мне надо открыть ее форму.
я тебе дал код в ищи в своей обработке «ДобавитьКоманду(ТаблицаКоманд,» и пиши туда вместо ИМЯ_ТВОЕЙ_ФОРМЫ имя формы как она у тебя обзывается в обработке
я тебе рабочий код написал и выложил.
и куда надо прикрутить этот «рабочий» код чтобы ТС мог напечатать внешнюю печатную форму?
вопрос стоял, как открыть внешнюю обработку. Про печать ничего не слышал
а в двух словах чего ему надо, если ты скачал и видел его файло.
ровно то, что я написал. ему надо сделать внешнюю печатную форму для УТ11, которая прилепляется к нужным документам штатными средствами без изменения конфы и позволяет перед печатью открывать окно с некоторыми настройками.
но судя по тому, что ТС молчит, то предположу что он не осилил как же это сделать. видимо придется ему предложить купить эту форму ))))
Этот код не работает. ДобавитьКоманду — такая процедура не определена. Вообще-то не для УТ11. Интересует как открыть форму в принципе, «с нуля»
Код не работает. Ошибка при вызове метода контекста (ПолучитьФорму): Неизвестное имя формы. Имя: «ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма»
Я его уже убрал. Смотри в
Действительно, работает. Ошибся
Почему-то в пятницу не работало. 1с перезапустил, заработало. Вот так тоже рабюотает:
рандомный генератор пишешь?
Вот так тоже теперь работает:
Что за фигня! В пятницу не работало, а сейчас работает без всяких дополнений! Всего-то платформу перезапустил
не делай как в и , делай как в .
Почему может быть такое сообщение?: {ВнешняяОбработка.МаяОбработка.МодульОбъекта(52,14)}: Процедура или функция с указанным именем не определена (ПодключитьВнешнююОбработку)
а давай я тебе по руке погадаю? Тыж меня в телепаты записал. Я думаю, что сообщение об ошибке достаточно для понимания.
твой код. Пишется ошибка. Закомментированная строка не работает. Переделал как во второй строке, ошибку не выдает:
Если предполагать, что ты используешь код из , дополнив его куском кода из , то у меня разрыв шаблона — метод Подключить имеет доступность «Сервер, внешнее соединение», хотя у тебя выставлено &НаКлиенте. Ты занимаешься мозгоимением??
&НаСервере Функция ПодключитьВнешнююОбработку(Знач стрАдрес)
Если использовать ПодключитьВнешнююОбработку вместо ВнешниеОбработки.Подключить, то выходит сообщение об ошибке: Процедура или функция с указанным именем не определена (ПодключитьВнешнююОбработку)
Еще один косяк: Если переименовать мою обработку в любое имя кроме «МаяОбработка», то выходит сообщение об ошибке: Неизвестное имя формы. Имя: «ВнешняяОбработка.блаблабла.Форма.УправляемаяФорма»
Третий косяк: Если взять другую обработку и задать ей имя «МаяОбработка», и открыть ее форму из той процедуры, то всё равно откроется форма старой обработки. Тоесть она как-то зарегистрировалась под этим именем, и не пойму когда и как она это сделала
а где это «Функция Печать Экспорт» расположено?
В модуле объекта внешней обработки
ты каким-то чудом вызываешь метод «Печать» из одной внешней обработки, а потом хочешь открыть другую внешнюю обработку «tmp.epf»?? А как ты вызываешь «Печать»?
Из общего модуля вызываю:
Я вызываю метод Печать одной внешней обработки, и хочу чтобы она сама открыла свою форму.
хз, чего там у тебя как работает, но не должен работать: &НаКлиенте и ВнешниеОбработки.Подключить не должны вместе дружить. Еще раз: в код достаточен для твоей задачи. «ОткрытьОбработку(Команда)» — это вызов по команде/кнопке на форме. Открыл форму, сделал настройки, там же нажал кнопку/команду печать.
Чтобы нажать кнопку на форме, нужно сперва открыть эту форму, а она не открывается. А вообще вызов внешней обработки и ее метода «Печать» нельзя менять. И почему работает ВнешниеОбработки.Подключить я не знаю. Могу выложить обработку чтобы посмотрели
Вот выложил: Кнопка на обработке открывает такую же обработку и вызывает «Печать». И твой код не работает. {Форма.УправляемаяФорма.Форма}: Ошибка при вызове метода контекста (Создать) Обработка = ВнешниеОбработки.Создать(ИмяФайла); по причине: {ВнешняяОбработка.МаяОбработка.МодульОбъекта(11,14)}: Процедура или функция с указанным именем не определена (ПодключитьВнешнююОбработку)
ВнешниеОбработки не доступно в тонком клиенте ПодключитьВнешнююОбработку это метод объекта. чтобы его вызвать, нужно сначала получить объект с помощью РеквизитФормыВЗначение. но сделать это можно только на сервере а вообще зачем всё это нужно?
У меня в ТОЛСТОМ клиенте Этот метод вызывается в модуле объекта, тоесть получать объект не нужно, он уже есть. Нужно просто разобраться. Почему оно не работает!
И как могут работать два метода ПоместитьФайл и ВнешниеОбработки.Подключить в одной процедуре!??! У них же разная доступность на клиенте и на сервере!
тогда, ты будешь смеяться, всё работает замени в принципе можно и ПолучитьФорму использовать и потом открывать, только при попытке передать туда ключ уникальности ругается на количество параметров, хотя параметры и там и там одинаковые
ты для какой конфы это безобразие ваяешь? для УТ11 я тебе дал все карты в руки. у меня все работает, подключается, открывает форму настроек и печатает.
если указать имя обработки «МаяОбработка», то работает. А если поменять имя и указать там новое имя, то не работает.
Для пустой конфы. Тестовой
Выяснил что нужно хотябы раз открыть форму обработки через меню файл, и выполнить команду: Тогда в следующий раз форма открывается из модуля объекта нормально. Но как сделать чтобы не нужно было открывать ее в первый раз вручную?
свойства конфигурации — Обычное приложение???
Основной режим: Управляемое приложение
да как так? открываю твою обработку в ут11 — в модуле формы уже ругань идет.
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
Делаю так: В файловом режиме 1С работает, а в серверном не работает, клиент толстый. Пишет: Ошибка при вызове метода контекста (ПолучитьФорму): Неизвестное имя формы. Имя: «ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма». Как сделать чтобы в серверном работала?
Делаю так: В файловом режиме 1С работает, а в серверном не работает, клиент толстый. Пишет: Ошибка при вызове метода контекста (ПолучитьФорму): Неизвестное имя формы. Имя: «ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма». Как сделать чтобы в серверном работала?
Запустить управляемого клиента?
а она у тебя точно ТвАяОбработка?
конечно. А потом выходить ошибка которую я описать в
Да, иначе в файловом варианте бы не открылась.
а, ясно, «мы нэмэстные…»
Да, у нас на районе все пишут «МаяОбработка» Ну так что по теме? Знает кто-нибудь?
и ты хочешь сказать, что в файловом в тонком клиенте она у тебя открывается?
в ТОЛСТОМ файловом открывается.
В каком модуле располагается: Функция МаяФункция Экспорт ?
ну а форма-то какая открывается? Управляемая, или обычная?
Управляемая. Она так и называется «УправляемаяФорма»
ну, мало ли. может, у вас там принято так называть обычные формы
кинь свою обработку на ифолдер. интересно поглядеть
Ща попробую. Там релиться не надо?
а я не понял, где ты код из пишешь? в другой обработке?
ага. в модуле объекта нет клиента. там тока сервер.
и мне непонятно зафига ты так сделал вообще?
Потому что она вызывается из общего модуля общей командой для всех внешних обработок.
ты хочешь чтобы перед печатью этой внешней печатной формы вылезало окно настроек чтоли?
Как сделать чтобы было клиент? Как я понял в файловом варианте само делается, потому что там нет сервера.
в файловом варианте есть сервер. но поскольку он крутится на твоей локальной машине, то и позволяет открыть окно настроек.
Ну да. А на серверном варианте как открыть форму?
во-первых, ЭтотОбъект доступен на «Сервер, толстый клиент, внешнее соединение».
ЭтотОбъект можно вообще убрать, он не нужен. Щас там просто Объект, реквизит обработки.
К . Из внешнего модуля так вызывается:
Вообще строка Обработка.Объект = ОбъектИзБазы; роли не играет, не обращайте внимания.
ну не откроешь ты на сервере форму
во-вторых, внешняя обработка предварительно зарегистрированы в системе? в-третьих, а как это открытие обработки на сервере? Кто ее ТАМ будет наблюдать? может мы чего не поняли в твоей задуме?
У меня вот даже зарегистрировать внешнюю обработку не получается в толстом клиенте.
Не на сервере, а на клиенте в серверном варианте.
ну значит нужно прояснить только второй вопрос
Как их регистировать в системе? И для чего?
+1 для чего? после этого платформа позволит из модуля обработки открывать формы?
короче. твоя печатная форма должна быть создана по технологии внешних обработок 8.2 только тогда ты сможешь открыть ее форму.
+42 делается это в функции СведенияОВнешнейОбработке
Вот этого нужно тебе? &НаКлиенте Функция ПодключитьВнешнююОбработку(Знач стрАдрес)
Спасибо, буду разбираться
Не понял как это может помочь открыть форму внешней обработки. Это для типовой УТ? Похоже не то что нужно
что конкретно тебе непонятно? ты делаешь дополнительную печатную форму для какого то документа. правильно?
Пишет: Ошибка при вызове метода контекста (ПолучитьФорму): Неизвестное имя формы. Имя: «ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма»
Да, но в той статье написано как сделать дополнительную печатную форму, это я сделал, работает. Теперь мне надо открыть ее форму.
я тебе дал код в ищи в своей обработке «ДобавитьКоманду(ТаблицаКоманд,» и пиши туда вместо ИМЯ_ТВОЕЙ_ФОРМЫ имя формы как она у тебя обзывается в обработке
я тебе рабочий код написал и выложил.
и куда надо прикрутить этот «рабочий» код чтобы ТС мог напечатать внешнюю печатную форму?
вопрос стоял, как открыть внешнюю обработку. Про печать ничего не слышал
а в двух словах чего ему надо, если ты скачал и видел его файло.
ровно то, что я написал. ему надо сделать внешнюю печатную форму для УТ11, которая прилепляется к нужным документам штатными средствами без изменения конфы и позволяет перед печатью открывать окно с некоторыми настройками.
но судя по тому, что ТС молчит, то предположу что он не осилил как же это сделать. видимо придется ему предложить купить эту форму ))))
Этот код не работает. ДобавитьКоманду — такая процедура не определена. Вообще-то не для УТ11. Интересует как открыть форму в принципе, «с нуля»
Код не работает. Ошибка при вызове метода контекста (ПолучитьФорму): Неизвестное имя формы. Имя: «ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма»
Я его уже убрал. Смотри в
Действительно, работает. Ошибся
Почему-то в пятницу не работало. 1с перезапустил, заработало. Вот так тоже рабюотает:
рандомный генератор пишешь?
Вот так тоже теперь работает:
Что за фигня! В пятницу не работало, а сейчас работает без всяких дополнений! Всего-то платформу перезапустил
не делай как в и , делай как в .
Почему может быть такое сообщение?: {ВнешняяОбработка.МаяОбработка.МодульОбъекта(52,14)}: Процедура или функция с указанным именем не определена (ПодключитьВнешнююОбработку)
а давай я тебе по руке погадаю? Тыж меня в телепаты записал. Я думаю, что сообщение об ошибке достаточно для понимания.
твой код. Пишется ошибка. Закомментированная строка не работает. Переделал как во второй строке, ошибку не выдает:
Если предполагать, что ты используешь код из , дополнив его куском кода из , то у меня разрыв шаблона — метод Подключить имеет доступность «Сервер, внешнее соединение», хотя у тебя выставлено &НаКлиенте. Ты занимаешься мозгоимением??
&НаСервере Функция ПодключитьВнешнююОбработку(Знач стрАдрес)
Если использовать ПодключитьВнешнююОбработку вместо ВнешниеОбработки.Подключить, то выходит сообщение об ошибке: Процедура или функция с указанным именем не определена (ПодключитьВнешнююОбработку)
Еще один косяк: Если переименовать мою обработку в любое имя кроме «МаяОбработка», то выходит сообщение об ошибке: Неизвестное имя формы. Имя: «ВнешняяОбработка.блаблабла.Форма.УправляемаяФорма»
Третий косяк: Если взять другую обработку и задать ей имя «МаяОбработка», и открыть ее форму из той процедуры, то всё равно откроется форма старой обработки. Тоесть она как-то зарегистрировалась под этим именем, и не пойму когда и как она это сделала
а где это «Функция Печать Экспорт» расположено?
В модуле объекта внешней обработки
ты каким-то чудом вызываешь метод «Печать» из одной внешней обработки, а потом хочешь открыть другую внешнюю обработку «tmp.epf»?? А как ты вызываешь «Печать»?
Из общего модуля вызываю:
Я вызываю метод Печать одной внешней обработки, и хочу чтобы она сама открыла свою форму.
хз, чего там у тебя как работает, но не должен работать: &НаКлиенте и ВнешниеОбработки.Подключить не должны вместе дружить. Еще раз: в код достаточен для твоей задачи. «ОткрытьОбработку(Команда)» — это вызов по команде/кнопке на форме. Открыл форму, сделал настройки, там же нажал кнопку/команду печать.
Чтобы нажать кнопку на форме, нужно сперва открыть эту форму, а она не открывается. А вообще вызов внешней обработки и ее метода «Печать» нельзя менять. И почему работает ВнешниеОбработки.Подключить я не знаю. Могу выложить обработку чтобы посмотрели
Вот выложил: Кнопка на обработке открывает такую же обработку и вызывает «Печать». И твой код не работает. {Форма.УправляемаяФорма.Форма}: Ошибка при вызове метода контекста (Создать) Обработка = ВнешниеОбработки.Создать(ИмяФайла); по причине: {ВнешняяОбработка.МаяОбработка.МодульОбъекта(11,14)}: Процедура или функция с указанным именем не определена (ПодключитьВнешнююОбработку)
ВнешниеОбработки не доступно в тонком клиенте ПодключитьВнешнююОбработку это метод объекта. чтобы его вызвать, нужно сначала получить объект с помощью РеквизитФормыВЗначение. но сделать это можно только на сервере а вообще зачем всё это нужно?
У меня в ТОЛСТОМ клиенте Этот метод вызывается в модуле объекта, тоесть получать объект не нужно, он уже есть. Нужно просто разобраться. Почему оно не работает!
И как могут работать два метода ПоместитьФайл и ВнешниеОбработки.Подключить в одной процедуре!??! У них же разная доступность на клиенте и на сервере!
тогда, ты будешь смеяться, всё работает замени в принципе можно и ПолучитьФорму использовать и потом открывать, только при попытке передать туда ключ уникальности ругается на количество параметров, хотя параметры и там и там одинаковые
ты для какой конфы это безобразие ваяешь? для УТ11 я тебе дал все карты в руки. у меня все работает, подключается, открывает форму настроек и печатает.
если указать имя обработки «МаяОбработка», то работает. А если поменять имя и указать там новое имя, то не работает.
Для пустой конфы. Тестовой
Выяснил что нужно хотябы раз открыть форму обработки через меню файл, и выполнить команду: Тогда в следующий раз форма открывается из модуля объекта нормально. Но как сделать чтобы не нужно было открывать ее в первый раз вручную?
свойства конфигурации — Обычное приложение???
Основной режим: Управляемое приложение
да как так? открываю твою обработку в ут11 — в модуле формы уже ругань идет.
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
Обработки
Kamil |
|
||
---|---|---|---|
Как открыть управляемую форму внешней обработки в толстом клиенте???
Изменено 19.08.13 15:35:17 |
Yandex |
|
||
---|---|---|---|
E_Migachev |
|
||
---|---|---|---|
(0) Kamil, вставить ее в конфигурации и в свойствах конфигурации включить возможность использования форм УП |
Kamil |
|
||
---|---|---|---|
Все сделал… но ошибка выходит при открытии при начале работы «{МодульУправляемогоПриложения(74)}: Ошибка при вызове метода контекста (ПолучитьФорму) |
E_Migachev |
|
||
---|---|---|---|
(2) Kamil, в каком режиме открываешь? в настройках конфы установлено использование УФ? |
Kamil |
|
||
---|---|---|---|
Да установлено…. Открываю в управ. режиме |
Подсказка: Для быстрого перемещения к последнему ответу или к вопросу используйте или . |