Работа с OPOS драйвером на примере печати X-отчета ККТ Пирит 2Ф

Печать X-отчета в 1С с помощью OPOS драйвера Pirit2F

Доброго дня!

В связи с тем, что Кристалл-Сервисс не реализовал во внешней компоненте CSIPirit_1C8 печать X-отчета, а DKViki_1C8 работает с ошибками на ККТ Пирит 2Ф, решил реализовать данный функционал через OPOS-драйвер. Для начала нужно установить OPOS драйвер (если не установлен). Далее задать параметры устройства через утилиту TestOPOS. У меня находится в каталоге C:Program Files (x86)CSIPirit2F OPOS Driver.

Настройки выставил следующие:

Важно указать кодировку 1251 и нужный порт, в моем случае это COM11
Далее нужно посмотреть какой ProgID у OPOS драйвера, чтобы создать COM  объект через 1С. Сделать это можно через MS Excel в панели «Разработчик» -> «Надстройки Excel» -> «Автоматизация»:

После всех настроек пишем такой код для печати X-отчета:

&НаКлиенте
Процедура ХОтчет(Команда)

// создаем COM-объект
Попытка
Printer = Новый COMОбъект("OPOS.FiscalPrinter.1.12");
Исключение
Сообщить("Ошибка: на данном компьютере не установлен драйвер OPOS Пирит 2Ф");
Возврат;
КонецПопытки;

// открываем устройство
Printer.Open("Pirit");
Если Printer.ResultCode <> 0 Тогда
Сообщить("Ошибка OPOS-драйвера ККТ: "+Printer.ErrorString);
Возврат;
КонецЕсли;

// получаем доступ к устройству
Printer.ClaimDevice(10000);
Если Printer.ResultCode <> 0 Тогда
Сообщить("Ошибка OPOS-драйвера ККТ: "+Printer.ErrorString);
Возврат;
КонецЕсли;

// устанавливаем свойство использования устройства
Printer.DeviceEnabled = Истина;
// регистрируем кассира (номер кассы, имя кассира)
Printer.SetPOSID("1", ИмяПользователя());

// печатаем X-отчет
Printer.PrintXReport();
Если Printer.ResultCode <> 0 Тогда
Сообщить("Ошибка OPOS-драйвера ККТ: "+Printer.ErrorString);
КонецЕсли;

// устанавливаем свойство использования на "Ложь", перед освобождением устройства
Printer.DeviceEnabled = Ложь;
// освобождаем устройство
Printer.ReleaseDevice();
// завершаем работу с устройством
Printer.Close();

КонецПроцедуры

После чего X-отчет печатается на ККТ Пирит 2Ф без ошибок

5 Comments

  1. wmonref1

    Приветствую!

    Подскажите пожалуйста, какие команды OPOS используются для обычной работы с ККТ (продажа, возврат продажи) ?

    Спасибо!

    Reply
  2. w.r.

    (1) здравствуйте!

    Здесь перечислены команды https://its.1c.ru/db/metod8dev/content/1623/hdoc

    Еще посмотрите в PDF «Описание OPOS драйвера.pdf»

    Reply
  3. wmonref1

    (2)

    Спасибо, добрый дядя!

    Reply
  4. Rustig

    (0) Решения, меняющие стереотипы… вместо одного стереотипа будет другой…. 🙂 Кри’сталл-Сервис….

    я сталкивался также в другой программе, что Х-отчет разработчики не прописывали…. У них это что «закономерность» ? или Х-отчет не регламентирован законом? Хотя почему-то налоговые проверяющие, приходя на объект, просят распечатать именно Х-отчет…

    Reply
  5. w.r.

    (4)

    X отчёт не передаётся в ОФД и поэтому, видимо, его и проигнорировали на первых версиях CSIPirit_1C8. Халтура

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *