20 мая 2021

1С Проведение документов при Синхронизации

Если у вас есть синхронизация данных, например, между 1С Бухгалтерией и Управление Торговлей и есть необходимость получать документы не проведенными, что бы бухгалтера проводили документы собственноручно. То стандартными средствами этого к сожалению не сделать.

Решение следующее. На стороне принимающей базы открываем конфигуратор.  Идем в общий модуль ОбменДаннымиСервер, там есть процедура ВыполнитьПроведениеДокументаПриЗагрузке().  

И в самом начале этой процедуры добавляем условие, по которому не должно происходить проведение документов при загрузке в базу. Например, пусть это будет Узел Корреспондента и тип документа.

Процедура ВыполнитьПроведениеДокументаПриЗагрузке(УзелКорреспондента, ДокументСсылка, РегистрироватьПроблемыВРезультатахОбмена, ДополнительныеСвойстваОбъекта)
      
    УзелКор = ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.НайтиипоНаименованию("ИмяВашегоУзла");

    Если ЗначениеЗаполнено(УзелКор) тогда
        Если УзелКорреспондента = УзелКор тогда
            Если ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ПоступлениеТоваровУслуг") Тогда
                Возврат;
            КонецЕсли;
        КонецЕсли;   
    конецЕсли;

Теперь документы Поступление товаров и услуг, полученные с узла "ИмяВашегоУзла" не будут проведены.

По этой методике, если документ будет изменен в базе источнике, то при синхронизации в базе приемнике он тоже станет не проведен. По этому признаку бухгалтеру будет удобно отслеживать изменившиеся документы.