При переходе на требования 54-ФЗ и подключении онлайн-касс «Штрих-М» к конфигурациям 1С (в частности, «1С:Розница 2.2», «1С:Управление торговлей 10.3» и «1С:Бухгалтерия предприятия 3.0») специалисты часто сталкиваются с ошибками обмена с фискальным регистратором. Наиболее распространенные из них — код $33 / 51 («Некорректные параметры в команде») при попытке открыть смену и код 4Fh («Неверный пароль администратора») при пробитии чека с отправкой электронного чека покупателю. Проанализируем причины возникновения данных неполадок и рассмотрим способы их устранения.
Разберем, почему ККТ возвращает ошибку 33h при вызове метода ОткрытьСмену. В соответствии с протоколом работы фискальных накопителей и форматом фискальных данных (ФФД), реквизит «Кассир» (тег 1021) является обязательным для формирования фискального документа открытия смены. В ранних релизах конфигурации «1С:Розница 2.2» (например, 2.2.5.22) в типовом коде общего модуля или обработки обслуживания переменная Кассир передавалась в драйвер со значением пустой строки:
Результат = Истина;
Кассир = "";
НомерСмены = 0;
НомерДокумента = 0;
// ...
Результат = ОбъектДрайвера.ОткрытьСмену(ПараметрыПодключения.ИДУстройства, Кассир, НомерСмены, НомерДокумента);
Драйвер ККТ валидирует входящие параметры и, получая пустую строку вместо обязательного реквизита кассира, отклоняет команду с кодом ошибки 33h (в десятичном виде — 51) с сообщением «Некорректно переданы параметры».
Разберем по шагам, как устранить ошибку открытия смены:
1С:Розница 2.2.5.23 и более поздних версиях разработчики 1С устранили данную ошибку. В функцию открытия смены был добавлен входной параметр и проверка наличия переданных данных о кассире.Кассир следующим фрагментом:
Кассир = ?(ВходныеПараметры <> Неопределено И ВходныеПараметры.Свойство("Кассир"),
ВходныеПараметры.Кассир,
НСтр("ru='Администратор'"));
Таким образом, если в структуру ВходныеПараметры не было передано конкретное ФИО текущего пользователя, программа подставит значение по умолчанию (например, «Администратор»), что позволит драйверу ККТ успешно выполнить команду открытия смены.
Рассмотрим вторую сопутствующую проблему: обычные чеки печатаются штатно, но при попытке указать в чеке телефон или email покупателя возникает сообщение «Чек не напечатан на устройстве для печати чеков. Ошибка: 4Fh, Неверный пароль администратора».
Выясним причину такого поведения. Стандартные кассовые операции (продажа, печать позиций) выполняются под паролем кассира (по умолчанию 1). Однако запись дополнительных тегов фискального накопителя, в том числе тега 1008 («Адрес покупателя»), на уровне протокола «Штрих-М» требует прав системного администратора.
Для устранения ошибки 4Fh выполним следующие действия:
Администрирование -> Подключаемое оборудование, откроем карточку используемого экземпляра ККТ и перейдем к форме параметров. Убедимся, что заполнены оба поля:
1;30.Параметры ККТ / Таблицы и проверим таблицу паролей. Если пароль системного администратора менялся, в настройках оборудования 1С необходимо указать актуальное значение.Выполнение описанных шагов позволяет полностью восстановить корректное открытие смен и пробитие фискальных чеков с отправкой электронных копий по требованиям 54-ФЗ.