Имя: Пароль:
1C
1С v8
Подключение к УТ 10.3 из БП 3.0 по COM и создание документов: ошибка в подписке
0 HEKPOH
 
12.03.16
13:44
Доброго времени суток!

Из БП 3.0 (управляемые формы):
1. коннектимся по COM к УТ 10.3 (обычные формы).
2. передаем параметры и запускаем обработку из справочника внешних обработок УТ.
3. обработка создает в УТ документы 1 типа и пытается их записать
4. срабатывает подписка на событие ПриЗаписи (подписка на ВСЕ документы), и, как результат, "Попытка передачи с клиента на сервер мутабельного значения 1-го параметра"

Понятно, что первый параметр - это Объект (составного типа), а подписка, работающая на клиенте, не хочет принимать Объект с сервера.

Модель взаимодействия баз и создания документов менять нельзя.
Выкидывать из подписки этот один тип документов нельзя (дабы потом для новых типов документов не ставить отдельно галки)

Подскажите, как избавиться от ошибки?
1 Asmody
 
12.03.16
13:48
(0) Отказаться от COM
2 HEKPOH
 
12.03.16
13:52
(1) кардинально)
Можно еще запускать обработку из УТ, получать параметры в БП и создавать документы. Тогда все красиво будет. Но запускать процесс нужно именно на стороне БП (по условию задачи).

Кстати, точно такая же связка имеется: ЗУП 2.5 - БП 3.0. Все работает, потому как нет никаких подписок
3 Asmody
 
12.03.16
13:52
Мы решили похожую задачу через использование очереди. Несколько БП пишут сообщения в очередь (мы используем msmq), а УТ регламентом их читает и создает доки.
4 HEKPOH
 
12.03.16
13:54
(3) подумаю в эту сторону. спасибо
5 HEKPOH
 
13.03.16
08:21
И все-таки, есть ли решение с условиями, описанными в (0)?
6 hhhh
 
13.03.16
08:29
(5) делать com на сервере, а не на клиенте.
7 HEKPOH
 
13.03.16
09:08
(6) не совсем понял. COM-соединение в БП создается на сервере, а на стороне УТ при переходе в подписку код оказывается на клиенте. Это я так понимаю...
Или я что-то не так понимаю? Чего-то не знаю?
8 HEKPOH
 
13.03.16
09:13
+(7) думаю, что как только код начал выполняться на стороне УТ, это уже клиентский контекст
9 hhhh
 
13.03.16
09:33
(8) но это ваша подписка? или типовая?
10 HEKPOH
 
13.03.16
09:37
(9) наша
11 hhhh
 
13.03.16
09:55
(10) ну тогда ищите косяки в вашей подписке. Типовые подписки работают ведь. А в них тоже передается объект. Проверьте расстановку галочек у вашего общего модуля.
12 HEKPOH
 
13.03.16
10:21
(11) вчера с галочками баловался - ничего не получалось.
Сегодня на свежую голову попробовал. Заработало!!!
Спасибо!!!
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан