Переход на работу с маркированной продукцией в рамках ФФД 1.2 накладывает на разработчиков и пользователей 1С ряд специфических обязательств. Одной из наиболее запутанных задач является настройка объемно-сортового учета (ОСУ), при котором вместо сканирования каждой марки передается информация о товаре и его количестве в формате GTIN. В этой статье мы подробно разберем, как реализовать этот механизм в самописных или старых конфигурациях на базе 1С:Управление торговлей 10.3, используя драйвер АТОЛ версии 10.х.
Прежде чем приступать к коду, проанализируем ситуацию с точки зрения нормативных актов. Согласно постановлению Правительства РФ №841, для упакованной воды действуют следующие правила:
Если ваши чеки не отображаются в личном кабинете «Честного знака» в разделе «Чеки», это означает, что структура данных в фискальном документе не соответствует требованиям системы маркировки. Разберемся, как это исправить.
Для корректной передачи данных ОСУ через ОФД в чеке должны быть заполнены специфические реквизиты. Рассмотрим наиболее важные теги:
01 и сам 14-значный GTIN товара.Проанализируем процесс формирования кода товара для передачи в драйвер ККТ. В конфигурации 1С:УТ 10.3, которая работает на обычных формах, за взаимодействие с кассой отвечает обработка обслуживания или встроенный код в модуле чека. Нам необходимо сформировать байтовую последовательность для кода товара.
Рассмотрим пример кода на встроенном языке 1С, который подготавливает данные для записи в фискальный накопитель через драйвер АТОЛ 10.х:
// Пример формирования структуры для ОСУ воды (GTIN)
КодGTIN = "04601234567890"; // Ваш 14-значный GTIN
ИдентификаторПрименения = "01";
ПолныйКодGS1 = ИдентификаторПрименения + КодGTIN;
// В драйвере АТОЛ 10 для передачи кода товара в формате ОСУ
// необходимо использовать методы работы с TLV или специализированные параметры позиции
Драйвер.setParam(Драйвер.LIBFPTR_PARAM_COMMODITY_CODE_TYPE, Драйвер.LIBFPTR_CCT_GS1_0);
Драйвер.setParam(Драйвер.LIBFPTR_PARAM_COMMODITY_CODE, ПолныйКодGS1);
Важно помнить, что при использовании ФФД 1.2 система требует проверку кода маркировки. Однако для ОСУ предусмотрен упрощенный режим. Выясним, почему данные могут не доходить до системы маркировки.
Если вы пробуете пробить чек напрямую из «Теста драйвера» и данные не появляются в «Честном знаке», выполните следующие шаги по проверке:
Поскольку 1С:УТ 10.3 является устаревшей конфигурацией, типовые механизмы работы с маркировкой в ней могут отсутствовать или быть реализованы под ФФД 1.05. Разберем, как адаптировать механизм печати чека из документа ПриходныйКассовыйОрдер (ПКО) или ЧекККМ.
Вам необходимо найти фрагмент кода, где вызывается метод драйвера registration или аналогичный. Перед вызовом регистрации позиции нужно добавить установку тегов ОСУ. Если вы используете внешнюю компоненту, убедитесь, что она поддерживает работу с DataMatrix и GS1.
Посмотрим на пример логики изменения структуры данных:
// В процедуре ПечатьЧека
Для Каждого СтрокаТовара Из СписокТоваров Цикл
// Стандартные параметры: Наименование, Цена, Количество...
Драйвер.setParam(65535, "Вода минеральная 0.5л"); // Наименование
Драйвер.setParam(65538, СтрокаТовара.Цена);
Драйвер.setParam(65539, СтрокаТовара.Количество);
// Добавляем поддержку ОСУ для ФФД 1.2
// Тег 2108: 0 - штуки
Драйвер.setParam(2108, 0);
// Передаем GTIN в тег 1163
// Для ОСУ важно передать именно тип кода GS1 (идентификатор 05h для ФФД)
ДанныеКодаТовара = "01" + СтрокаТовара.Номенклатура.GTIN;
Драйвер.setParam(1163, ДанныеКодаТовара);
Драйвер.registration();
КонецЦикла;
Если программный код написан верно, но результата нет, проанализируем внешние факторы:
01 перед GTIN. Без этого префикса система «Честный знак» не сможет распознать строку как корректный код товара.Таким образом, для успешной реализации ОСУ воды в 1С:УТ 10.3 необходимо обеспечить корректное заполнение тегов 1163 и 2108 в соответствии с требованиями ФФД 1.2 и убедиться, что используемая версия драйвера АТОЛ (10.10 и выше) и прошивка ККТ поддерживают данные операции. Совместная работа программного кода 1С и настроек торгового оборудования позволит автоматизировать вывод воды из оборота без необходимости сканирования каждой бутылки до марта 2025 года.