Как настроить ККТ Пирит 02Ф в 1С 7.7 для работы по формату ФФД 1.05 после замены ФН?

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

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

В этой статье мы подробно разберем, почему возникает эта проблема, проанализируем технические ограничения старых компонент связи и рассмотрим практические варианты восстановления корректной печати чеков по стандарту ФФД 1.05 в 1С 7.7.

Выясняем причину: почему касса перестала печатать чеки?

Для того чтобы понять, почему сломалась стабильно работавшая схема, проанализируем изменения в законодательстве и технической архитектуре драйверов:

  1. Новые обязательные реквизиты ФФД 1.05. В отличие от старого формата ФФД 1.0, новый формат 1.05 строго требует передачи дополнительных тегов в каждом чеке. К ним относятся: признак способа расчета (тег 1214, например: «предоплата», «полный расчет»), признак предмета расчета (тег 1212, например: «товар» или «услуга»), а также обязательные реквизиты кассира (тег 1021 — имя кассира, тег 1203 — ИНН кассира).
  2. Устаревшая компонента связи. В большинстве старых интеграций 1С 7.7 с ККТ «Пирит» используется внешняя компонента CrystalsPiritFR01K.dll и обработка fr_pirit.ert. Эта компонента была разработана еще в 2013 году для дореформенных фискальных регистраторов. Она отправляет на кассу фиксированный набор команд старого протокола и физически «не знает» о существовании тегов ФФД 1.05. Касса с новой прошивкой, получив пакет данных без обязательных реквизитов, отвергает команду печати чека и возвращает ошибку.
  3. Несовместимость новых драйверов с 1С 7.7. Производитель Дримкас выпускает современные библиотеки (например, DKViki_1C8.dll или CSIPirit_1C8.dll), разработанные по технологии Native API для платформы «1С:Предприятие 8». Зарегистрировать эти библиотеки в операционной системе Windows через regsvr32 для прямого обращения из 1С 7.7 (через COM/ActiveX) невозможно, так как они не содержат необходимых интерфейсов для старой платформы.

Ниже рассмотрим три основных способа решения этой проблемы.

Вариант 1. Использование OPOS-драйвера (надежный путь без покупки стороннего ПО)

Для ККТ семейства «Пирит» производитель предоставляет официальный OPOS-драйвер. Спецификация OPOS (OLE for Retail POS) является стандартным COM-интерфейсом, который прекрасно поддерживается платформой 1С 7.7 через стандартный механизм СоздатьОбъект().

Рассмотрим по шагам процесс настройки интеграции через OPOS:

Шаг 1. Установка и настройка драйвера в ОС. Скачайте актуальный пакет OPOS-драйвера с портала технической поддержки Дримкас. Установите его на рабочем месте кассира. Запустите сервисную утилиту настройки (обычно это TestOPOS или аналогичная программа конфигурирования драйвера). Задайте параметры подключения: COM-порт, скорость обмена данными (обычно 57600 или 115200) и кодировку (для России — Windows-1251).

Шаг 2. Инициализация объекта в коде 1С 7.7. Откроем вашу обработку обслуживания ККТ (например, fr_pirit.ert) в конфигураторе и заменим вызов старой компоненты CrystalsPiritFR01K.dll на работу с OPOS-объектом.

Проанализируем пример кода для подключения ККТ через OPOS:


// Инициализируем OPOS-объект фискального регистратора
Попытка
    КассаOPOS = СоздатьОбъект("OPOS.FiscalPrinter");
Исключение
    Предупреждение("На компьютере не установлен OPOS-драйвер для ККТ Пирит!", 3);
    Возврат;
КонецПопытки;

// Открываем порт и захватываем устройство
КассаOPOS.Open("Pirit2F_DeviceName"); // Указываем имя устройства, заданное в утилите TestOPOS
Если КассаOPOS.ResultCode <> 0 Тогда
    Предупреждение("Ошибка при открытии устройства ККТ через OPOS!", 3);
    Возврат;
КонецЕсли;

КассаOPOS.ClaimDevice(1000); // Монопольный захват кассы на 1 секунду
КассаOPOS.DeviceEnabled = 1; // Активация устройства

Шаг 3. Реализация передачи тегов ФФД 1.05. При формировании чека через OPOS нам необходимо явно передавать тип оплаты, признаки способа и предмета расчета. Для этого используются специализированные свойства расширения OPOS, задокументированные производителем в руководстве к OPOS-драйверу «Пирит».

Пример реализации открытия чека и печати позиции:


// Открываем фискальный чек продажи (тип чека 1 - продажа)
КассаOPOS.OpenReceipt(1);

// Печать товарной позиции с передачей признаков ФФД 1.05
НаименованиеТовара = "Бумага А4 Светокопия";
Цена = 350.00;
Количество = 2;
Сумма = Цена * Количество;
Отдел = 1;
СтавкаНДС = 20000; // НДС 20% передается в зависимости от таблицы налогов ККТ

// Передача признака предмета расчета (тег 1212) и способа расчета (тег 1214) через DirectIO или свойства OPOS
// Обратитесь к документации OPOS-драйвера Дримкас для точного синтаксиса DirectIO команд
КассаOPOS.PrintRecItem(НаименованиеТовара, Цена, Количество, Отдел, Сумма, "");

Вариант 2. Использование внешних COM-оберток и универсальных кассовых модулей

Если у вас нет ресурсов или времени на глубокое программирование под OPOS-спецификацию, наиболее оптимальным решением будет приобретение или использование готовых внешних компонент-оберток (ActiveX/COM), которые специально созданы сторонними разработчиками для интеграции старых версий 1С 7.7 с современными онлайн-кассами.

Как работает такая схема:

Этот вариант хорош тем, что минимизирует изменения в коде конфигурации 1С 7.7. Вам потребуется лишь немного скорректировать функции формирования чека в файле fr_pirit.ert под синтаксис новой внешней компоненты.

Вариант 3. Настройка ККТ через сервисную утилиту Fito перед работой

Любые программные доработки в 1С окажутся бесполезными, если сама онлайн-касса настроена некорректно на уровне внутренних таблиц. Перед запуском обновленной 1С обязательно убедитесь, что специалисты сервисного центра или ваши системные администраторы правильно провели технологическую перерегистрацию кассы под ФФД 1.05.

Для настройки параметров «Пирит 02Ф» выполните следующие действия:

  1. Запустите сервисную утилиту Fito (версии не ниже 2.1.46 для старых платформ или 2.5.10 для современных прошивок).
  2. Перейдите в меню настроек параметров ККТ и проверьте, чтобы в конфигурации была указана актуальная Система налогообложения (СНО) по умолчанию, которая используется в вашей организации. При несовпадении СНО в 1С и в таблицах кассы чек будет аннулирован.
  3. Проверьте параметры связи с ОФД. ККТ должна успешно проходить тест связи с сервером оператора фискальных данных.
  4. При необходимости обновите внутреннюю прошивку ККТ до версии, которая полноценно поддерживает ФФД 1.05 и ставки НДС 20% (для предотвращения ошибок округления налоговых ставок в чеках).

Резюме

Старая связка 1С 7.7 с ККТ «Пирит» через библиотеку CrystalsPiritFR01K.dll больше не может работать в условиях ФФД 1.05, так как аппаратно-программные требования ККТ изменились. Для решения проблемы вам потребуется либо переписать обработку обслуживания под OPOS-драйвер, либо использовать внешние COM-обертки (.NET/ActiveX) для связи 1С 7.7 с новым XML-драйвером Дримкас. Перед программированием обязательно обновите прошивку кассы и проверьте ее настройки в сервисной утилите Fito.

← На главную