Имя: Пароль:
1C
1С v8
Хранение COMОбъект`а. Возможно ли?
, ,
0 pessok
 
19.01.15
15:08
Коллеги, привет!
Назрела тут нетленка (8.3.5.1231), есть необходимость подключаться к базам и само соединение на время сеанса пользователя хранить (а-ля как в консолидации)

Нетленка эта работает на УФ.

Собственно вопрос: вообще возможно как-то хранить COMОбъект соединения?

В консолидации на ОФ вопрос решен через "глобальную" переменную, которая инициализируется ПриНачалеРаботыСистемы в модуле обычного приложения. Соответственно для УФ такое решение не взлетит.

Пробовал сделать параметр сеанса с типом ХЗ, помещать туда таблицу значений с соединениями, тут затык, соответственно, в том, что COMОбъект не сериализуется, соответственно в ХЗ не лезет. Ну и сам вопрос - вообще кто-то уже пробовал такие задачки решать?
1 Адинэснег
 
19.01.15
15:10
Тип ХЗ... а ведь и вправду ХЗ, никогда незадумывался...
2 ДенисЧ
 
19.01.15
15:10
Модуль с повторным использованием на время сеанса, проверка живости объекта и переинициализация.
3 pessok
 
19.01.15
15:11
(2) а должно взлететь, хм. Спасибо!
4 DrZombi
 
гуру
19.01.15
15:29
(3)  у меня не получилось. :(
Сдается мне, что не каждый Ком может храниться.
5 pessok
 
19.01.15
15:31
(4) я пока только продумываю, как лучше сделать. А в чем именно был затык? Насколько я помню, сеансы просто рвутся принудительно через 20 минут
6 ДенисЧ
 
19.01.15
15:35
(5) это в ОФ. В УФ - около 2х минут.
7 pessok
 
19.01.15
15:41
(6) оу, тогда это вообще не имеет смысла, имхо
8 Провинциальный 1сник
 
19.01.15
15:41
(6) В 8.2 на УФ тоже было 20 минут. В 8.3 похоже вообще ушли от принципа "кэширование по времени", там кэш повтороного возвращения сбрасывается по какой-то неведомой эвристике..
9 ДенисЧ
 
19.01.15
15:42
(8) А, ну да. Это я попутал. в 8,3 сократилось время.
10 pessok
 
19.01.15
16:04
ну я так понимаю, что по сути, задача стала бессмысленной?
11 Garykom
 
гуру
19.01.15
16:08
(0) а нафуя?
12 pessok
 
19.01.15
16:10
(11) там возможны достаточно частые обращения к другим базам из разных мест, чтобы каждый раз не коннектиться. Но в связи с (6), (8), (9) - не взлетит, видать
13 Психотерапевта Вызыва
 
19.01.15
16:11
(0) замути очередь заданий и обрабатывай их в регламентном задании
14 pessok
 
19.01.15
16:13
(13) не вкурил. это каким образом?
15 Garykom
 
гуру
19.01.15
16:14
(12) время com коннекта минимально, в отличие от ole

делай общую обработку на сервере через очередь с подсоединением периодическим
16 Психотерапевта Вызыва
 
19.01.15
16:16
(14) регламентное задание держит комсоединение считывает необработанные задания из РС выполняет результат помещает в РС результатов и помечает задание как выполненное - что-тут непонятного?
17 pessok
 
19.01.15
16:19
(16) тут интерактивная работа с базой нужна, не очень взлетит. (15) лучше подойдет. Постоянно в фоне мониторить состояние соединения, если оно разорвано - коннектиться заново
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан