Как восстановить акцизные марки ЕГАИС при создании новой базы 1С?

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

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

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

Почему 1С требует наличия акцизных марок в локальной базе?

Для начала проанализируем техническую сторону вопроса. В современном ЕГАИС действует строгий поштучный (помарочный) учет крепкого алкоголя. Каждая физическая бутылка снабжена уникальной маркой формата DataMatrix. На стороне ЕГАИС эта марка привязана к так называемому Регистру №3 и ассоциирована со конкретной Справкой 2 (ранее известной как Справка Б), по которой данная партия товара поступила в ваш магазин.

Когда вы создаете абсолютно новую, «голую» базу данных 1С, вы можете без труда заполнить справочник номенклатуры, загрузить штрихкоды EAN-13 и даже провести инвентаризацию, зафиксировав количество бутылок. Но при этом ваша локальная база остается пустой в разрезе двух важнейших объектов:

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

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

Рассмотрим по шагам основные и наиболее эффективные сценарии решения этой задачи.

Вариант А. Массовый перезапрос входящих ТТН по номерам (Самый быстрый и чистый метод)

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

Для реализации этого метода выполним следующие действия:

  1. Получение списка номеров ТТН. Нам нужны номера накладных за последний год (или за период, покрывающий оборачиваемость нашего склада). Получить их можно двумя путями:
    • Зайти в личный кабинет на официальном портале ЕГАИС (service.egais.ru) в раздел проверки и переотправки документов. Там можно выгрузить список всех ТТН, отправленных на ваш FSRAR_ID.
    • Связаться с вашими ключевыми поставщиками (дистрибьюторами) и попросить их ИТ-специалистов сделать выгрузку номеров ТТН (формата TTN-XXXXXXXXXX), которые они отправляли в ваш адрес.
  2. Запрос накладных в 1С. Перейдем в раздел программы «Продажи» (или «Закупки») -> «Обмен с ЕГАИС» -> «ТТН ЕГАИС (входящие)».
  3. Воспользуемся командой «Запросить ТТН по номеру». В открывшемся диалоговом окне поочередно или списком введем полученные номера накладных.
  4. Универсальный транспортный модуль (УТМ) обработает эти запросы и загрузит оригинальные XML-файлы из базы ЕГАИС.
  5. При получении и проведении этих ТТН в новой базе 1С автоматически создадутся карточки партий (Справки 2), сопоставится номенклатура, а все акцизные марки мгновенно запишутся в нужные регистры со статусом «В наличии».

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

Вариант Б. Восстановление данных из локальной базы УТМ (Если уцелел компьютер с УТМ)

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

Проанализируем этот сценарий. УТМ хранит всю историю входящих документов в собственной встроенной базе данных (в зависимости от версии это может быть СУБД SQLite или Apache Derby). Физически файлы базы данных располагаются в папке установки УТМ (обычно это путь вида C:\UTM\transporter\transportDB).

Если эти файлы целы, мы можем извлечь из них историю всех полученных XML-документов:

  1. Существует множество готовых внешних обработок для 1С (их легко найти на специализированных сообществах программистов, таких как Инфостарт), предназначенных для прямого чтения базы данных УТМ.
  2. Подключим такую обработку к нашей новой базе 1С и укажем путь к каталогу transportDB.
  3. Программа прочитает хранящиеся в локальной базе УТМ XML-файлы накладных, извлечет из них привязки марок к Справкам 2 и автоматически перенесет их в справочник ШтрихкодыУпаковокТоваров нашей новой базы 1С.

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

Вариант В. Запрос остатков по Регистру №3 (Официальный, но медленный путь)

Если восстановить локальную базу УТМ невозможно, а номеров ТТН у вас нет, мы можем обратиться к механизмам запроса остатков непосредственно из ЕГАИС. Однако здесь мы столкнемся с жесткими регуляторными лимитами.

Рассмотрим алгоритм этого метода:

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

Важное ограничение: Сервер ЕГАИС позволяет запрашивать остатки марок по одной Справке 2 не чаще одного раза в 10 минут для одного FSRAR_ID. Если у вас на балансе числится 100 или 200 различных справок (что вполне нормально для ассортимента в 3500 бутылок), данный процесс затянется на очень долгое время. Использовать его имеет смысл только для небольших магазинов с минимальным ассортиментом.

Вариант Г. Ручная инвентаризация и привязка марок

Если ни один из автоматических методов не дал результата, остается крайний вариант — физическое сканирование бутылок. Но выполнять его нужно грамотно, чтобы не парализовать работу кассы во время продаж.

Для этого в 1С используется механизм инвентаризации с помарочным сканированием:

  1. Создадим в системе документ «Приказ на пересчет товаров» (или «Инвентаризация товаров»).
  2. В документе пересчета перейдем в режим подбора и проверки маркируемой продукции (вкладка «Товары», кнопка «Подбор и проверка акцизных марок»).
  3. Вооружившись 2D-сканером штрихкодов или терминалом сбора данных (ТСД), последовательно отсканируем акцизные марки со всех 3500 бутылок на складе и в торговом зале.
  4. При сканировании программа будет автоматически сопоставлять считанный DataMatrix код с номенклатурой. Если марка считывается впервые, 1С создаст для нее новую карточку в справочнике упаковок и привяжет к соответствующей карточке номенклатуры.
  5. После завершения сканирования проведем документ пересчета. Все считанные марки запишутся в регистр со статусом «В наличии» и будут доступны для беспрепятственной продажи через РМК.

Этот метод трудозатратен, но гарантирует стопроцентное совпадение фактических остатков на полках с данными вашей новой информационной базы.

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

← На главную