Регистрация объекта к выгрузке при загрузке

1. ZergKRSK 129 07.02.22 08:09 Сейчас в теме
Всем привет!

задача.
в базе 1 создается документ со статусом 1.
выгружается в базу 2.
при загрузке в базу 2 - статус документа устанавливается равным 2.
необходимо что бы в базе 2 документ зарегистрировался к выгрузке в базу 1 если статус равен 2.

По сути у меня пара строк кода:
УзелОбменаСсылка = ПланыОБмена.ОбменВзаиморасчетами.НайтиПоКоду("PK");
ПланыОбмена.ЗарегистрироватьИзменения(УзелОбменаСсылка, СсылкаНаМойДок);

Ошибок не выдаёт, но и не регистрирует док.

Здесь - https://forum.mista.ru/topic.php?id=839195 как решение указано следующее - "Узел-отправитель очищай".
Сломал голову но не понимаю как это сделать.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ZergKRSK 129 07.02.22 11:14 Сейчас в теме
3. coollerinc 188 07.02.22 11:53 Сейчас в теме
При записи у объекта есть свойство ОбменДанными. Так его нужно установить в неопределено

ОбменДанными.Отправитель= Неопределено;

Вообще зачем вы просите помощи и напрягаете местных пользователей, что бы они переходили по другим ссылкам. Напишите конкретно, что вам нужно
4. ZergKRSK 129 07.02.22 12:27 Сейчас в теме
(3)
ОбменДанными.Отправитель= Неопределено;

не помогло.
Описал задачу более конкретно. По другой ссылку типа как решение, только я его не понимаю.
5. coollerinc 188 07.02.22 12:35 Сейчас в теме
(4) Вы это "ПланыОбмена.ЗарегистрироватьИзменения(УзелОбменаСсылка, СсылкаНаМойДок);" где пишете?
6. coollerinc 188 07.02.22 12:48 Сейчас в теме
Для установки регистрации можно использовать два варианта, либо

ПланыОбмена.ЗарегистрироватьИзменения(УзелОбменаСсылка, СсылкаНаМойДок);


Либо у объекта при записи заполнить свойство "Получатели" параметров обмена данными.

УзелОбменаСсылка = ПланыОБмена.ОбменВзаиморасчетами.НайтиПоКоду("PK");
МассивПолучателей = Новый Массив;
МассивПолучателей .Добавить(УзелОбменаСсылка);

ОбменДанными.Получатели = МассивПолучателей;
7. ZergKRSK 129 07.02.22 12:58 Сейчас в теме
(6)
УзелОбменаСсылка = ПланыОБмена.ОбменВзаиморасчетами.НайтиПоКоду("PK");
МассивПолучателей = Новый Массив;
МассивПолучателей .Добавить(УзелОбменаСсылка);

ОбменДанными.Получатели = МассивПолучателей;


Попробую этот вариант, обновил правила обмена, буду тестировать. Обязательно отпишусь по результатам.
8. ZergKRSK 129 08.02.22 03:33 Сейчас в теме
(6) обмен упал с ошибкой, ругается на строку ОбменДанными.Получатели = МассивПолучателей;
Поле объекта недоступно для записи (Получатели)
9. coollerinc 188 08.02.22 09:57 Сейчас в теме
(8) Я немного ошибся с кодом. Вы бы тоже глянули бы в синтаксис помощник, получилось бы все сразу у вас. Я то по памяти тут пишу, могу уже ошибаться. Мне главное направление указать.

УзелОбменаСсылка = ПланыОБмена.ОбменВзаиморасчетами.НайтиПоКоду("PK");
ОбменДанными.Получатели.Добавить(УзелОбменаСсылка);
10. ZergKRSK 129 09.02.22 03:35 Сейчас в теме
(9) да так тоже пробовал - ошибку не выдает но документ к выгрузке на узле не регистрируется.
11. FetisovAN 09.02.22 08:46 Сейчас в теме
(10) А почему вы это пытаетесь при загрузке сделать в правилах обмена ?
По идеи в базе 2, у вас должна быть подписка на событие при записи документа, и если у него статус 2, то вы его регистрируете на выгрузку в базу 1.

(ещё есть вариант в правилах обмена записывать дополнительный параметр, а в модуле при записи документа проверять, если параметр заполнен тогда выполняется дополнительное действие какое либо)
12. ZergKRSK 129 09.02.22 09:23 Сейчас в теме
(11)
А почему вы это пытаетесь при загрузке сделать в правилах обмена ?

А почему бы и нет? Я получаю объект при загрузке, в обработчике ПослеЗагрузки обрабатываю его и хочу сразу же отправить обратно. Не вижу ничего сверхъестественного в таком желании.
13. FetisovAN 09.02.22 10:45 Сейчас в теме
(12) ну если у вас обмен двусторонний я бы так не делал. Но, хозяин - барин.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот