Зарегистрировать документ к обмену программно
Здравствуйте
Документ приходит, при загрузке заполняется в процедуре ОбработкаПроверкиЗаполнения
и хочу его отправить обратно без участия человека.
Узел находит, но в зарегистрированных к отправке документа нет.
Документ приходит, при загрузке заполняется в процедуре ОбработкаПроверкиЗаполнения
и хочу его отправить обратно без участия человека.
Узел = ПланыОбмена.ОбменУправлениеНебольшойФирмойБухгалтерия30.НайтиПоКоду("80");
ПланыОбмена.ЗарегистрироватьИзменения(Узел, ЭтотОбъект.Ссылка);
Узел находит, но в зарегистрированных к отправке документа нет.
По теме из базы знаний
- Регистрация документов в последовательностях при работе с обменом данными
- Видеокурс-самоучитель "1С:Документооборот 2.1 и 3.0" для самостоятельного внедрения
- Обсудим планы обмена. Способы регистрации объектов к обмену
- Гарантированное проведение документов (подключаемое расширение)
- Система управления интеграциями на базе 1С:Шины
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Открывай Общий модуль ОбменДаннымиСобытия. Там есть процедуры в которых определяются массивы узлов в которых регистрируются измененные объекты: имена процедур начинаются с "ОпределитьМассивУзлов.... " (их там то ли 4 то ли 5)
Ставь там точку останова (в каждой процедуре, в какой-то обязательно будет определяться массив узлов для нужного дока), смотри КАК регистрируется нужный док, справочник, любой объект и регистрируется ли (если в массиве узлов нет нужного узла - нет регистрации) Ну и решай как зарегистрировать.
Ставь там точку останова (в каждой процедуре, в какой-то обязательно будет определяться массив узлов для нужного дока), смотри КАК регистрируется нужный док, справочник, любой объект и регистрируется ли (если в массиве узлов нет нужного узла - нет регистрации) Ну и решай как зарегистрировать.
Записывать ничего не надо !
Вот мой рабочий код: ПланыОбмена.ЗарегистрироватьИзменения(Объект.УзелОбмена.Ссылка,ОбрабатываемыйОбъект);
Обрабатываемый объект должен быть типом Объект
Узел обмена - узел другой базы
В план обмена объект такого типа должен быть включен, авторегистрация не обязательна
Но вполне возможно у вас есть где то где то отмена регистрации:
ОбрабатываемыйОбъект.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов",Истина);
Вот мой рабочий код: ПланыОбмена.ЗарегистрироватьИзменения(Объект.УзелОбмена.Ссылка,ОбрабатываемыйОбъект);
Обрабатываемый объект должен быть типом Объект
Узел обмена - узел другой базы
В план обмена объект такого типа должен быть включен, авторегистрация не обязательна
Но вполне возможно у вас есть где то где то отмена регистрации:
ОбрабатываемыйОбъект.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов",Истина);
(9) Где??? Где тут про "записан в базу"?
А если еще и учесть, что имеются попытки регистрировать документ в обработке заполнения (которая используется только для создания новых документов), то как бы другая картина вырисовывается...
Ах, да! И вот это еще...
Всё говорит о том, что "объект записан в базу". Прям даже кричит, я бы сказал!
Документ приходит, при загрузке заполняется в процедуре ОбработкаПроверкиЗаполнения
А если еще и учесть, что имеются попытки регистрировать документ в обработке заполнения (которая используется только для создания новых документов), то как бы другая картина вырисовывается...
Ах, да! И вот это еще...
Записать документ до попытки регистрации?
Всё говорит о том, что "объект записан в базу". Прям даже кричит, я бы сказал!
(10)
(11)
Охх...
Документ при загрузке в базу проводится
Перед проведением запускается процедура ОбработкаПроверкиЗаполнения (она не для новых, а запускается при каждом проведении)
В ней дозаполняются данные.
Я так понимаю что к этому моменту док не записан или как минимум не записаны новые данные
Посмотрю в отладчике
В обычном варианте, если пользователь заходит и проводит то док регистрируется без проблем. Задача освободить пользователя
(11)
Охх...
Документ при загрузке в базу проводится
Перед проведением запускается процедура ОбработкаПроверкиЗаполнения (она не для новых, а запускается при каждом проведении)
В ней дозаполняются данные.
Я так понимаю что к этому моменту док не записан или как минимум не записаны новые данные
Посмотрю в отладчике
В обычном варианте, если пользователь заходит и проводит то док регистрируется без проблем. Задача освободить пользователя
Попробовала в разных комбинациях, не поддается:
Еще и точки останова не срабатывают при загрузке.
ЭтотОбъект.Записать(,);
ЭтотОбъект.ОбменДанными.Загрузка = Ложь;
Узел = ПланыОбмена.ОбменУправлениеНебольшойФирмойБухгалтерия30.НайтиПоКоду("80");
ПланыОбмена.ЗарегистрироватьИзменения(Узел, ЭтотОбъект.Ссылка);
Еще и точки останова не срабатывают при загрузке.
(18) А этот документ вообще подлежит регистрации?
Если подлежит - то достаточно просто поменять первые две строчки местами.
Этот параметр интересен системе только в момент записи объекта.
На ручную регистрацию ссылки он никак не влияет.
Если подлежит - то достаточно просто поменять первые две строчки местами.
ЭтотОбъект.ОбменДанными.Загрузка = Ложь;
На ручную регистрацию ссылки он никак не влияет.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот