Methods_common_ecr - shtrih-m/fr_drv_ng GitHub Wiki

Общие методы работы с фискальными регистраторами(ФР): связь, состояние, модель, прогон, ДЯ, гудок, сброс

Связь с ФР

Members Descriptions
public int Connect() Установить связь
public int Disconnect() Разорвать связь.
public int FindDevice() Поиск устройства
public int SetExchangeParam() Установить Параметры Обмена.
public int GetExchangeParam() Получить параметры обмена.

Состояние ФР

Members Descriptions
public int GetECRStatus() Получить состояние ККМ.
public int GetShortECRStatus() Получить короткий запрос состояния ККМ.

Модель ФР

Members Descriptions
public int GetDeviceMetrics() Получить параметры устройства.
public int ReadModelParamDescription() Прочитать описание параметра модели
public int ReadModelParamValue() Прочитать параметр модели

Тестовый прогон

Members Descriptions
public int Test() Тестовый прогон.
public int InterruptTest() Прервать тестовый прогон.

Денежный ящик

Members Descriptions
public int OpenDrawer() Открыть денежный ящик.
public int ReadCashDrawerSum() Получить сумму денег в денежном ящике

Описание ошибки ФР

Members Descriptions
public int ClearResult() Очистить код ошибки
public int ReadErrorDescription() Получить описание ошибки
public int ReadLastErrorDescription() Получить описание последней ошибки

Другие методы

Members           &nbsp                      Descriptions
public int Beep() Гудок.
public int ExchangeBytes() Метод посылает последовательность байтов от хоста в ККТ и получает ответ.
public int OFDExchange() Выполнить единичный обмен с ОФД средствами драйвера(EoD)
public int RebootKKT() Перезагрузить ККТ.
public int ResetECR() Сброс ККМ
public int WaitForPrinting() Ожидать завершения печати.

Members

public int Beep()

Гудок.

Выдача звукового сигнала на ККМ.

Метод может вызываться в любом режиме. Не меняет режима ККМ.

Используемые свойства:

  • Password - пароль оператора.

Модифицируемые свойства:

  • OperatorNumber - порядковый номер оператора, чей пароль был использован.

Returns

Код ошибки

public int ClearResult()

Очистить код ошибки

Устанавливает значения свойств ResultCode и ResultCodeDescription в 0 и "Ошибок нет"

Returns

Код ошибки

public int Connect()

Установить связь

Используемые свойства:

  • Password - пароль оператора,

  • ComNumber - номер Com-порта ПК к которому подсоединена ККМ (0 – порт 1),

  • BaudRate - скорость обмена между ККМ и подключенным к ней устройством,

  • Timeout - таймаут приема байта,

  • ComputerName - имя компьютера, к которому подключена ККТ,

  • ProtocolType - тип протокола,

  • ConnectionType -тип подключения,

  • TCPPort - TCP порт ККТ,

  • IPAddress - IP адрес,

  • UseIPAddress - использовать при подключении IPAddress или ComputerName.

Returns

Код ошибки

public int Disconnect()

Разорвать связь.

Освобождает COM-порт ПК, занятый под драйвер методом Connect.

Returns

Код ошибки

public int ExchangeBytes()

Метод посылает последовательность байтов от хоста в ККТ и получает ответ.

Посылает последовательность по текущему транспортному слою

Метод может вызываться в любой момент времени

Используемые свойства:

  • TransferBytes - Последовательность байтов, посылаемая от хоста в ККТ.

Модифицируемые свойства:

Returns

Код ошибки

public int FindDevice()

Поиск устройства

Ищет устройство в зависимости от свойства ConnectionType если #TConnectionType::Tcp - слушает широковещательную рассылку от ККТ в сети. Иначе пытается установить соединение по протоколу ФР со всеми COM/tty портами в системе

Используемые свойства:

Модифицируемые свойства:

  • ConnectionURI - URI обнаруженного устройства

  • IPAddress - IP адрес обнаруженного устройства

  • ComputerName - IP адрес обнаруженного устройства

  • TCPPort - TCP порт обнаруженного устройства

  • ComNumber - индекс COM порта в системе

  • BaudRate - скорость соединения по COM

public int GetDeviceMetrics()

Получить параметры устройства.

Запрашивает технические параметры устройства.

Метод может вызываться в любом режиме. Не меняет режима ККМ.

Модифицируемые свойства:

  • UMajorProtocolVersion - версия протокола связи с ПК, используемая устройством,

  • UMinorProtocolVersion - подверсия протокола связи с ПК, используемая устройством,

  • UMajorType - тип запрашиваемого устройства,

  • UMinorType - подтип запрашиваемого устройства,

  • UModel - модель запрашиваемого устройства,

  • UCodePage - кодовая страница, используемая устройством,

  • UDescription - название устройства,

  • CapGetShortECRStatus - команда GetShortECRStatus поддерживается.

Returns

Код ошибки

public int GetECRStatus()

Получить состояние ККМ.

Метод запрашивает состояние ККМ.

Метод может вызываться в любом режиме, кроме режима 1. Не меняет режима ККМ.

Используемые свойства:

  • Password - пароль оператора.

Модифицируемые свойства:

  • OperatorNumber - порядковый номер оператора, чей пароль был использован,

  • ECRSoftVersion - версия внутреннего программного обеспечения ККМ,

  • ECRBuild - номер сборки ПО ККМ,

  • ECRSoftDate - дата внутреннего программного обеспечения ККМ,

  • LogicalNumber - логический номер ККМ в торговом зале,

  • OpenDocumentNumber - сквозной номер последнего документа ККМ,

  • ECRFlags - флаги ККМ,

  • ReceiptRibbonIsPresent - рулон чековой ленты есть,

  • JournalRibbonIsPresent - рулон операционного журнала есть,

  • SKNOStatus - последний статус СКНО (Для белорусских ККТ),

  • SlipDocumentIsPresent - подкладной документ есть,

  • SlipDocumentIsMoving - подкладной документ проходит под датчиком,

  • PointPosition - признак положения десятичной точки,

  • EKLZIsPresent - ЭКЛЗ есть,

  • JournalRibbonOpticalSensor - лента операционного журнала проходит под оптическим датчиком,

  • ReceiptRibbonOpticalSensor – чековая лента проходит под оптическим датчиком,

  • JournalRibbonLever - рычаг термоголовки операционного журнала опущен,

  • ReceiptRibbonLever - рычаг термоголовки чековой ленты опущен,

  • LidPositionSensor – крышка корпуса не установлена,

  • IsPrinterLeftSensorFailure – отказ левого датчика печатающего механизма,

  • IsPrinterRightSensorFailure – отказ правого датчика печатающего механизма,

  • PresenterIn – на входе накопителя есть бумага,

  • PresenterOut – на выходе накопителя есть бумага,

  • IsDrawerOpen – денежный ящик открыт,

  • IsEKLZOverflow – ЭКЛЗ близка к переполнению,

  • QuantityPointPosition - 3 знака после запятой,

  • ECRMode - режим ККМ,

  • ECRModeDescription - описание режима ККМ,

  • ECRMode8Status - одно из состояний, когда ККМ находится в режиме 8,

  • ECRModeStatus - одно из состояний, когда ККМ находится в режимах 13 и 14,

  • ECRAdvancedMode подрежим ККМ,

  • ECRAdvancedModeDescription - описание подрежима ККМ,

  • PortNumber - порт ККМ, через который она подключена к ПК,

  • FMSoftVersion - версия внутреннего программного обеспечения ФП ККМ,

  • FMBuild - номер сборки ПО ФП ККМ,

  • FMSoftDate - дата внутреннего программного обеспечения ККМ,

  • Date - внутренняя дата ККМ,

  • Time - внутреннее время ККМ,

  • TimeStr - строковое представление свойства Time

  • FMFlags - флаги ФП ККМ,

  • FM1IsPresent – ФП1 есть,

  • FM2IsPresent – ФП2 есть,

  • LicenseIsPresent – лицензия введена,

  • FMOverflow – переполнение ФП,

  • IsBatteryLow – напряжение на батарее пониженное,

  • IsLastFMRecordCorrupted – последняя запись в ФП испорчена,

  • IsFMSessionOpen – смена в ФП открыта,

  • IsFM24HoursOver – 24 часа в ФП истекли,

  • SerialNumber - серийный номер ККМ,

  • SessionNumber - номер последней закрытой на ККМ смены,

  • FreeRecordInFM - количество свободных записей в ФП,

  • RegistrationNumber - количество перерегистраций(фискализаций), проведенных на ККМ,

  • FreeRegistration - количество оставшихся перерегистраций(фискализаций), которые можно произвести на ККМ,

  • INN - идентификационный номер налогоплательщика.

Returns

Код ошибки

public int GetExchangeParam()

Получить параметры обмена.

Метод запрашивает параметры порта ККМ (скорость обмена, таймаут приёма байта).

Метод может вызываться в любом режиме.Не меняет режима ККМ.

Используемые свойства:

  • Password - пароль для исполнения метода драйвера,

  • PortNumber - порт ККМ, через который она подключена к ПК.

Модифицируемые свойства:

  • OperatorNumber - порядковый номер оператора, чей пароль был использован.

  • BaudRate - cкорость обмена между ККМ и подключенным к ней устройством (соответствие между кодом скорости и её значением смотри в описании свойства),

  • Timeout - тайм-аут приема байта.

Returns

Код ошибки

public int GetShortECRStatus()

Получить короткий запрос состояния ККМ.

Метод запрашивает состояние ККМ.

Метод может вызываться в любом режиме, кроме режима 1. Не меняет режима ККМ.

Используемые свойства:

  • Password - пароль оператора.

Модифицируемые свойства:

Returns

Код ошибки

public int InterruptTest()

Прервать тестовый прогон.

Прерывает тестовый прогон ККМ.

  1. Переводит ККМ в режим, в котором она была до подачи команды Test.

Используемые свойства:

  • Password - пароль оператора.

Модифицируемые свойства:

  • OperatorNumber - порядковый номер оператора, чей пароль был использован.

Returns

Код ошибки

public int OFDExchange()

Выполнить единичный обмен с ОФД средствами драйвера(EoD)

Работает только с онлайн-кассами.

Работает во всех режимах. Не меняет режима ККМ.

Используемые свойства:

  • OFDServer - сервер ОФД

  • OFDPort - порт сервера ОФД

  • Timeout - таймаут обмена с ОФД в миллисекундах

Returns

Код ошибки

public int OpenDrawer()

Открыть денежный ящик.

Команда открывает обозначенный денежный ящик.

Любой. Не меняет режима ККМ.

Используемые свойства:

  • Password - пароль оператора,

  • DrawerNumber - номер денежного ящика.

Модифицируемые свойства:

  • OperatorNumber - порядковый номер оператора, чей пароль был использован.

Returns

Код ошибки

public int ReadCashDrawerSum()

Получить сумму денег в денежном ящике

Позволяет получить сумму денег в денежном ящике

Метод может вызываться в любом режиме. Не меняет режима ККМ.

Используемые свойства:

  • Password - пароль пользователя.

Модифицируемые свойства:

  • OperatorNumber - порядковый номер оператора, чей пароль был использован,

  • Summ1 - сумма денег в денежном ящике.

Returns

Код ошибки

public int ReadErrorDescription()

Получить описание ошибки

Используемые свойства:

Модифицируемые свойства:

Returns

Код ошибки

Получить описание последней ошибки

Модифицируемые свойства:

Поддерживается не всеми моделями

Returns

Код ошибки

Прочитать описание параметра модели

Используемые свойства:

Модифицируемые свойства:

Returns

Код ошибки

public int ReadModelParamValue()

Прочитать параметр модели.

Метод записывает значение параметра ModelParamNumber модели ККТ в свойство ModelParamValue.

Используемые свойства:

Модифицируемые свойства:

Returns

Код ошибки

public int RebootKKT()

Перезагрузить ККТ.

Перезагружает ККТ

Returns

Код ошибки

public int ResetECR()

Сброс ККМ.

Метод выполняет следующую последовательность действий

  • Выполняет команду ожидания печати (WaitForPrinting).

  • Запрашивает состояние ККТ и анализирует режим ККТ. Далее приведены значения режимов и действия программы:

Режим Действие Название команды
1 (Выдача данных) Прерывает выдачу данных InterruptDataStream
6 (Ожидание подтверждения вводе даты) Подтверждает дату ConfirmDate
8 (Открытый документ) Отменяет чек CancelCheck
10 (Тестовый прогон) Прерывает тестовый прогон InterruptTest
11, 12, 14 Ничего не делает
Другие значения режима ККТ Выход из метода
  • В случае возникновения ошибки возвращает значение -35. Устанавливает значения свойств: ResultCode = -35, ResultCodeDescription = «Не удалось сбросить ККМ».

  • Если цикл повторился менее или равно 10 раз, возвращается к пункту 1)

Используемые свойства:

  • Password - пароль оператора.

Returns

Код ошибки

public int SetExchangeParam()

Установить Параметры Обмена.

Метод устанавливает новые параметры связи ККМ с ПК.

Метод может вызываться в любом режиме.Не меняет режима ККМ.

Используемые свойства:

  • Password - пароль для исполнения метода драйвера,

  • PortNumber - порт ККМ, через который она подключена к ПК,

  • BaudRate - cкорость обмена между ККМ и подключенным к ней устройством (соответствие между кодом скорости и её значением смотри в описании свойства),

  • Timeout - тайм-аут приема байта.

Модифицируемые свойства:

  • OperatorNumber - порядковый номер оператора, чей пароль был использован.

Returns

Код ошибки

public int Test()

Тестовый прогон.

Эта команда запускает тестовый прогон ККМ, т.е. печать тестового чека через определенные промежутки времени. Прерывается тестовый прогон ККМ только командой InterruptTest.

Работает в режимах 2, 3, 4, 7, 9 и 16. Переводит ККМ или принтер в режим 10 (возврат в прежний режим – вызов метода InterruptTest).

Используемые свойства:

  • Password - пароль оператора,

  • RunningPeriod - период вывода тестового чека в минутах в режиме тестового прогона.

Модифицируемые свойства:

  • OperatorNumber - порядковый номер оператора, чей пароль был использован.

Returns

Код ошибки

public int WaitForPrinting()

Ожидать завершения печати.

Метод запрашивает состояние ККТ и анализирует подрежим ККТ. В случае отсутствия связи запрос состояния повторяется до истечения времени, заданного в свойстве ConnectionTimeout. Далее приведены значения подрежимов и действия программы:

Подрежим Действие
0 - Бумага есть. Выход из метода.
1 - Пассивное отсутствие бумаги. Выдает ошибку -34: "Нет бумаги"
2 - Активное отсутствие бумаги. Выдает ошибку -34: "Нет бумаги"
3 - После активного отсутствия бумаги. ККТ ждет команду продолжения печати.Подает команду продолжения печати и возвращается в цикл.
4 - Фаза печати операции полных фискальных отчетов. Выполняет задержку, указанную в свойстве WaitForPrintingDelay и возвращается в цикл.
5 - Фаза печати операции. Выполняет задержку, указанную в свойстве WaitForPrintingDelay и возвращается в цикл.
Другие значения подрежима ФР Выход из метода.

Используемые свойства:

Returns

Код ошибки

⚠️ **GitHub.com Fallback** ⚠️