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