Как исправить статус входящей ТТН ЕГАИС и удалить поступление в УТ 10.3?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

В практике работы с алкогольной подсистемой в конфигурации 1С:Управление торговлей 10.3 нередко возникают ситуации, когда действия пользователей в учетной системе расходятся с реальным состоянием документов на серверах ЕГАИС. Типичный сценарий: оператор по ошибке отправляет отказ от накладной либо, наоборот, сначала подтверждает накладную, а затем пытается отозвать проведение документа через утилиту curl или командную строку напрямую через Универсальный транспортный модуль (УТМ). В результате на портале ФСРАР накладная меняет статус (например, становится отмененной), а в 1С статус входящей ТТН остается прежним. При этом созданный документ ПоступлениеТоваровУслуг блокируется системой и не дает распровести или пометить себя на удаление.

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

Причины рассинхронизации и блокировки документа поступления

Проанализируем техническую сторону взаимодействия учетной системы с УТМ. Когда запрос на отмену проведения (типа RequestRepealWB) отправляется в УТМ сторонней утилитой в обход типового функционала 1С, происходят следующие события:

  1. В базе данных 1С отсутствует запись об исходящем транспортном пакете с уникальным идентификатором ReplyId, по которому подсистема сопоставляет ответы из ЕГАИС.
  2. УТМ получает входящую квитанцию (Ticket) от ЕГАИС. Если квитанция была вычитана сторонним скриптом или удалена из очереди УТМ, 1С ее вовсе не видит. Даже если регламентное задание 1С загрузит этот тикет, штатный механизм обработки входящих сообщений не сможет привязать его к накладной из-за отсутствия исходного запроса в истории обмена.
  3. В документе ТТН ЕГАИС (входящая) сохраняется прежний положительный статус.

Почему же в таком случае нельзя просто пометить на удаление ПоступлениеТоваровУслуг? В типовых алгоритмах 1С реализован строгий контроль: при распроведении или установке пометки удаления документа поступления модуль объекта проверяет связанную входящую накладную ЕГАИС. Если накладная находится в статусе «Подтвержден», система аварийно прерывает операцию с ошибкой. Это сделано для защиты от расхождения бухгалтерского и партионного учета с данными ЕГАИС.

Способ 1. Разрыв связи между документами

Если первоочередная задача — распровести и пометить на удаление ошибочный документ ПоступлениеТоваровУслуг, самым быстрым и безопасным решением является временное или постоянное удаление ссылки на него из накладной ЕГАИС. Разберем по шагам, как это выполнить:

  1. Открываем документ ТТН ЕГАИС (входящая).
  2. Находим поле Документ поступления (или Поступление товаров и услуг в зависимости от релиза конфигурации).
  3. Очищаем ссылку на учетный документ и сохраняем изменения. Если форма документа блокирует редактирование реквизитов из-за зафиксированного статуса, используем обработку Групповая обработка справочников и документов либо короткий фрагмент кода.
  4. После очистки ссылки переходим в журнал документов поступления: теперь контроль статуса ЕГАИС не срабатывает, и документ ПоступлениеТоваровУслуг штатно распроводится и помечается на удаление.

Посмотрим на пример кода во внешней обработке для программного разрыва связи:


ДокументОбъект = СсылкаНаТТН.ПолучитьОбъект();
ДокументОбъект.ДокументПоступления = Неопределено;
ДокументОбъект.Записать(РежимЗаписиДокумента.Запись);

Способ 2. Корректировка статусов документа и регистров учета

Чтобы привести базу в полное соответствие с данными портала ЕГАИС, необходимо скорректировать реквизиты самой входящей накладной. Рассмотрим подробнее, какие именно данные требуется исправить:

  1. В документе ТТН ЕГАИС (входящая) через обработку изменения реквизитов устанавливаем реквизиты Статус и СтатусОбмена в значения, соответствующие отказу (например, Отказан или Отменен).
  2. Проверяем регистр сведений СтатусыДокументовЕГАИС. В некоторых релизах статус хранится не только в самом документе, но и дублируется в этом регистре. Запись по текущей ТТН необходимо обновить.
  3. Особое внимание уделяем поштучному учету: если алкогольная продукция была маркированной, при исходном подтверждении ТТН марки записались в регистр сведений Акцизные марки ЕГАИС со статусом «В наличии». Если просто поменять статус документа, эти акцизные марки останутся числиться за вашей организацией в учетной системе. Записи по этим маркам необходимо очистить либо изменить их статус, иначе при повторном поступлении этих же марок система выдаст ошибку дублирования.

Пример программной корректировки статуса документа:


ДокументОбъект = СсылкаНаТТН.ПолучитьОбъект();
ДокументОбъект.Статус = Перечисления.СтатусыТТНВходящейЕГАИС.Отказан;
ДокументОбъект.СтатусОбмена = Перечисления.СтатусыОбменаЕГАИС.Подтвержден;
ДокументОбъект.Записать(РежимЗаписиДокумента.Запись);

Способ 3. Запрос повторной загрузки накладной из ЕГАИС

В ряде случаев нет необходимости править статус вручную — можно задействовать штатный механизм повторного получения ТТН. Разберем этот вариант:

  1. В подсистеме интеграции с ЕГАИС оформляем документ Запрос на повторную отправку ТТН (служебное сообщение типа QueryResendDoc).
  2. Указываем номер входящей накладной в формате ЕГАИС (WB-XXXXXXXXXX) и отправляем запрос в УТМ.
  3. При получении актуальной версии накладной из ЕГАИС типовые алгоритмы загрузки сверяют идентификаторы и обновляют текущий статус документа в базе данных до актуального состояния, зафиксированного в системе ФСРАР.

Важные ограничения со стороны ЕГАИС

При выполнении любых манипуляций с отменой проведения накладных следует помнить о системных регламентах ЕГАИС:

  1. Запрос на распроведение или отмену акта (RequestRepealWB) принимается сервером ЕГАИС только в течение 30 календарных дней с даты первоначальной фиксации входящего документа. По истечении этого срока отменить проведение накладной возможно только через обращение в дежурную службу ФСРАР с подтверждающими документами от обеих сторон сделки.
  2. Запрос на отмену проведения акта для одной и той же ТТН может быть подан только один раз.
  3. Если продукция из подтвержденной накладной уже была списана актом списания, перемещена в торговый зал или продана на кассе, система отклонит запрос на распроведение из-за нехватки остатков на регистре.
← На главную