Добрый день. Есть уже реализованная задача, работающая в обычном приложении (конфигурация Бухгалтерия для Казахстана релиз старый не обновляется). Сейчас предстоит перевод конфигурации на версию 3.0 с сохранением доработок и возможностью обновления. Так вот, реализован обмен с другой базой посредством com соединения. В модуле обычного приложения объявления экспортная глобальная переменная. В модуле формы списка документа данная переменная инициализируется и создается соединение. Далее обмен данными происходит в событии ПриЗаписи (подписка на событие) и еще кое что выполняется в ОбработкеПроведения(подписка на событие).

На 3.0 пробовала использовать ПараметрСеанса-не получается. Использую тот же модуль управляемого приложения(доступность только на клиенте я так понимаю...). Далее то же самое использую подключение на клиенте в модуле формы списка. подключение прошло успешно. Проблема с реализацией подписок на события. Они происходят на сервере, видимо. и не получается получить com объект. есть вариант использовать модуль с повторно возвращаемыми значениями - но получиться ли с com не знаю пока... подскажите как правильней реализовать задачу? И правильно ли изменять модуль упр. приложения с точки зрения обновления?
---
Если на сервере, вообще не вижу смысла хранить соединение, оно может отвалится на другой стороне, хранение соединений активных, актуально для компонент (ВК), а подключение к другой базе лучше каждый раз инициировать... а если это слишком часто, то вообще лучше переписать на веб-сервисы ))
---
Вот посмотрите, то что вам надо, недавно обсуждалось https://forum.infostart.ru/forum9/topic192617/
(1)
---
com соединение должно сохраняться на весь сеанс работы пользователя.
---
Модуль с повторным использованием должен спасти смертельно раненого кота. только имейте ввиду - все операции должны идти на сервере.
---
Правильно будет убрать СОМ и сделать обмен, к примеру через КД.
---
Суть в том что обмен необходимо производить не раз в день например. А постоянно, данные документы влияют на работу в другой базе.
---
Я так понимаю повторно инициировать сом при передачи не предлагать? Не пробовали вариант
&НаСервере
Перем СОМСоединение Экспорт; в том же упр. модуле?

По поводу обмена возможно ведь настроить под необходимое время(к примеру каждые 5 мин).
---
если повторно инициировать ПриЗаписи и в ОбработкеПроведения не вариант точно.
---
Так же как вариант можно использовать веб сервисы, поднять на обной и на второй базе. Из одной конектиться к другой и передавать необходимые документы.(вариант из практики).
---
Если инициировать на сервере при открытии формы списка еще может прокатить.
---
По поводу веб сервисов. С ними не работала но стоит попробывать. А по поводу конвертации данных, как можно сделать? Программно запуск обработки и выполнение обмена без участия пользователя?
---
На худой конец регламентным заданием обходить либо "подставного пользователя" под которым все будет запускаться (плохой вариант). Насчет вед сервисов подумайте, довольно удобная штуку, на нашей фирме все проверки легальности и доступа через низ завязаны,а доработка по коду минимальная(это если обновляться потом без проблем).
---
вторая база тоже работает пока на старой версии в режиме совместимости 8.2. Веб сервисы так будут работать или тоже нужно переводить на управляемый интерфейс?
---
Для них не важен интерфейс,если он там будет необходим то можете подвязать любой, а вот если платформа 8,2 то могут быть проблемы, к сожалению не подскажу тут с 8.2 давно не работал, тем более не поднимал на такой платформе веб. Но коллега сказал что вроде как настраивал и работает на 8,2
---
Может стоит сделать некую главную форму-рабочий стол, которую нельзя закрывать и в ней инициализировать сом-объект. Потом оповещать эту форму о событиях в другой форме.
---
я тоже за веб сервисы. Интересно, современно и не требуют расположения баз в одной сети.
---
В УФ в глобальную переменную можете сохранять имя адреса временного хранилища, в котором будет храниться ком-соединение.
Тут пример давали: http://forum.infostart.ru/forum9/topic187762/message1961514/#message1961514
---
на 8.3 вроде как не получается com во временное хр. передать
---
я вам дал ссылку, посмотрите в начало ветки....
---
не будет это работать!
---
Непосредственно само ком-соединение в хранилище не сохранить, но если его поместить в любой сериализуемый объект (структура или массив, например), то оно сохраняется. Код модуля формы из прикрепленной обработки:

```1c
    &НаКлиенте
    Перем АдресХранилища;

    &НаКлиенте
    Процедура Подключить(Команда)
    Соединитель = Новый COMОбъект("V83.COMConnector");
    СоздатьСоединение(СтрокаПодключения + ?(Прав(СтрокаПодключения, 1) = ";", ", ";")
    + "Usr="" + Пользователь + "";Pwd="" + Пароль + "";", АдресХранилища);
    КонецПроцедуры

    &НаСервереБезКонтекста
    Процедура СоздатьСоединение(СтрокаПодключения, АдресХранилища)
    Соединитель = Новый COMОбъект("V83.COMConnector");
    Соединение = Соединитель.Connect(СтрокаПодключения);
    Массив = Новый Массив;
    Массив.Добавить(Соединение);
    АдресХранилища = ПоместитьВоВременноеХранилище(Массив, Новый УникальныйИдентификатор);
    КонецПроцедуры

    &НаСервереБезКонтекста
    Функция ПроверкаСуществованияСоединения(АдресХранилища)
    Соединение = ПолучитьИзВременногоХранилища(АдресХранилища)[0];
    Возврат Соединение.СтрокаСоединенияИнформационнойБазы()
    КонецФункции

    &НаКлиенте
    Процедура Проверка(Команда)
    Сообщить(ПроверкаСуществованияСоединения(АдресХранилища))
    КонецПроцедуры
```
---
Если на сервере, вообще не вижу смысла хранить соединение, оно может отвалится на другой стороне, хранение соединений активных, актуально для компонент (ВК), а подключение к другой базе лучше каждый раз инициировать... а если это слишком часто, то вообще лучше переписать на веб-сервисы ))
---
спасибо, всем за советы.