Как сохранить открытый во внешней обработке СОМ объект, пока открыта форма обработки?
Во внешней обработке,запускаемой в тонком клиенте создается COM объект - подключение к внешней базе:
БазаОле = Новый COMОбъект("V82.Application");
Где и каким образом можно сохранить ссылку БазаОле (и само подключение) на время интерактивной работы
пользователя? В качестве Реквизита обработка не принимает Com-объект, в серверной переменной формы- тоже не получилось.
Выхода нет?
БазаОле = Новый COMОбъект("V82.Application");
Где и каким образом можно сохранить ссылку БазаОле (и само подключение) на время интерактивной работы
пользователя? В качестве Реквизита обработка не принимает Com-объект, в серверной переменной формы- тоже не получилось.
Выхода нет?
По теме из базы знаний
- Ввод норм расходов для продукции
- Универсальная загрузка данных формата Excel
- Функции "слоупока": как заставить открываться "Все функции" в 97 раз быстрее!
- Запуск фонового задания с прогрессом во внешней обработке независимо от места вызова на Библиотеке стандартных подсистем
- Обычное приложение. Обращение к функциям и процедурам в модуле внешней обработки
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Если я правильно понял, то на подобии у меня было с Excel.
В начале работы с файлом я получал COM и помещал его во временное хранилище. В строковой переменной АдресСомОбъекта хранился адрес. УникальныйИдентификатор во время помещения говорил платформе про "живучесть" данного значения в хранилище (почитаете в справке)
Потом после телодвижений пользователя интерактивных на клиенте и при продолжении импорта данных было следующее (упрощенно):
В начале работы с файлом я получал COM и помещал его во временное хранилище. В строковой переменной АдресСомОбъекта хранился адрес. УникальныйИдентификатор во время помещения говорил платформе про "живучесть" данного значения в хранилище (почитаете в справке)
&НаСервере
Процедура ИнициализацияКомДокумента(ВременныйФайл)
Док = ПолучитьCOMОбъект(ВременныйФайл);
АдресСомОбъекта = ПоместитьВоВременноеХранилище(Док, Новый УникальныйИдентификатор);
КонецПроцедуры
Потом после телодвижений пользователя интерактивных на клиенте и при продолжении импорта данных было следующее (упрощенно):
&НаСервере
Функция ПолучитьСписокНоменклатур()
СписокНоменклатур = Новый СписокЗначений;
Док = ПолучитьИзВременногоХранилища(АдресСомОбъекта);
НаименованиеТовара = Док.Sheets(1).Cells(1,1).Value;
СписокНоменклатур.Добавить(НаименованиеТовара);
Возврат СписокНоменклатур;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот