При интеграции онлайн-касс линейки «Штрих-М» (например, «Штрих-On-Line») с конфигурацией «1С:Торговля и Склад 7.7» через внешнюю компоненту DrvFR.dll и обработку обслуживания часто возникает ошибка: «Фискальный регистратор: ошибка при печати чека Команда не поддерживается в данном режиме». При этом статус кассы в драйвере может выглядеть корректным (Режим 2 — «Кассовая смена открыта», Подрежим 0 — «Бумага есть»), однако печать из документов (ПКО, Чек ККМ) не выполняется.
Разберем причины возникновения этой ошибки и пошаговые методы её устранения.
Проанализируем основные факторы, приводящие к блокировке фискальных операций:
VCOM) в режим сетевой карты (RNDIS). После этого операционная система перестает видеть устройство на прежнем виртуальном COM-порту, и попытка отправки прямых команд по COM-протоколу из 1С завершается ошибкой.fr_elves.ert или fr_shtrih.ert) вызывают методы драйвера по старому стандарту, не передавая обязательные реквизиты (СНО, признак способа расчета, ставки НДС нового формата, данные кассира). Прошивка онлайн-ККТ требует соблюдения строгого порядка тегов, и при его нарушении регистратор возвращает ошибку режима.Выясним причину сбоя, проверив работу аппарата вне среды 1С:
Если касса находится в промежуточном состоянии, вернем её в базовый режим:
SysAdminCancelCheck).Рассмотрим варианты взаимодействия 1С 7.7 и фискального регистратора:
192.168.137.111) и порт 7778.Проанализируем структуру внешней обработки fr_elves.ert (или аналогичной). Для корректной печати онлайн-чека перед открытием фискального документа необходимо программно передать обязательные реквизиты через объект драйвера AddInDrvFR.
Посмотрим на пример адаптации кода инициализации и печати чека в процедуре проведения фискальной операции:
// Пример корректной установки свойств перед регистрацией чека
ЗагрузитьВнешнююКомпоненту("DrvFR.dll");
ФР = СоздатьОбъект("AddIn.DrvFR");
// Установка пароля системного администратора
ФР.Password = 30;
// Отмена незавершенных операций перед началом печати
ФР.SysAdminCancelCheck();
// Установка системы налогообложения (СНО) для чека
// 1 - ОСН, 2 - УСН Доход, 4 - УСН Доход-Расход, 8 - ЕНВД, 16 - ЕСХН, 32 - ПСН
ФР.TaxType = 2;
// Установка параметров кассира
ФР.StringForPrinting = "Кассир: Иванов И.И.";
ФР.PrintString();
// Открытие чека продажи (0 - Продажа)
ФР.CheckType = 0;
ФР.OpenCheck();
Если ФР.ResultCode <> 0 Тогда
Предупреждение("Ошибка открытия чека: " + ФР.ResultCodeDescription);
Возврат;
КонецЕсли;
Разберем важные моменты при регистрации позиций: в онлайн-кассах ставки НДС передаются в строгом соответствии с номерами налоговых ставок, настроенных в таблицах драйвера ККТ. Несоответствие номера налога ставке из документа 1С также вызывает ошибку режима.
// Регистрация товарной позиции с указанием ставки НДС
ФР.Quantity = 1;
ФР.Price = 100.00;
ФР.Department = 1;
ФР.Tax1 = 1; // Номер налога из таблицы налогов ККТ
ФР.StringForPrinting = "Товар 1";
ФР.Sale();
// Закрытие чека с передачей суммы оплаты
ФР.Summ1 = 100.00; // Оплата наличными
ФР.CloseCheck();
Если ФР.ResultCode <> 0 Тогда
ФР.SysAdminCancelCheck();
Предупреждение("Ошибка закрытия чека: " + ФР.ResultCodeDescription);
КонецЕсли;
Таким образом, комплексная проверка состояния кассы, правильный выбор сетевого интерфейса и адаптация команд внешней обработки 1С 7.7 позволяют полностью устранить ошибку режима при печати чеков.