Как исправить статус «Ошибка проводки» в ЕГАИС и восстановить корректный учет в 1С

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

Работа с системой ЕГАИС требует от пользователя и администратора предельной внимательности, особенно когда дело касается редактирования уже отправленных документов. Одной из наиболее запутанных ситуаций является получение статуса «Ошибка проводки». В этой статье мы подробно разберем, почему возникает эта ошибка, как восстановить данные, если они были удалены или изменены в базе 1С, и как правильно обслуживать транспортный модуль (УТМ), чтобы избежать «зависания» системы.

Разберем природу статуса «Ошибка проводки»

Прежде всего, проанализируем, что именно сообщает нам система ЕГАИС этим статусом. В отличие от ошибок формата (когда документ вообще не принимается сервером), статус «Ошибка проводки» означает, что ваш документ (ТТН или акт) был успешно доставлен в систему ФСРАР, прошел форматно-логический контроль, но не смог быть зафиксирован в государственном регистре.

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

Выясним причину конфликта идентификаторов в 1С

Рассмотрим ситуацию, часто встречающуюся на практике: пользователь отправил ТТН, затем решил внести правки и, вместо того чтобы отозвать документ, просто отредактировал старый. Программа 1С при этом может сгенерировать новый номер ТТН, но сохранить старый уникальный идентификатор в скрытых реквизитах.

При повторной отправке УТМ видит старый GUID, обращается к серверу ЕГАИС, а тот возвращает отказ, так как документ с таким Identity уже обрабатывался или заблокирован. Чтобы избежать таких ситуаций, в учетных системах рекомендуется не редактировать отправленные документы, а создавать новые копированием. Это гарантирует генерацию абсолютно нового уникального ключа для системы ЕГАИС.

Пошаговое восстановление потерянного идентификатора (WB-ID)

Если в базе 1С данные были повреждены или удалены «умельцами», нам необходимо восстановить связь между документом в 1С и документом в системе ЕГАИС. Главным ключом здесь является идентификатор ТТН (типа TTN-0000000000). Если вы его не знаете, рассмотрим метод восстановления через запросы движения продукции:

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

Анализируем механизмы очистки УТМ и обработку тикетов

Часто при возникновении ошибок проводки база УТМ забивается техническими сообщениями (тикетами), которые 1С не может «подцепить», так как в базе нет соответствующих запросов. Рассмотрим, как работает автоматическое удаление документов в УТМ версии 4.2.0 и выше:

Согласно документации, документы не хранятся вечно. Посмотрим на стандартные сроки:

Однако, если ваша программа 1С не смогла распознать документ (например, из-за удаления исходного запроса в базе), статус документа в УТМ останется Новый. Такие документы могут висеть в очереди бесконечно, замедляя работу модуля. В этом случае мы должны произвести ручную очистку.

Разберем способы ручной очистки очереди сообщений

Проанализируем ситуацию, когда входящая очередь переполнена «мусорными» тикетами. У нас есть два пути решения:

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

Способ 2: Прямое использование API УТМ. Для продвинутых пользователей и системных администраторов доступно использование метода DELETE. Посмотрим, как это работает программно:


// Пример логики удаления прочитанного документа через HTTP-запрос
URL = "http://localhost:8080/opt/out/WayBill/15"; // Где 15 - ID документа в очереди
HTTPЗапрос = Новый HTTPЗапрос(URL);
HTTPОтвет = Соединение.ВызватьHTTPМетод("DELETE", HTTPЗапрос);

Если HTTPОтвет.КодСостояния = 200 Тогда
    Сообщить("Документ успешно удален из очереди УТМ");
КонецЕсли;

Важно помнить, что использование метода POST при чтении документа также может приводить к его мгновенному удалению из базы модуля (в зависимости от настроек и версии УТМ), тогда как обычный GET только меняет статус на «Просмотрено».

Корректировка статусов в регистрах 1С

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

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

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

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

Заключение и выводы

Подводя итог, отметим: статус «Ошибка проводки» — это не приговор, а сигнал к тому, что транзакция не состоялась. Основные правила для исправления ситуации:

Соблюдение этих простых инструкций позволит вам поддерживать актуальность данных в системе ЕГАИС и избегать расхождений в остатках между вашей учетной системой и государственным регистром.

← На главную