Имя: Пароль:
1C
 
Внешняя обработка: Использование модуля объекта
0 ddiimmaann
 
28.10.09
13:01
У внешней обработки есть модуль обекта. Объявленные мною там переменные и функции недоступны из модуля формы (основной) указанной обработки.

Модуль объекта "Обработка":

// Пробовал без модификатора и с модификатоами &НаСервере и &НаКлиенте
Перем НашаБаза Экспорт;

//теже варианты с модификаторами
Процедура МояПроцедура() Экспорт
   ...
КонецПроцедуры

В модуле основной формы внешней обработки ни процедура, ни переменная - недоступны (неопределены)

В чем моя проблема?
1 ТелепатБот
 
гуру
28.10.09
13:01
2 hhhh
 
28.10.09
13:07
(0) свойство Данные у формы копай.
3 TitanLuchs
 
28.10.09
13:11
(0) Не прокатит такой вариант, управляемая форма не видит переменных модуля. Для вызова процедур и передачи параметров можно использовать команды и реквизиты формы и объекта.
4 ddiimmaann
 
28.10.09
14:00
Дело в том, что я делаю экспорт/импорт данных с одной конфигурации (ЗИК) в другую (Мою собственную).
Сложность состоит в том, что импорт проходит в несколько этапов, после каждого из которых управление должно передаваться (возвращаться) клиенту. При этом глобальные переменные модуля формы действуют только в рамках одного обращения. Следовательно, у меня не получается сохранить глобальные переменные между передачей управления с клиента на сервер и обратно.

Другими словами, представим, что на
1-м этапе мы подключаемся к ИБ и получаем некоторые данные
2-м анализируем полученные данные и предлагаем пользователю несколько вариантов импорта
3-м выполняем выбранную процедуру импорта

при выполнении третьего этапа, соединение с ИБ - утеряно, так как переменная ИсточникДанных (имеющая тип COMОбъект) - имеет значение "Неопределено".

Где/Как можно описать переменную/реквизит/параметр - который бы сохранял свое значение все время работы обработки?

Использовать реквизит формы - не получается, так как в него записать тип COMОбъект.
5 tsr
 
28.10.09
14:14
(4) Можно хранилище заюзать
6 ddiimmaann
 
28.10.09
14:45
Хранилище настроек имеется в виду?
Но ведь оно в информационной базе хранится... а я делаю внешнюю обработку, и не хочу привязывать ее к базе, тем более, что причина не выглядит обязывающей это сделать.
7 TitanLuchs
 
28.10.09
16:27
(6) Временное хранилище
8 Serg_1960
 
28.10.09
17:03
Что мешает по окончании первого этапа отключиться, а в начале третьего этапа -  подключиться вновь к базе? Ведь может быть и так: юзверь откажется от импорта на втором этапе и третьего этапа не будет.
9 ddiimmaann
 
29.10.09
09:48
Да в общем-то не мешает ничего. Разве что сам процесс подключения длится несколько секунд...

Ну и в случае положительного решения это задачи можно будет оповещать пользователя о ходе подэтапов импорта, сообщая что импорт данных из того или иного объекта завершен успешно (особенно актуально для больших справочников)

Можно, конечно и вообще ничего не спрашивать у пользователя и нажав кнопку последний будет просто ждать несколько минут, пока форма "отвиснет" :)
10 ddiimmaann
 
29.10.09
11:57
Спасибо огромное!
Разобрался с временным хранилищем. Все работает как надо!