Работа с системой ЕГАИС требует от пользователя и администратора предельной внимательности, особенно когда дело касается редактирования уже отправленных документов. Одной из наиболее запутанных ситуаций является получение статуса «Ошибка проводки». В этой статье мы подробно разберем, почему возникает эта ошибка, как восстановить данные, если они были удалены или изменены в базе 1С, и как правильно обслуживать транспортный модуль (УТМ), чтобы избежать «зависания» системы.
Прежде всего, проанализируем, что именно сообщает нам система ЕГАИС этим статусом. В отличие от ошибок формата (когда документ вообще не принимается сервером), статус «Ошибка проводки» означает, что ваш документ (ТТН или акт) был успешно доставлен в систему ФСРАР, прошел форматно-логический контроль, но не смог быть зафиксирован в государственном регистре.
В большинстве случаев это происходит из-за попытки повторной отправки документа с тем же внутренним идентификатором Identity, но измененным номером или составом. Для ЕГАИС это выглядит как конфликт данных. Самое важное, что нам нужно усвоить: если на чек-службе (CheckFSrar) вы видите «Ошибку проводки», значит, движения продукции по регистрам не произошло. Остатки у отправителя не списались, а у получателя не появились. Такая накладная считается юридически ничтожной, и ее необходимо переподать правильно.
Рассмотрим ситуацию, часто встречающуюся на практике: пользователь отправил ТТН, затем решил внести правки и, вместо того чтобы отозвать документ, просто отредактировал старый. Программа 1С при этом может сгенерировать новый номер ТТН, но сохранить старый уникальный идентификатор в скрытых реквизитах.
При повторной отправке УТМ видит старый GUID, обращается к серверу ЕГАИС, а тот возвращает отказ, так как документ с таким Identity уже обрабатывался или заблокирован. Чтобы избежать таких ситуаций, в учетных системах рекомендуется не редактировать отправленные документы, а создавать новые копированием. Это гарантирует генерацию абсолютно нового уникального ключа для системы ЕГАИС.
Если в базе 1С данные были повреждены или удалены «умельцами», нам необходимо восстановить связь между документом в 1С и документом в системе ЕГАИС. Главным ключом здесь является идентификатор ТТН (типа TTN-0000000000). Если вы его не знаете, рассмотрим метод восстановления через запросы движения продукции:
WB-ID, который был присвоен накладной при первой успешной регистрации.Часто при возникновении ошибок проводки база УТМ забивается техническими сообщениями (тикетами), которые 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С она «висит» в статусе «Передано в УТМ», нам нужно вручную привести базу в порядок. Рассмотрим, как это сделать программно или через стандартные интерфейсы:
В типовых конфигурациях информация о состояниях обмена хранится в регистре сведений СтатусыДокументовЕГАИС. Выясним последовательность действий:
Статусы документов ЕГАИС.Ошибка передачи или Аннулирован.Это позволит разблокировать складские документы и даст возможность создать на их основании новые ТТН для повторной отправки. Проанализируем также важность проверки акцизных марок: если бы мы работали с крепким алкоголем, нам бы пришлось дополнительно проверять статус марок в регистре АкцизныеМаркиЕГАИС, чтобы они не остались заблокированными за несуществующей накладной.
Подводя итог, отметим: статус «Ошибка проводки» — это не приговор, а сигнал к тому, что транзакция не состоялась. Основные правила для исправления ситуации:
check1.fsrar.ru, прежде чем вносить изменения в регистры 1С.Соблюдение этих простых инструкций позволит вам поддерживать актуальность данных в системе ЕГАИС и избегать расхождений в остатках между вашей учетной системой и государственным регистром.