|
ПолучитьФорму() внешней обработки в управляемом толстом клиенте | ☑ | ||
---|---|---|---|---|
0
TormozIT
гуру
17.03.13
✎
15:44
|
Оригинальная тема http://partners.v8.1c.ru/forum/thread.jsp?id=1128514#1128514
Попробовал получить неосновную управляемую форму из внешней обработки методами ВнешняяОбработкаОбъект.ПолучитьФорму и ВнешниеОбработки.ПолучитьФорму. Ничего не вышло - вернулось Неопределено. Если же попробовать получить основную управляемую форму внешней обработки методом ВнешниеОбработки.ПолучитьФорму, то приложение выполняет недопустимую операцию (проверено на 8.2.16-8.2.18). Прилагаю обновленный демонстрационный пример в виде выгрузки базы http://rghost.ru/44566872. Он крайне лаконичный - все происходит при начале работы толстого управляемого клиента. Выполняется код ИмяФАйла = ПолучитьИмяВременногоФайла(); ПолучитьОбщийМакет("Макет").Записать(ИмяФайла); ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФАйла); ФормаУправляемая = ВнешняяОбработка.ПолучитьФорму("ФормаУправляемая"); Сообщить(ТипЗнч(ФормаУправляемая)); Попытка ФормаУправляемая = ВнешниеОбработки.ПолучитьФорму(ВнешняяОбработка.ИспользуемоеИмяФайла, "ФормаУправляемая"); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Предупреждение(1); ФормаУправляемая = ВнешниеОбработки.ПолучитьФорму(ВнешняяОбработка.ИспользуемоеИмяФайла); Сначала в окно сообщений выводится Не определено {ОбщийМодуль.ОбщийМодуль1.Модуль(17)}: Ошибка при вызове метода контекста (ПолучитьФорму): Недопустимое значение параметра (параметр номер '2') Затем нажав на ОК в окне предупрежедения. Приложение выполняет недопустимую операцию с описанием Problem signature: Problem Event Name: APPCRASH Application Name: 1CV8.exe Application Version: 8.2.16.352 Application Timestamp: 4ffcb73d Fault Module Name: basic.dll Fault Module Version: 8.2.16.352 Fault Module Timestamp: 4ffcaf4b Exception Code: c0000005 Exception Offset: 0022d6b8 OS Version: 6.1.7601.2.1.0.256.1 Locale ID: 1049 Additional Information 1: 0a9e Additional Information 2: 0a9e372d3b4ad19135b953a78882e789 Additional Information 3: 0a9e Additional Information 4: 0a9e372d3b4ad19135b953a78882e789 Уже год не могу понять, как же программно получить управляемую форму из внешней обработки. Теперь стало понятно, что фактически сейчас это невозможно. Однако интерактивно это возможно, т.е. через меню Файл пользователь может открыть файл внешней обработки с управляемой формой, и эта форма откроется. Следовательно, технических ограничений нет, но есть либо очень странное проектное решение, либо неполная реализация проектного решения. Если вам известен какой либо другой способ получить программно управляемую форму из внешней обработки, особенно неосновную, очень прошу сообщить мне. Долгая переписка с [email protected] так и не принесла решения проблемы. Они твердят, что ошибки нет (исключая недопустимую операцию). |
|||
1
sanja26
17.03.13
✎
16:21
|
на инфосиарте у поручика выложено решение. через имя формы
|
|||
2
TormozIT
гуру
17.03.13
✎
16:43
|
(1) Может подскажешь еще где оно там выложено, ведь инфостарт большой.
|
|||
3
TormozIT
гуру
17.03.13
✎
16:49
|
(1) Нашел http://infostart.ru/public/145381/
|
|||
4
TormozIT
гуру
17.03.13
✎
17:01
|
Как я понимаю способ через полное имя формы несколько кривой, т.к. может быть открыто много разных внешних обработок с одинаковым именем. У какой из них будет получаться форма думаю никто не скажет.
|
|||
5
GANR
17.03.13
✎
17:45
|
(4) кроме полного имени, у форм есть ещё и идентификатор
|
|||
6
GANR
17.03.13
✎
17:47
|
ЭтаФорма.УникальныйИдентификатор(), подробнее - справка
|
|||
7
GANR
17.03.13
✎
17:47
|
Даже так ЭтаФорма.УникальныйИдентификатор - это не метод, а свойство
|
|||
8
acsent
17.03.13
✎
18:01
|
а через ПолучитьФорму(ВнешниеОбработки.ИмяОбработки.ИмяФормы)
|
|||
9
sanja26
17.03.13
✎
20:25
|
(8) управляемые формы тебе еще не встречались...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |