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