При работе с кассовым оборудованием «Штрих-М» через нетиповые конфигурации 1С пользователи часто сталкиваются с эстетической и технической проблемой: в печатной форме чека перед наименованием товара или суммой появляется «лишний» нуль. Бухгалтерия справедливо требует привести чек в соответствие со стандартами компании, исключив технические индексы. Разберемся подробно, почему это происходит и как настроить оборудование так, чтобы лишняя информация не выводилась на печать.
Появление цифры «0» в строке позиции или перед итоговой суммой — это не программная ошибка 1С в чистом виде, а результат взаимодействия драйвера кассы, прошивки ККТ и настроек внутренних таблиц устройства. Этот нуль является номером секции (отдела). В протоколах обмена данными с ККТ «Штрих-М» каждая продажа должна быть отнесена к определенному отделу. Если программа не передает номер отдела явно, или если настройки кассы заставляют ее печатать этот индекс, мы видим его на бумаге.
Рассмотрим ситуацию: на одной кассе нуля нет, а на другой (точно такой же модели) он есть. Это прямо указывает на различия в энергонезависимой памяти (таблицах) самого аппарата или в версии используемого драйвера DrvFR.dll.
Самый надежный способ убрать вывод секции — изменить внутренние настройки кассы. Для этого нам понадобится утилита «Тест драйвера ККТ». Проанализируем шаги, которые необходимо предпринять:
Если в этом поле установлено значение «1», касса будет печатать номер отдела для каждой позиции. Нам необходимо установить значение «0». После ввода значения обязательно нажмите клавишу Enter и закройте окно таблицы, чтобы данные записались в память ККТ.
Как показывает практика, версии драйвера серии 4.13.x имели определенные особенности обработки параметров, передаваемых из внешних программ (например, из 1С). В более старых версиях драйвер мог принудительно подставлять индекс отдела, если он не был задан программно.
Проанализируем результаты обновления: переход на версию драйвера 4.14.0.716 и выше часто решает проблему «лишнего нуля» автоматически. Новые версии драйверов более корректно работают с форматами фискальных данных (ФФД 1.05 и выше) и скрывают техническую информацию, которая не является обязательной для реквизитов чека.
Важно: При обновлении драйвера на рабочих местах с нетиповой 1С убедитесь, что библиотека DrvFR.dll зарегистрирована в системе корректно. Используйте команду:
regsvr32 "C:\PathToDriver\DrvFR.dll"
Если вы используете нетиповую конфигурацию, стоит заглянуть в программный код, отвечающий за формирование чека. Найдем фрагмент кода, где вызывается метод регистрации позиции (обычно это Sale(), Registration() или работа через объект AddIn.DrvFR).
Рассмотрим пример того, как может выглядеть вызов метода:
// Пример формирования позиции чека
Драйвер.Password = 30; // Пароль администратора/кассира
Драйвер.Quantity = 1;
Драйвер.Price = 100.00;
Драйвер.Department = 1; // Вот здесь задается номер отдела
Драйвер.Tax1 = 0;
Драйвер.StringForPrinting = "Наименование товара";
Драйвер.Sale();
Если в свойство Department (Отдел) передается значение 0, попробуйте изменить его на 1. В некоторых случаях именно передача нулевого значения в старых прошивках провоцирует кассу на вывод этого индекса в печатную форму. Если же ваша задача — полностью скрыть упоминание отдела, убедитесь, что в 1С не включены флаги расширенной печати чека, которые могут переопределять настройки таблиц ККТ.
Выясним причину, почему две одинаковые кассы могут вести себя по-разному при одинаковых настройках таблиц. Это может быть связано с версией ПО (прошивки) самого аппарата. Кассы с датой ПО от 2018 года и позже (поддержка ФФД 1.05) имеют иную логику работы с секциями, чем старые аппараты. Если одна касса работает на прошивке 2017 года, а другая — 2018-го, их поведение в части печати служебных полей будет различаться. В этом случае поможет только приведение обеих касс к единой версии прошивки и драйвера.
Для устранения лишнего нуля в чеке рекомендуем придерживаться следующего алгоритма действий:
Department. Старайтесь использовать явное указание первого отдела (1) вместо нулевого значения.Следуя этим шагам, мы добьемся чистоты печатной формы чека, что удовлетворит требования бухгалтерии и сделает документ более читаемым для покупателя. Совместная настройка программной части (драйвера) и аппаратной части (таблиц ККТ) — залог стабильной работы торгового оборудования.