Понятно, что можно закрывать периоды, но есть и другой путь.
Дано, односторонний обмен между УТ 11 и БП 3, придерживаемся подхода
- Не проведен = не отражен, все новые документы полученные из УТ должны всегда создаваться не проведенными.
- Не отражен = доступен к обновлению, обновляем документ при получении новых версий
- Отражен = заблокирован, запретить изменение обменом уже проведенных документов.
Решение простое, красивое и устойчивое к обновлениям.
Расширяем общий модуль "МенеджерОбменаЧерезУниверсальныйФормат" или "МенеджерОбменаЧерезУниверсальныйФормат13" если у вас обмен в EnterpriseData1.3 и добавляем всего 1 процедуру
//костыли hands.center
///УстановитьПризнакПроведенПриЗагрузке выполняется при получение документов, для отметки проведения.
//перехват этой процедуры позволяет сделать врезку во все получаемые документы.
&Перед("УстановитьПризнакПроведенПриЗагрузке")
Процедура хцУстановитьПризнакПроведенПриЗагрузке(ПолученныеДанные, ДанныеИБ, ПараметрыКонвертации)
//костыль что бы запретить проведение документов после получения
ПараметрыКонвертации.РазрешитьПроведениеДокументовПриЗагрузке = Ложь;
/// Костыль для игнорирования проведенных документов
//Если в обработчике «Перед записью полученных данных» присвоить параметру «Полученные данные» значение «Неопределено», данные найденного объекта замещаться не будут.
Если не ДанныеИБ = Неопределено и ДанныеИБ.Проведен Тогда
ПолученныеДанные = Неопределено; //сбрасываем данные объекта и прерываем запись документа
КонецЕсли;
КонецПроцедуры