Как настроить ККТ «Штрих-М» для работы с маркировкой в 1С 7.7 и передать тег 1162?

Программист 1С v7.7 Торговля и дистрибуция
← На главную

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

Способы передачи кода маркировки (Тег 1162) в 1С 7.7

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

Важный момент: перед отправкой данных о маркировке для конкретной товарной позиции необходимо вызвать метод FNOperation(). Этот метод как бы «открывает» текущую позицию в чеке для добавления к ней дополнительных фискальных данных, таких как код маркировки.

Способ 1: Передача разобранного кода маркировки

Этот метод предполагает, что ваша программа на 1С 7.7 самостоятельно разбирает полный код маркировки, считанный со сканера, на составные части: GTIN и серийный номер. Затем эти части передаются в драйвер ККТ через специальные свойства.

Посмотрим на пример кода. Предположим, что в переменной КТН у нас хранится полный код маркировки.


// ... код добавления товарной позиции в чек (наименование, цена, количество) ...

// Открываем операцию для добавления фискальных данных
Рез = ФискальныйРегистратор.FNOperation();

// Проверяем, что для товара есть код маркировки
Если ПустоеЗначение(КТН) = 0 Тогда
    
    // Разбираем код маркировки на части (пример для DataMatrix)
    GTIN         = Сред(КТН, 3, 14);
    SerialNumber = Сред(КТН, 19, 13);
    
    // Передаем части кода в свойства драйвера
    // 17485 - это шестнадцатеричное значение "444D" (код DataMatrix), преобразованное в десятичное
    ФискальныйРегистратор.MarkingType      = 17485; 
    ФискальныйРегистратор.GTIN             = GTIN;
    ФискальныйРегистратор.SerialNumber     = SerialNumber;
    
    // Отправляем тег маркировки в ККТ
    Рез = ФискальныйРегистратор.FNSendItemCodeData(); 
    
КонецЕсли;

// ... код закрытия чека ...

Этот способ является наиболее распространенным и работает на большинстве актуальных прошивок.

Способ 2: Передача полностью сформированного TLV-тега

Этот метод более сложен для реализации, так как требует от программы на 1С самостоятельно сформировать всю TLV-структуру (Tag-Length-Value) для тега 1162 в виде HEX-строки. Он дает максимальный контроль, но применяется реже.


// ... код добавления товарной позиции в чек ...

// В данном примере используется готовая HEX-строка для демонстрации.
// В реальной задаче ее нужно формировать динамически.
ФискальныйРегистратор.TLVDataHex = "8A041500444d000002C0EED8583F696F2B714341426D382020"; 
ФискальныйРегистратор.FNSendTLVOperation();

// ... код закрытия чека ...

Роль прошивки и лицензии «Базовая маркировка»

Один из главных вопросов при работе со «Штрихами» — нужно ли обновлять прошивку и покупать лицензию. Проанализируем ситуацию.

Передача тега 1162 в ОФД: На большинстве прошивок, выпущенных после 2018 года, можно успешно передавать тег 1162 в ОФД без покупки каких-либо лицензий. Главное, чтобы кассовая программа (ваша конфигурация 1С) правильно формировала и отправляла данные одним из вышеописанных способов.

Лицензия «Базовая маркировка»: Эта лицензия в основном нужна для активации дополнительного функционала, встроенного в саму прошивку ККТ. В первую очередь, это:

  1. Автоматическая печать символа `[М]` на чеке. Без лицензии касса, как правило, либо ничего не печатает, либо печатает полный код маркировки.
  2. Доступ к «альтернативной команде», которая позволяет передавать в ККТ «сырой» QR-код целиком, без разбора в 1С. Касса в этом случае сама его парсит.

Вывод: для отладки и даже для рабочей эксплуатации, если ваша программа сама разбирает код маркировки, покупка лицензии для отправки тега в ОФД не является строго обязательной. Она нужна для полного соответствия печатной формы чека требованиям закона средствами самой кассы.

Печать символа `[М]` на чеке: разбираем нюансы

Корректное отображение признака маркированного товара на чеке — важное требование. Рассмотрим, как этого добиться.

Вариант 1: Средствами ККТ (с лицензией «Базовая маркировка»)

При наличии лицензии и свежей прошивки касса может печатать символ [М] автоматически. Для этого нужно включить соответствующую настройку в таблицах ККТ (об этом ниже). Однако, по опыту многих пользователей, «Штрих-М» часто печатает этот символ отдельной строкой под наименованием товара, а не в одной строке с ним. Это снижает ценность лицензии, если ваша цель — добиться печати «как у всех».

Вариант 2: Программная печать из 1С (без лицензии)

Если лицензии нет, можно напечатать символ [М] из программы. Но здесь есть критически важный нюанс.

Настройка таблиц ККТ для печати тегов

Тонкая настройка печатной формы чека и работы с тегами выполняется через таблицы в утилите «Тест драйвера ФР». Ключевой является Таблица 17 «ФФД и ОФД».

Чтобы активировать автоматическую печать информации о маркировке, выполните следующие шаги:

  1. Подключитесь к ККТ через утилиту «Тест драйвера ФР».
  2. Перейдите в раздел «Таблицы».
  3. Откройте таблицу №17.
  4. Найдите поле №25 «Автопечать тегов» и установите его значение в «1».

Как это работает:

Для более полной настройки печати других обязательных реквизитов (например, для ФФД 1.2) рекомендуется также проверить и установить следующие значения в Таблице 17:

После изменения значений не забудьте нажать кнопку «Записать».

Таким образом, для решения задачи по работе с маркировкой на ККТ «Штрих-М» и 1С 7.7 необходим комплексный подход: доработка кода в 1С для передачи тега 1162, обновление прошивки ККТ до актуальной версии и внимательная настройка таблиц через тест драйвера. При розничной продаже маркированной продукции также пригодится готовый механизм для реализации разрешительного режима Честного Знака в 1С 7.7.

← На главную