Имя: Пароль:
1C
1С v8
Как сделать одно COM-соединение доступным глобально во всех серверных модулях?
0 Chai Nic
 
18.03.13
14:50
Требуется открыть подключение по COM к другой информационной базе, и чтобы оно сохранялось на всё время сеанса работы пользователя, и было доступно во всех модулях, исполняемых сервером. Обращение к этой базе будет периодическим. Инициализировать в общем модуле каждый раз COM-соединение, подключаясь к базе заново - слишком долго. В параметрах сеанса не нашел возможности хранить значение типа COMObject.

А глобальных переменных, доступных из общих модулей, система создать не дает.

Какие будут идеи?
1 ДенисЧ
 
18.03.13
14:51
Временное хранилищие и параметр сеанса.
Только проверяй периодически на живость
2 H A D G E H O G s
 
18.03.13
14:52
ВременноеХранилище, Адрес - в параметрахСеанса, хранится 20 минут, потом - аля, улю.

ПовторноВозвращаемые параметры ОбщегоМодуля, но не пробовал.
3 Волшебник
 
18.03.13
14:53
1. Заведи глобальную переменную в модуле приложения.
2. В общем модулем заведи экспортную функцию ПолучитьCOMСоединение()
3. Функция создаёт ОбработкаОбъект, в которой получает COM-соединение из модуля приложения
4 Defender aka LINN
 
18.03.13
14:54
(3) Стареешь...
Модуль приложения - клиентский :)
5 Chai Nic
 
18.03.13
15:12
(2) Через повторно возвращаемые работает, спасибо

Еще связанный вопрос - как обновить видимые данные управляемой формы, если они были изменены на сервере? Скажем, если произошло добавление элементов в справочник, как сделать, чтобы они появились в форме списка без закрытия и открытия формы?
6 johnbay
 
18.03.13
15:15
(5) F5
7 Chai Nic
 
18.03.13
15:20
(6) А программно?
8 johnbay
 
18.03.13
15:39
ЭтаФорма.Обновить()