Имя: Пароль:
1C
1С v8
Глобальная переменная в расширении
0 541
 
25.01.18
09:51
Всем привет!

Есть коробочная розница 2.2 на поддержке (целиком под замком). Снимать с замка, конечно же, не хочется.

Разрабатываю дополнительные механизмы, стоит необходимость использовать глобальную переменную (ну или параметр сеанса, в данном случае без разницы). Сделать это только через расширение не получается: параметр сеанса в расширении не добавляется, а глобальная переменная, определенная в модуле управляемого приложения, не видна в других модулях, как будто она и не глобальная вовсе.

8.3.11

Что посоветуете?

p.s. глобальная переменная нужна для того, чтобы хранить в ней com-подключение к соседней базе. Идея такая: пусть висит открытое у каждого пользователя, т.к. это подключение будет часто использоваться и каждый раз при этом поднимать его заново не является рациональным (оно долго подключается, каждый раз долго ждать придется).
1 arsik
 
гуру
25.01.18
09:54
(0) Файловая?
2 541
 
25.01.18
09:56
(1) нет
3 PiterPrg
 
25.01.18
09:59
COM объект можно успешно сохранять во временном хранилище , но "привязанном" к какой-то открытой форме.

ПоместитьВоВременноеХранилище(СтруктураСCOMОбъектом, ЭтаФорма.УникальныйИдентификатор);

Пока открыта форма - можно успешно получать объект
4 Fish
 
25.01.18
10:00
(0) "глобальная переменная нужна для того, чтобы хранить в ней com-подключение к соседней базе. " - Не взлетит. Используй вместо КОМ внешние источники данных.
5 arsik
 
гуру
25.01.18
10:01
(0) Как вариант использовать уже существующий параметр сеанса с типом "ФиксированнаяСтруктура" или "ФиксированноеСоответствие"
6 arsik
 
гуру
25.01.18
10:07
Но по уму на сделать как в типовых.
Через глобальный модуль повторного использования. Через него ком соединение держится открытым.
7 SanGvin
 
25.01.18
10:14
Я бы делал на вебсервисах
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший