Что делать, если после ручного подтверждения ТТН ЕГАИС в 1С не продается алкоголь?

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

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

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

Почему ручное изменение статуса накладной блокирует продажи?

Проанализируем внутренний механизм взаимодействия 1С и Универсального транспортного модуля (УТМ) ЕГАИС. Когда вы принимаете алкогольную продукцию, программа работает не просто с документом ТТН, а с базой данных уникальных идентификаторов — акцизных марок.

При нормальном цикле документооборота происходят следующие действия:

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

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

Выяснив причину проблемы, рассмотрим пошагово несколько способов ее решения.

Способ 1. Автоматическая актуализация статусов марок через запрос к ЕГАИС

Этот способ является наиболее правильным и безопасным, так как он позволяет штатно получить все квитанции от ЕГАИС и автоматически перевести марки в нужный статус.

Разберем данный процесс по шагам:

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

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

Способ 2. Принудительное проведение проверки алкогольной продукции в 1С

Если накладная заблокирована для отправки запросов, но ее форма внутри 1С позволяет осуществлять интерактивные действия, мы можем использовать встроенный механизм проверки поступления.

Рассмотрим, как это сделать:

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

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

Способ 3. Прямая корректировка регистра «Акцизные марки ЕГАИС»

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

Проанализируем последовательность действий:

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

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

Решение для программистов: групповое изменение статуса марок кодом

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


// Определим ссылку на нашу проблемную накладную ЕГАИС
СсылкаНаТТН = Документы.ТТНВходящаяЕГАИС.НайтиПоНомеру("00000001", ТекущаяДата());

Если Не СсылкаНаТТН.Пустая() Тогда
    
    // Запросим все марки, привязанные к данной накладной
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |	АкцизныеМарки.Марка КАК Марка,
        |	АкцизныеМарки.Основание КАК Основание
        |ИЗ
        |	РегистрСведений.АкцизныеМаркиЕГАИС КАК АкцизныеМарки
        |ГДЕ
        |	АкцизныеМарки.Основание = &ТТН";
    
    Запрос.УстановитьПараметр("ТТН", СсылкаНаТТН);
    РезультатЗапроса = Запрос.Выполнить();
    Выборка = РезультатЗапроса.Выбрать();
    
    // Начнем транзакцию для ускорения записи и безопасности данных
    НачатьТранзакцию();
    Попытка
        Пока Выборка.Следующий() Цикл
            // Создаем менеджер записи для изменения каждой марки в регистре
            МенеджерЗаписи = РегистрыСведений.AcciznieMarkiEGAIS.СоздатьМенеджерЗаписи(); // Имя регистра зависит от версии конфигурации
            // Для типовых современных конфигураций используем:
            МенеджерЗаписи = РегистрыСведений.АкцизныеМаркиЕГАИС.СоздатьМенеджерЗаписи();
            
            МенеджерЗаписи.Марка = Выборка.Марка;
            МенеджерЗаписи.Прочитать();
            
            Если МенеджерЗаписи.Выбран() Тогда
                // Устанавливаем необходимый статус для розничной продажи
                МенеджерЗаписи.Статус = Перечисления.СтатусыАкцизныхМарок.ВНаличии;
                МенеджерЗаписи.Записать();
            КонецЕсли;
        КонецЦикла;
        ЗафиксироватьТранзакцию();
        Сообщить("Статусы акцизных марок успешно обновлены на 'В наличии'.");
    Исключение
        ОтменитьТранзакцию();
        Сообщить("Ошибка при обновлении статусов: " + ОписаниеОшибки());
    КонецПопытки;
    
КонецЕсли;

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

Проблема версий документооборота ЕГАИС

Иногда при попытке повторно запросить ТТН или отправить акт подтверждения пользователи сталкиваются с ошибками совместимости версий формата обмена (например, система сообщает об отправке старых версий документов v1 или v2). Помните, что ФСРАР полностью перевел систему на формат v4 (WayBill_v4) для накладных и версии ChequeV3/ChequeV4 для розничных чеков.

Если у вас возникают подобные технические сбои при интеграции:

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

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

← На главную