Package ru.nilsoft.tm

Class TMCommand

    • Constructor Summary

      Constructors 
      Constructor Description
      TMCommand()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static byte[] BytesToHex​(byte[] src, int srcLen)
      Конвертирование байтов в HEX-представление.
      static byte[] ByteToHex​(byte src)
      Конвертирование байта в HEX-представление.
      static byte ByteToHexNibble​(byte src, int part)
      Byte to hex-nibble conversion.
      static int CalcBCC​(byte[] buf, int startIndex, int len)
      Подсчет контрольной суммы.
      int CalcFields()
      Пересчитать количество полей в пакете.
      int CmdBar2Dprepare​(byte options, byte param, java.lang.String tAdd, java.lang.String tCode)
      Сборка команды "Подгтовка к печати 2D штрихкода" [1E].
      int CmdCertification​(java.lang.String tSerNum)
      Сборка команды "Сертификация" [92].
      int CmdCertification​(java.lang.String tSerNum, java.lang.String tCode)
      Сборка команды "Сертификация" [92].
      int CmdCorrection​(byte receiptType, java.lang.String tUserName, java.lang.String tUserINN, byte copies, byte taxType, java.lang.String tTotal, java.lang.String tCash, java.lang.String tCard, java.lang.String tAdvance, java.lang.String tCredit, java.lang.String tOncoming, byte corrType, java.lang.String tDescription, int date, java.lang.String tNumDoc, byte taxIndex)
      Deprecated.
      int CmdCorrection​(java.lang.String tDate, java.lang.String tTime, byte receiptType, java.lang.String tUserName, java.lang.String tUserINN, byte copies, byte taxType, java.lang.String tTotal, java.lang.String tCash, java.lang.String tCard, java.lang.String tAdvance, java.lang.String tCredit, java.lang.String tOncoming, byte corrType, java.lang.String tDescription, int date, java.lang.String tNumDoc, byte taxIndex)
      Deprecated.
      int CmdEJErase()
      Сборка команды "Стирание РПКУ" [85].
      int CmdEJGetParam()
      Сборка команды "Запрос параметров РПКУ" [49].
      int CmdEJNoDoc​(short DocNo, byte Over)
      Сборка команды "Документ по номеру из РПКУ" [7F].
      int CmdEJNoReport​(short DocStart, short DocEnd, byte Over)
      Сборка команды "Отчёт из РПКУ по номерам документов" [7E].
      int CmdEJPrint​(short ShiftNo)
      Сборка команды "Печать РПКУ" [84].
      int CmdEJShiftCloseReport​(short ShiftNo)
      Сборка команды "Печать 'Отчёта закрытия смены' из РПКУ" [7С].
      int CmdEJTimeReport​(java.lang.String tTimeStart, java.lang.String tTimeEnd, java.lang.String tDate)
      Сборка команды "Отчёт из РПКУ по времени" [7D].
      int CmdFNClose​(java.lang.String tOperatorName, java.lang.String tOperatorINN)
      Deprecated.
      int CmdFNClose​(java.lang.String tOperatorName, java.lang.String tOperatorINN, byte mode)
      Сборка команды "Закрытие ФН" [8D].
      int CmdFNClose​(java.lang.String tDate, java.lang.String tTime, java.lang.String tOperatorName, java.lang.String tOperatorINN)
      Deprecated.
      int CmdFNClose​(java.lang.String tDate, java.lang.String tTime, java.lang.String tOperatorName, java.lang.String tOperatorINN, byte mode)
      Сборка команды "Закрытие ФН" [8D].
      int CmdFNGetCommStatus()
      Сборка команды "Получить из ФН статус обмена с ОФД" [2B].
      int CmdFNGetDoc​(int numDoc, byte mode)
      Сборка команды "Документ по номеру из ФН" [8B].
      int CmdFNGetError()
      Сборка команды "Запрос последних ошибок ФН" [2A].
      int CmdFNGetRegParam​(short tlvId)
      Сборка команды "Запрос параметров регистрации" [88].
      int CmdFNGetStatus()
      Сборка команды "Запрос статуса ФН" [29].
      int CmdFNGetTotal​(byte numReg, boolean bPrint)
      Сборка команды "Итоги регистрации" [8F].
      int CmdFNRead​(short offSet, short size)
      Сборка команды "Чтение блока документа из ФН" [5B].
      int CmdFNReadCancel()
      Сборка команды "Отмена чтения документа из ФН" [5C].
      int CmdFNReadClose()
      Сборка команды "Завершение чтения документа" [5D].
      int CmdFNReadOpen()
      Сборка команды "Начать чтение документа из ФН" [5A].
      int CmdFNSetCommStatus​(boolean bConn)
      Сборка команды "Установить в ФН статус обмена с ОФД" [5F].
      int CmdFNWriteScript​(byte[] data)
      Сборка команды "Сохранение квитанции полученой от ОФД" [5E].
      int CmdFromCash​(java.lang.String tSum, java.lang.String tUserName)
      Сборка команды "Инкассация" [33].
      int CmdFromCash​(java.lang.String tDate, java.lang.String tTime, java.lang.String tSum, java.lang.String tUserName)
      Сборка команды "Инкассация" [33].
      int CmdGetCurCounters()
      Сборка команды "Получение текущих номеров документов" [35].
      int CmdGetDateTime()
      Сборка команды "Чтение времени и даты" [43].
      int CmdGetDepNames()
      Сборка команды "Получение данных по отделам" [61].
      int CmdGetDocCounters()
      Сборка команды "Запрос счётчиков документов" [3D].
      int CmdGetHeader()
      Сборка команды "Чтение заголовка документа" [9A].
      int CmdGetInfo()
      Сборка команды "Получение информации о ККТ" [97].
      int CmdGetMoney()
      Сборка команды "Получить электронный отчёт" [34].
      int CmdGetMoney​(java.lang.String tDate, java.lang.String tTime)
      Сборка команды "Получить электронный отчёт" [34].
      int CmdGetParams()
      Сборка команды "Чтение параметров документа" [4D].
      int CmdGetPayment​(byte index)
      Сборка команды "Получение данных о виде платежа" [4B].
      int CmdGetResources()
      Сборка команды "Информация о свободных ресурсах" [03].
      int CmdGetResources​(java.lang.String tDate, java.lang.String tTime)
      Сборка команды "Информация о свободных ресурсах" [03].
      int CmdGetSerialNo()
      Сборка команды "Получение заводского номера ККТ" [96].
      int CmdGetTail()
      Сборка команды "Чтение окончания документа" [9B].
      int CmdGetWaitDocs()
      Сборка команды "Запрос количества неподтверждённых фискальных документов" [39].
      int CmdKMCheck​(byte type, byte[] code, byte offsetGS1_91, byte offsetGS1_92)
      Собрать команду "Передать код маркировки для проверки в ФН" [26].
      int CmdKMClean()
      Собрать команду "Очистить КМ из ФН" [23].
      int CmdKMGetStatus()
      Собрать команду "Запрос статуса КМ" [20].
      int CmdKMGetStatus​(byte dopCode)
      Собрать команду "Запрос статуса КМ"[20] c дополнительным параметром.
      int CmdKMNotifCreate​(byte plannedStatus, byte unitId, java.lang.String sQty, java.lang.String sLotSize)
      Собрать команду "Создать уведомление КМ" [24].
      int CmdKMNotifCreate​(byte plannedStatus, byte unitId, java.lang.String sQty, java.lang.String sLotSize, byte sendOverKKT)
      Собрать команду "Создать уведомление КМ" [24].
      int CmdKMOISMResp​(byte[] resp)
      Собрать команду "Отправить ответ ОИСМ в ФН" [25].
      int CmdKMSaveResult​(boolean isSave)
      Собрать команду "Сохранить результаты проверки КМ" [22]

      В ответе на эту команду возращаются следующие поля: Поле 5: (H2) Возвращаемое значение соответствует реквизиту ФФД 2106, возвращается только в случае сохранения
      int CmdKMTransfer​(short tag, byte[] code, byte IDproduct, byte offsetGS1, byte typeCode, byte plannedStatus, byte processMode, byte status)
      Собрать команду "Передача КМ" [21].
      int CmdNonFiscalClose()
      Сборка команды "Закрытие отчётного документа на чековой ленте" [52].
      int CmdNonFiscalFree()
      Сборка команды "Печать нефискального произвольного чека" [70].
      int CmdNonFiscalLine​(java.lang.String t)
      Сборка команды "Печать строки отчёта на чековой ленте" [51].
      int CmdNonFiscalLines​(java.lang.String[] t)
      Сборка команды "Печать строк отчёта на чековой ленте" [56].
      int CmdNonFiscalOpen()
      Сборка команды "Начало формирования отчётного документа на чековой ленте" [50].
      int CmdNonFiscalOpen​(java.lang.String tDate, java.lang.String tTime)
      Сборка команды "Начало формирования отчётного документа на чековой ленте" [50].
      int CmdNotifAutoConfirm​(byte addCmd, int numReq, short crc)
      Собрать команду "Подтвердить выгрузку уведомления или получить информацию по неподтверждённым уведомлениям (автономный режим)" [87].
      int CmdNotifAutoNext​(byte addCmd)
      Собрать команду "Перейти к следующему уведомлению, или получить параметры текущего уведомления (автономный режим)" [8A].
      int CmdNotifAutoReadData​(short offset, short size)
      Собрать команду "Прочитать блок данных текущего уведомления (автономный режим)" [89].
      int CmdNotifAutoReadStart​(byte addCmd)
      Собрать команду "Начать сессию выгрузку уведомлений, или получить состояние текущей сессии (автономный режим)" [80].
      int CmdNotifGetStatus()
      Собрать команду "Получить число уведомлений КМ" [27].
      int CmdNotifRead​(short offset, short size)
      Собрать команду "Прочитать блок данных уведомления" [2C].
      int CmdNotifReadCancel()
      Собрать команду "Отменить чтение уведомления" [2D].
      int CmdNotifReadClose()
      Собрать команду "Завершить чтение уведомления" [2E].
      int CmdNotifReadOpen()
      Собрать команду "Начать чтение уведомления" [28].
      int CmdNotifWriteReceipt​(byte[] data)
      Собрать команду "Передать квитанцию на уведомление (Передать квитанцию из ОИСМ в ФН)" [2F].
      int CmdOFDGetInfoUrl()
      Сборка команды "Получение адреса проверки чеков" [6E].
      int CmdOFDGetParam()
      Сборка команды "Получить параметры обмена с ОФД" [67].
      int CmdOFDGetParamExt​(byte index)
      Сборка команды "Получить параметры обмена с сервером ОФД/ОИСМ/AC ОКП" [67].
      int CmdOFDGetPaymentState()
      Сборка команды "Отчет о текущем состоянии расчетов" [3B].
      int CmdOFDGetTicket​(int numDoc, boolean bPrint)
      Сборка команды "Запрос Квитанции ОФД из ФН" [3A].
      int CmdOFDSetInfoUrl​(java.lang.String tURL)
      Сборка команды "Установка адреса проверки чеков" [6D].
      int CmdOFDSetParam​(java.lang.String tAddress, short port, short timeConn, short timeRecv, short timeSend)
      Сборка команды "Установить параметры обмена с ОФД" [66].
      int CmdOFDSetParamExt​(java.lang.String tAddress, short port, short timeConn, short timeRecv, short timeSend, byte index)
      Сборка команды "Установить параметры обмена с ОФД/ОИСМ/AC ОКП" [66].
      int CmdOnOffUPD​(boolean on)
      Сборка команды "Включение/выключение встроенного УПД" [65].
      int CmdPrintHeader()
      Сборка команды "Печать заголовка чека" [1D].
      int CmdReceiptAddTLV​(short TLVId, java.lang.String tData)
      Сборка команды "Добавление TLV структуры в документ" [6A].
      int CmdReceiptBarcode​(byte barType, byte barMode, byte barFont, byte height, byte width, java.lang.String tBarcode)
      Сборка команды "Печать штрих-кода" [1A].
      int CmdReceiptCancel()
      Сборка команды "Аннулирование" [17].
      int CmdReceiptClose()
      Сборка команды "Закрытие документа" [14].
      int CmdReceiptComission​(boolean isDiscount, java.lang.String tPercent, java.lang.String tSumma, java.lang.String tName)
      Сборка команды "Скидка/Наценка" [15].
      int CmdReceiptComment​(java.lang.String tComment)
      Сборка команды "Строка комментария" [1С].
      int CmdReceiptFree​(TMCommand.FreeFiscalReceipt receipt)
      Сборка команды "Произвольный фискальный чек" [73].
      int CmdReceiptItem​(java.lang.String tName, java.lang.String tCode, java.lang.String tPrice, java.lang.String tQty, java.lang.String tUnit, byte taxIndex, byte calcMethod, byte calcObject, byte agentType, byte depIndex, java.lang.String tDepName, java.lang.String tComment)
      Сборка команды "Оформление позиции товара/услуги" [11].
      int CmdReceiptOpen​(byte receiptType, java.lang.String tCashier, java.lang.String tCashierINN, java.lang.String tTableNum, java.lang.String tPlaceNum, byte copies, byte taxMode, java.lang.String tAccount, java.lang.String tComment)
      Сборка команды "Начало формирования кассового чека на чековой ленте" [10].
      int CmdReceiptOpen​(java.lang.String tDate, java.lang.String tTime, byte receiptType, java.lang.String tCashier, java.lang.String tCashierINN, java.lang.String tTableNum, java.lang.String tPlaceNum, byte copies, byte taxMode, java.lang.String tAccount, java.lang.String tComment)
      Сборка команды "Начало формирования кассового чека на чековой ленте" [10].
      int CmdReceiptSubtotal​(java.lang.String tComment)
      Сборка команды "Подитог" [16].
      int CmdReceiptTax​(byte taxIndex, java.lang.String tComment)
      Сборка команды "Налоговая ставка" [1B].
      int CmdReceiptTender​(byte payIndex, java.lang.String tSumma, java.lang.String tAdd, java.lang.String tComment)
      Сборка команды "Расчёт" [13].
      int CmdReceiptTotal​(java.lang.String tComment)
      Сборка команды "Итог по чеку" [12].
      int CmdRegistration_1_05​(java.lang.String tFirmName, java.lang.String tFirmINN, byte taxTypes, java.lang.String tRegKKT, short mode, java.lang.String tAutoNum, java.lang.String tOperatorName, java.lang.String tOperatorINN, java.lang.String tAddress, java.lang.String tOfdINN, java.lang.String tRegNum, byte reason, byte specific, byte agent, java.lang.String tOfdName, java.lang.String tEmail, java.lang.String tOfdURL, java.lang.String tPlace)
      Сборка команды "Регистрация (Перерегистрация)" ФФД1.05 [04].
      int CmdRegistration_1_05​(java.lang.String tDate, java.lang.String tTime, java.lang.String tFirmName, java.lang.String tFirmINN, byte taxTypes, java.lang.String tRegKKT, short mode, java.lang.String tAutoNum, java.lang.String tOperatorName, java.lang.String tOperatorINN, java.lang.String tAddress, java.lang.String tOfdINN, java.lang.String tRegNum, byte reason, byte specific, byte agent, java.lang.String tOfdName, java.lang.String tEmail, java.lang.String tOfdURL, java.lang.String tPlace)
      Сборка команды "Регистрация (Перерегистрация)" ФФД1.05 [04].
      int CmdRegistration_1_1​(java.lang.String tFirmName, java.lang.String tFirmINN, byte taxTypes, java.lang.String tRegKKT, short mode, java.lang.String tAutoNum, java.lang.String tOperatorName, java.lang.String tOperatorINN, java.lang.String tAddress, java.lang.String tOfdINN, java.lang.String tRegNum, byte reason, byte specific, byte agent, java.lang.String tOfdName, java.lang.String tEmail, java.lang.String tOfdURL, java.lang.String tPlace, int code)
      Сборка команды "Регистрация (Перерегистрация)" ФФД1.1 [04].
      int CmdRegistration_1_1​(java.lang.String tDate, java.lang.String tTime, java.lang.String tFirmName, java.lang.String tFirmINN, byte taxTypes, java.lang.String tRegKKT, short mode, java.lang.String tAutoNum, java.lang.String tOperatorName, java.lang.String tOperatorINN, java.lang.String tAddress, java.lang.String tOfdINN, java.lang.String tRegNum, byte reason, byte specific, byte agent, java.lang.String tOfdName, java.lang.String tEmail, java.lang.String tOfdURL, java.lang.String tPlace, int code)
      Сборка команды "Регистрация (Перерегистрация)" ФФД1.1 [04].
      int CmdRegistration_1_2​(java.lang.String tFirmName, java.lang.String tFirmINN, byte taxTypes, java.lang.String tRegKKT, int mode, java.lang.String tAutoNum, java.lang.String tOperatorName, java.lang.String tOperatorINN, java.lang.String tAddress, java.lang.String tOfdINN, java.lang.String tRegNum, byte reason, byte specific, byte agent, java.lang.String tOfdName, java.lang.String tEmail, java.lang.String tOfdURL, java.lang.String tPlace, int code, java.lang.String addReqOR, java.lang.String addDataOR)
      Сборка команды "Регистрация (Перерегистрация)" ФФД1.2 [04].
      int CmdRegistration_1_2​(java.lang.String tDate, java.lang.String tTime, java.lang.String tFirmName, java.lang.String tFirmINN, byte taxTypes, java.lang.String tRegKKT, int mode, java.lang.String tAutoNum, java.lang.String tOperatorName, java.lang.String tOperatorINN, java.lang.String tAddress, java.lang.String tOfdINN, java.lang.String tRegNum, byte reason, byte specific, byte agent, java.lang.String tOfdName, java.lang.String tEmail, java.lang.String tOfdURL, java.lang.String tPlace, int code, java.lang.String addReqOR, java.lang.String addDataOR)
      Сборка команды "Регистрация (Перерегистрация)" ФФД1.2 [04].
      int CmdServiceUpdateKeys​(byte addCmd)
      Собрать команду "Сервис обновления ключей проверки в ФН" [9E].
      int CmdServiceUpdateKeys​(byte addCmd, java.lang.String data)
      Собрать команду "Сервис обновления ключей проверки в ФН" [9E].
      int CmdSetDateTime()
      Сборка команды "Установка времени и даты" [42].
      int CmdSetDateTime​(java.lang.String tDate, java.lang.String tTime)
      Сборка команды "Установка времени и даты" [42].
      int CmdSetDepNames​(java.util.Map<java.lang.Byte,​java.lang.String> deps)
      Сборка команды "Программирование отделов" [60].
      int CmdSetHeader​(java.lang.String[] tStrings)
      Сборка команды "Установка заголовка документа" [41] (4 строки по 38 символов).
      int CmdSetHeaderExt​(java.lang.String[] tStrings)
      Сборка команды "Установка заголовка документа (расширенная)" [4E] (6 строк по 40 символов).
      int CmdSetParams​(short param1, short param2, short lineFeed)
      Deprecated.
      int CmdSetParams​(short param1, short param2, short lineFeed, short param4)
      Сборка команды "Программирование параметров документов" [4C].
      int CmdSetPayment​(byte index, java.lang.String tName, boolean isSecond, boolean isCharge, byte currency, byte mask, java.lang.String tConvertCurrency)
      Сборка команды "Программирование вида платежа" [4A].
      int CmdSetTail​(java.lang.String[] tStrings)
      Сборка команды "Установка окончания документа" [46]
      int CmdShiftClose​(java.lang.String tOperator, java.lang.String tOperatorInn, java.lang.String tMessage, java.lang.String tAdd, boolean bNotPrint)
      Сборка команды "Закрыть смену" [31].
      int CmdShiftClose​(java.lang.String tDate, java.lang.String tTime, java.lang.String tOperator, java.lang.String tOperatorInn, java.lang.String tMessage, java.lang.String tAdd, boolean bNotPrint)
      Сборка команды "Закрыть смену" [31].
      int CmdShiftOpen​(java.lang.String tOperator, java.lang.String tOperatorInn, java.lang.String tMessage, java.lang.String tAdd, java.lang.String tShift)
      Сборка команды "Открыть смену" [02].
      int CmdShiftOpen​(java.lang.String tDate, java.lang.String tTime, java.lang.String tOperator, java.lang.String tOperatorInn, java.lang.String tMessage, java.lang.String tAdd, java.lang.String tShift)
      Сборка команды "Открыть смену" [02].
      int CmdShiftReport()
      Сборка команды "Отчет о текущем состоянии" [30].
      int CmdShiftReport​(java.lang.String tDate, java.lang.String tTime)
      Сборка команды "Отчет о текущем состоянии" [30].
      int CmdStart()
      Сборка команды "Начало сеанса" [01].
      int CmdStart​(java.lang.String tDate, java.lang.String tTime)
      Сборка команды "Начало сеанса" [01].
      int CmdStartMonitor()
      Сборка команды "Переключение контроллера в сервисный режим" [93].
      int CmdToCash​(java.lang.String tSum, java.lang.String tUserName)
      Сборка команды "Подкрепление" [32].
      int CmdToCash​(java.lang.String tDate, java.lang.String tTime, java.lang.String tSum, java.lang.String tUserName)
      Сборка команды "Подкрепление" [32].
      static java.lang.String Cp866toUtf8​(java.lang.String src)
      Конвертирование строки из UTF8 в CP866.
      byte[] GetCmdBuf()
      Получить данные.
      int GetCmdBufLen()
      Получение размера пакета.
      int GetCmdCode()
      Получение кода команды.
      byte GetCmdId()
      Получить отличительный байт команды.
      int GetDynamicStatus()
      Получение динамического статуса из ответа.
      byte[] GetField​(int fieldIndex)
      Получение поля из пакета.
      byte[] GetFieldBin​(int fieldIndex)
      Получение бинарного поля (конвертация из Hex).
      byte GetFieldHexB​(int fieldIndex)
      Получение поля как байта.
      int GetFieldHexDW​(int fieldIndex)
      Получение поля как двойного слова.
      short GetFieldHexW​(int fieldIndex)
      Получение поля как слова.
      int GetFieldLength​(int fieldIndex)
      Получение длины поля из пакета.
      int GetFieldOffset​(int fieldIndex)
      Получить стартовый индекс (смещение) поля из пакета.
      int GetFields()
      Получить количество полей.
      java.lang.String GetFieldString​(int fieldIndex)
      Получение поля команды как строки.
      java.lang.String GetFieldValue​(int fieldIndex)
      Получение поля команды как строки.
      int GetHardStatus()
      Получение постоянного статуса из ответа.
      static byte GetId()
      Получение текущего проверочного байта для команды (автоинкрементируется).
      int GetMainError()
      Получение кода основной ошибки из ответа.
      static java.lang.String GetPrefix()
      Получение префикса команды.
      int GetSubError()
      Получение кода дополнительной ошибки из ответа.
      static byte GetUnitID​(java.lang.String ed)
      Определение меры количества предмета расчёта по популярным сокращениям (не всем возможным) для ФФД 1.2 - для неопознанного сокращения возвращается 255 (иная единица измерения); - входная строка также может содержать непосредственное HEX-значение в формате xNN.
      static java.lang.String GetUnitIDHex​(java.lang.String ed)
      Определение меры количества предмета расчёта по популярным сокращениям (не всем возможным) для ФФД 1.2 - для неопознанного сокращения возвращается 'FF' (иная единица измерения); - входная строка также может содержать непосредственное HEX-значение в формате xNN.
      static byte HexToByte​(byte[] src, int startIndex)
      Конвертирование шестанадцатеричной строки в байт.
      static byte[] HexToBytes​(byte[] src)
      Конвертирование шестанадцатеричной строки в байтовый массив.
      static byte[] HexToBytes​(byte[] src, int srcLen)
      Конвертирование шестанадцатеричной строки в байтовый массив.
      static int HexToDWord​(byte[] src, int startIndex)
      Конвертирование набора байт в двойное слово.
      static short HexToWord​(byte[] src, int startIndex)
      Конвертирование набора байт в слово.
      boolean IsCmdId()
      Проверка отличительного байта команды.
      static boolean IsPrefix​(byte[] data, int startIndex)
      Проверка что данные соотвествуют префиксу.
      int MakeBin​(byte[] src)
      Добавление бинарного поля (конвертация в Hex).
      int MakeCashier​(java.lang.String name, java.lang.String inn)
      Создать поле с информацией о кассире.
      int MakeDate()
      Добавление поля даты в команду (использует текущее время).
      int MakeDate​(java.util.Calendar cal)
      Добавление поля даты в команду.
      int MakeFreeField​(TMCommand.FreeFiscalReceipt.FreeField field)
      Создание дополнительного поля произвольного чека.
      int MakeHeader​(byte cmdCode)
      Создание заголовочного поля команды.
      int MakeHexB​(byte src)
      Make hex byte field of command.
      int MakeHexDW​(int src)
      Make hex double word field of command.
      int MakeHexW​(short src)
      Make hex word field of command.
      int MakePosField​(TMCommand.FreeFiscalReceipt.PosField field)
      Создание обязательного поля произвольного чека.
      int MakeString​(java.lang.String src)
      Создание строкового поля (с конвертацией CP866).
      int MakeTail()
      Создание завершающей части команды.
      int MakeTime()
      Добавление поля времени в команду (использует текущее время).
      int MakeTime​(java.util.Calendar cal)
      Добавление поля времени в команду.
      int MakeValue​(java.lang.String src)
      Создание строкового поля (без конвертации в CP866).
      void ReCalcBCC()
      Перерасчет контрольного значения (BCC) пакета.
      void Replace​(int index, byte data)
      Изменение данных пакета.
      void Replace​(int index, byte[] data)
      Изменение данных пакета.
      int SetPacket​(byte[] data)
      Установка пакета (проверка что пакет является командой и его установка).
      int SetPacket​(byte[] data, int length)
      Установка пакета (проверка что пакет является командой и его установка).
      java.lang.String toString()
      Вывод ввиде строки.
      static java.lang.String Utf8toCp866​(java.lang.String src)
      Конвертирование строки из UTF8 в CP866.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • TMCommand

        public TMCommand()
    • Method Detail

      • GetId

        public static byte GetId()
        Получение текущего проверочного байта для команды (автоинкрементируется).
        Returns:
        проверочный байт.
      • HexToBytes

        public static byte[] HexToBytes​(byte[] src,
                                        int srcLen)
        Конвертирование шестанадцатеричной строки в байтовый массив.
        Parameters:
        src - исходный буфер (шестнадцатеричная строка).
        srcLen - длина данных для конвертации.
        Returns:
        байтовый массив.
      • HexToBytes

        public static byte[] HexToBytes​(byte[] src)
        Конвертирование шестанадцатеричной строки в байтовый массив.
        Parameters:
        src - исходный буфер (шестнадцатеричная строка).
        Returns:
        байтовый массив.
      • HexToByte

        public static byte HexToByte​(byte[] src,
                                     int startIndex)
        Конвертирование шестанадцатеричной строки в байт.
        Parameters:
        src - исходный буфер (шестнадцатеричная строка).
        startIndex - индекс начала данных в исходном буфере.
        Returns:
        байт.
      • HexToWord

        public static short HexToWord​(byte[] src,
                                      int startIndex)
        Конвертирование набора байт в слово.
        Parameters:
        src - буфер с исходными данными.
        startIndex - стартовый индекс начала данных.
        Returns:
        значение ввиде слова.
      • HexToDWord

        public static int HexToDWord​(byte[] src,
                                     int startIndex)
        Конвертирование набора байт в двойное слово.
        Parameters:
        src - буфер с исходными данными.
        startIndex - стартовый индекс начала данных.
        Returns:
        значение ввиде двойного слова.
      • BytesToHex

        public static byte[] BytesToHex​(byte[] src,
                                        int srcLen)
        Конвертирование байтов в HEX-представление.
        Parameters:
        src - буфер с исходными данными.
        srcLen - длина данных.
        Returns:
        HEX-представление.
      • ByteToHex

        public static byte[] ByteToHex​(byte src)
        Конвертирование байта в HEX-представление.
        Parameters:
        src - исходный байт.
        Returns:
        HEX-представление.
      • ByteToHexNibble

        public static byte ByteToHexNibble​(byte src,
                                           int part)
        Byte to hex-nibble conversion.
        Parameters:
        src - source byte.
        part - part of byte (0 - low 4bit, 1 - hi 4bit).
        Returns:
        hex-nibble.
      • Utf8toCp866

        public static java.lang.String Utf8toCp866​(java.lang.String src)
        Конвертирование строки из UTF8 в CP866.
        Parameters:
        src - UTF8 строка.
        Returns:
        CP866 строка.
      • Cp866toUtf8

        public static java.lang.String Cp866toUtf8​(java.lang.String src)
        Конвертирование строки из UTF8 в CP866.
        Parameters:
        src - CP866 строка.
        Returns:
        UTF8 строка.
      • CalcBCC

        public static int CalcBCC​(byte[] buf,
                                  int startIndex,
                                  int len)
        Подсчет контрольной суммы.
        Parameters:
        buf - набор байт.
        startIndex - стартовый индекс.
        len - длина в байтах, начиная от стартового индекса.
        Returns:
        контрольная сумма.
      • IsPrefix

        public static boolean IsPrefix​(byte[] data,
                                       int startIndex)
        Проверка что данные соотвествуют префиксу.
        Parameters:
        data - буффер с данными.
        startIndex - отступ от начала буфера.
        Returns:
        true: соответствуют, false: не соответствуют.
      • GetUnitID

        public static byte GetUnitID​(java.lang.String ed)
        Определение меры количества предмета расчёта по популярным сокращениям (не всем возможным) для ФФД 1.2 - для неопознанного сокращения возвращается 255 (иная единица измерения); - входная строка также может содержать непосредственное HEX-значение в формате xNN.
        Parameters:
        ed - строка для определения.
        Returns:
        код единицы измерения (TMCommand.unit_id).
      • GetUnitIDHex

        public static java.lang.String GetUnitIDHex​(java.lang.String ed)
        Определение меры количества предмета расчёта по популярным сокращениям (не всем возможным) для ФФД 1.2 - для неопознанного сокращения возвращается 'FF' (иная единица измерения); - входная строка также может содержать непосредственное HEX-значение в формате xNN.
        Parameters:
        ed - строка для определения.
        Returns:
        код единицы измерения в hex строке (TMCommand.unit_id).
      • GetCmdBuf

        public byte[] GetCmdBuf()
        Получить данные.
        Returns:
        данные ввиде набора байт.
      • GetCmdBufLen

        public int GetCmdBufLen()
        Получение размера пакета.
        Returns:
        размер пакета.
      • CalcFields

        public int CalcFields()
        Пересчитать количество полей в пакете.
        Returns:
        количество полей.
      • GetFields

        public int GetFields()
        Получить количество полей.
        Returns:
        количество полей.
      • GetField

        public byte[] GetField​(int fieldIndex)
        Получение поля из пакета.
        Parameters:
        fieldIndex - индекс поля.
        Returns:
        null: ошибка, иначе поле ввиде набора байт.
      • GetFieldLength

        public int GetFieldLength​(int fieldIndex)
        Получение длины поля из пакета.
        Parameters:
        fieldIndex - индекс поля.
        Returns:
        -1: поле не найдено, иначе длина поля.
      • GetFieldOffset

        public int GetFieldOffset​(int fieldIndex)
        Получить стартовый индекс (смещение) поля из пакета.
        Parameters:
        fieldIndex - индекс поля
        Returns:
        0: ошибка, иначе смещение поля в пакете
      • GetCmdCode

        public int GetCmdCode()
        Получение кода команды.
        Returns:
        -1 ошибка, иначе код команды.
      • GetCmdId

        public byte GetCmdId()
        Получить отличительный байт команды.
        Returns:
        отличительный байт или ( <0 ) код ошибки.
      • IsCmdId

        public boolean IsCmdId()
        Проверка отличительного байта команды.
        Returns:
        false: байт не совпадает, true: байт совпадает.
      • GetMainError

        public int GetMainError()
        Получение кода основной ошибки из ответа.
        Returns:
        -1 ошибка, иначе код ошибки из ответа TMCommand.errors.
      • GetSubError

        public int GetSubError()
        Получение кода дополнительной ошибки из ответа.
        Returns:
        -1 ошибка, иначе код дополнительной ошибки из ответа.
      • GetHardStatus

        public int GetHardStatus()
        Получение постоянного статуса из ответа.
        Returns:
        -1 ошибка, иначе постоянный статус TMCommand.hard_status_flags.
      • GetDynamicStatus

        public int GetDynamicStatus()
        Получение динамического статуса из ответа.
        Returns:
        -1 ошибка, иначе динамический статус TMCommand.dynamic_status_flags.
      • GetFieldHexB

        public byte GetFieldHexB​(int fieldIndex)
        Получение поля как байта.
        Parameters:
        fieldIndex - индекс поля.
        Returns:
        значение поля (0: если не найдено).
      • GetFieldHexW

        public short GetFieldHexW​(int fieldIndex)
        Получение поля как слова.
        Parameters:
        fieldIndex - индекс поля.
        Returns:
        значение поля (0: если не найдено).
      • GetFieldHexDW

        public int GetFieldHexDW​(int fieldIndex)
        Получение поля как двойного слова.
        Parameters:
        fieldIndex - индекс поля.
        Returns:
        значение поля (0: если не найдено).
      • GetFieldValue

        public java.lang.String GetFieldValue​(int fieldIndex)
        Получение поля команды как строки. (без конвертации кодировки).
        Parameters:
        fieldIndex - индекс поля.
        Returns:
        значение поля (пустая строка: если не найдено).
      • GetFieldString

        public java.lang.String GetFieldString​(int fieldIndex)
        Получение поля команды как строки. (с конвертацией кодировки из CP866).
        Parameters:
        fieldIndex - индекс поля.
        Returns:
        значение поля (пустая строка: если не найдено).
      • GetFieldBin

        public byte[] GetFieldBin​(int fieldIndex)
        Получение бинарного поля (конвертация из Hex).
        Parameters:
        fieldIndex - индекс поля.
        Returns:
        данные поля (null если пустое поле).
      • SetPacket

        public int SetPacket​(byte[] data)
        Установка пакета (проверка что пакет является командой и его установка).
        Parameters:
        data - данные пакета.
        Returns:
        -1 ошибка, иначе количество полей в пакете.
      • SetPacket

        public int SetPacket​(byte[] data,
                             int length)
        Установка пакета (проверка что пакет является командой и его установка).
        Parameters:
        data - данные пакета.
        length - длина пакета.
        Returns:
        -1 ошибка, иначе количество полей в пакете.
      • GetPrefix

        public static java.lang.String GetPrefix()
        Получение префикса команды.
        Returns:
        префикс команды.
      • toString

        public java.lang.String toString()
        Вывод ввиде строки.
        Overrides:
        toString in class java.lang.Object
        Returns:
        строка для вывода.
      • Replace

        public void Replace​(int index,
                            byte data)
        Изменение данных пакета.
        Parameters:
        index - индекс (отступ) изменяемых данных пакета.
        data - новое значение.
      • Replace

        public void Replace​(int index,
                            byte[] data)
        Изменение данных пакета.
        Parameters:
        index - индекс (отступ) изменяемых данных пакета.
        data - новое значение.
      • ReCalcBCC

        public void ReCalcBCC()
        Перерасчет контрольного значения (BCC) пакета.
      • MakeHexB

        public int MakeHexB​(byte src)
        Make hex byte field of command.
        Parameters:
        src - byte of data.
        Returns:
        текущая длина сообщения.
      • MakeHexW

        public int MakeHexW​(short src)
        Make hex word field of command.
        Parameters:
        src - word of data.
        Returns:
        текущая длина сообщения.
      • MakeHexDW

        public int MakeHexDW​(int src)
        Make hex double word field of command.
        Parameters:
        src - double word of data.
        Returns:
        текущая длина сообщения.
      • MakeValue

        public int MakeValue​(java.lang.String src)
        Создание строкового поля (без конвертации в CP866).
        Parameters:
        src - строка.
        Returns:
        текущая длина сообщения.
      • MakeString

        public int MakeString​(java.lang.String src)
        Создание строкового поля (с конвертацией CP866).
        Parameters:
        src - строка.
        Returns:
        текущая длина сообщения.
      • MakeCashier

        public int MakeCashier​(java.lang.String name,
                               java.lang.String inn)
        Создать поле с информацией о кассире.
        Parameters:
        name - ФИО кассира.
        inn - ИНН кассира (необязательное поле).
        Returns:
        текущая длина сообщения.
      • MakeBin

        public int MakeBin​(byte[] src)
        Добавление бинарного поля (конвертация в Hex).
        Parameters:
        src - массив байт.
        Returns:
        текущая длина сообщения.
      • MakeDate

        public int MakeDate()
        Добавление поля даты в команду (использует текущее время).
        Returns:
        текущая длина сообщения.
      • MakeTime

        public int MakeTime()
        Добавление поля времени в команду (использует текущее время).
        Returns:
        текущая длина сообщения.
      • MakeDate

        public int MakeDate​(java.util.Calendar cal)
        Добавление поля даты в команду.
        Parameters:
        cal - объект-календарь.
        Returns:
        текущая длина сообщения.
      • MakeTime

        public int MakeTime​(java.util.Calendar cal)
        Добавление поля времени в команду.
        Parameters:
        cal - объект-календарь.
        Returns:
        текущая длина сообщения.
      • MakeHeader

        public int MakeHeader​(byte cmdCode)
        Создание заголовочного поля команды.
        Parameters:
        cmdCode - код команды.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • MakeTail

        public int MakeTail()
        Создание завершающей части команды.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • MakePosField

        public int MakePosField​(TMCommand.FreeFiscalReceipt.PosField field)
        Создание обязательного поля произвольного чека.
        Parameters:
        field - описатель поля.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • MakeFreeField

        public int MakeFreeField​(TMCommand.FreeFiscalReceipt.FreeField field)
        Создание дополнительного поля произвольного чека.
        Parameters:
        field - описатель поля.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdStart

        public int CmdStart()
        Сборка команды "Начало сеанса" [01].
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdStart

        public int CmdStart​(java.lang.String tDate,
                            java.lang.String tTime)
        Сборка команды "Начало сеанса" [01].
        Parameters:
        tDate - дата чека ДДММГГ (6 байт).
        tTime - время чека ЧЧММ (4 байта).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdPrintHeader

        public int CmdPrintHeader()
        Сборка команды "Печать заголовка чека" [1D].
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdBar2Dprepare

        public int CmdBar2Dprepare​(byte options,
                                   byte param,
                                   java.lang.String tAdd,
                                   java.lang.String tCode)
        Сборка команды "Подгтовка к печати 2D штрихкода" [1E].
        Parameters:
        options - опции 2D штрихкода.
        param - параметры 2D штрихкода
        tAdd - дополнительные данные.
        tCode - текст штрихкода.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdNonFiscalFree

        public int CmdNonFiscalFree()
        Сборка команды "Печать нефискального произвольного чека" [70]. (В КФН используется как пустая команда, не выполняющая никаких действий).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdShiftReport

        public int CmdShiftReport()
        Сборка команды "Отчет о текущем состоянии" [30].
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdShiftReport

        public int CmdShiftReport​(java.lang.String tDate,
                                  java.lang.String tTime)
        Сборка команды "Отчет о текущем состоянии" [30].
        Parameters:
        tDate - дата чека ДДММГГ (6 байт).
        tTime - время чека ЧЧММ (4 байта).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdShiftOpen

        public int CmdShiftOpen​(java.lang.String tOperator,
                                java.lang.String tOperatorInn,
                                java.lang.String tMessage,
                                java.lang.String tAdd,
                                java.lang.String tShift)
        Сборка команды "Открыть смену" [02].
        Parameters:
        tOperator - имя кассира открывающего смену (до 64 байта).
        tOperatorInn - ИНН оператора, проводящего регистрацию (12 байт).
        tMessage - сообщение для ОФД [резервировано для ФФД 1.05](до 250 байт).
        tAdd - дополнительные реквизиты [резервировано для ФФД 1.05](до 250 байт).
        tShift - реквизиты смены (до 255 байта).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdShiftOpen

        public int CmdShiftOpen​(java.lang.String tDate,
                                java.lang.String tTime,
                                java.lang.String tOperator,
                                java.lang.String tOperatorInn,
                                java.lang.String tMessage,
                                java.lang.String tAdd,
                                java.lang.String tShift)
        Сборка команды "Открыть смену" [02].
        Parameters:
        tDate - дата чека ДДММГГ (6 байт).
        tTime - время чека ЧЧММ (4 байта).
        tOperator - имя кассира открывающего смену (до 64 байта).
        tOperatorInn - ИНН оператора, проводящего регистрацию (12 байт).
        tMessage - сообщение для ОФД [резервировано для ФФД 1.05](до 250 байт).
        tAdd - дополнительные реквизиты [резервировано для ФФД 1.05](до 250 байт).
        tShift - реквизиты смены (до 255 байта).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdShiftClose

        public int CmdShiftClose​(java.lang.String tOperator,
                                 java.lang.String tOperatorInn,
                                 java.lang.String tMessage,
                                 java.lang.String tAdd,
                                 boolean bNotPrint)
        Сборка команды "Закрыть смену" [31].
        Parameters:
        tOperator - имя кассира открывающего смену (до 64 байта).
        tOperatorInn - ИНН оператора, проводящего регистрацию (12 байт).
        tMessage - сообщение для ОФД [резервировано для ФФД 1.05](до 250 байт).
        tAdd - дополнительные реквизиты [резервировано для ФФД 1.05](до 250 байт).
        bNotPrint - false: печатать отчет, true: не печатать отчет.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdShiftClose

        public int CmdShiftClose​(java.lang.String tDate,
                                 java.lang.String tTime,
                                 java.lang.String tOperator,
                                 java.lang.String tOperatorInn,
                                 java.lang.String tMessage,
                                 java.lang.String tAdd,
                                 boolean bNotPrint)
        Сборка команды "Закрыть смену" [31].
        Parameters:
        tDate - дата чека ДДММГГ (6 байт).
        tTime - время чека ЧЧММ (4 байта).
        tOperator - имя кассира открывающего смену (до 64 байта).
        tOperatorInn - ИНН оператора, проводящего регистрацию (12 байт).
        tMessage - сообщение для ОФД [резервировано для ФФД 1.05](до 250 байт).
        tAdd - дополнительные реквизиты [резервировано для ФФД 1.05](до 250 байт).
        bNotPrint - false: печатать отчет, true: не печатать отчет.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdGetSerialNo

        public int CmdGetSerialNo()
        Сборка команды "Получение заводского номера ККТ" [96].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (S10) Заводской номер ККТ
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdGetInfo

        public int CmdGetInfo()
        Сборка команды "Получение информации о ККТ" [97].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (S16) Наименование модели ККТ
        • Поле 6: (S16) Информация о модели КФН
        • Поле 7: (S10) Заводской номер ККТ
        • Поле 8: (S20) Регистрационный номер ККТ
        • Поле 9: (S12) ИНН
        • Поле 10: (S7) Версия прошивки КФН
        • Поле 11: (S16) Заводской номер ФН
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdGetDateTime

        public int CmdGetDateTime()
        Сборка команды "Чтение времени и даты" [43].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (D6) Дата, установленная в КФН (формат ДДММГГ)
        • Поле 6: (T4) Время, установленное в КФН (формат ЧЧММ)
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdSetDateTime

        public int CmdSetDateTime​(java.lang.String tDate,
                                  java.lang.String tTime)
        Сборка команды "Установка времени и даты" [42].
        Parameters:
        tDate - текущая дата (формат ДДММГГ).
        tTime - текущее время (формат ЧЧММ).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdSetDateTime

        public int CmdSetDateTime()
        Сборка команды "Установка времени и даты" [42].
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdFNGetStatus

        public int CmdFNGetStatus()
        Сборка команды "Запрос статуса ФН" [29].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H2) Состояние фазы жизни
        • Поле 6: (H2) Текущий документ
        • Поле 7: (H2) Данные документа
        • Поле 8: (H2) Состояние смены
        • Поле 9: (H2) Флаги предупреждения (смотри TMCommand.fn_warn_flags)
        • Поле 10: (D10) Дата и время ФН (формат ДДММГГччмм)
        • Поле 11: (S16) Заводской номер ФН
        • Поле 12: (W8) Номер последнего ФД
        • Поле 13: (D6) Срок действия ФН (формат ДДММГГ)
        • Поле 14: (S16) Версия ФН
        • Поле 15: (H2) Тип ФН (00-отладочный, 01-серийный)
        • Поле 16: (H4) Номер смены в ФН
        • Поле 17: (H4) Номер кассового чека в ФН
        • Поле 18: (H2) Код последней ошибки при работе с ОФД (00 - нет ошибки)
        • Поле 19: (S64) Строка с расшифровкой последней ошибки при работе с ОФД
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdFNGetError

        public int CmdFNGetError()
        Сборка команды "Запрос последних ошибок ФН" [2A].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (S256) Детализация ошибки
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdGetWaitDocs

        public int CmdGetWaitDocs()
        Сборка команды "Запрос количества неподтверждённых фискальных документов" [39].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H4) Количество неподтверждённых фискальных документов
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdFNGetCommStatus

        public int CmdFNGetCommStatus()
        Сборка команды "Получить из ФН статус обмена с ОФД" [2B].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H2) Статус информационного обмена (смотри TMCommand.ofd_status_flags)
        • Поле 6: (H2) Начато чтение сообщения для ОФД (1 – да, 0 – нет)
        • Поле 7: (H4) Количество сообщений для передачи в ОФД
        • Поле 8: (W8) Номер первого в очереди документа для ОФД
        • Поле 9: (D10) Дата и время первого в очереди документа для ОФД (формат ДДММГГччмм)
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdFNSetCommStatus

        public int CmdFNSetCommStatus​(boolean bConn)
        Сборка команды "Установить в ФН статус обмена с ОФД" [5F].
        Parameters:
        bConn - false: нет соединения, true: есть соединение.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdFNReadOpen

        public int CmdFNReadOpen()
        Сборка команды "Начать чтение документа из ФН" [5A].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H4) Размер пакета
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdFNRead

        public int CmdFNRead​(short offSet,
                             short size)
        Сборка команды "Чтение блока документа из ФН" [5B].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H2..512) Блок данных (до 256 байт) в hex представлении
        Parameters:
        offSet - отступ от начала блока.
        size - размер ожидаемых данных (не рекомендуется использовать значение больше MAX_OFD_DATA_PART_SIZE).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdFNReadClose

        public int CmdFNReadClose()
        Сборка команды "Завершение чтения документа" [5D].
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdFNReadCancel

        public int CmdFNReadCancel()
        Сборка команды "Отмена чтения документа из ФН" [5C].
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdFNWriteScript

        public int CmdFNWriteScript​(byte[] data)
        Сборка команды "Сохранение квитанции полученой от ОФД" [5E].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H2) Код ответа ОФД
        • Поле 6: (H0..512) Сообщение из ответа ОФД
        Parameters:
        data - данные квитанции из ОФД.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdFNGetRegParam

        public int CmdFNGetRegParam​(short tlvId)
        Сборка команды "Запрос параметров регистрации" [88].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: Значение TLV параметра
        Parameters:
        tlvId - тэг параметра регистрации (можно запросить теги 1009, 1013, 1017, 1021, 1048).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdFNGetDoc

        public int CmdFNGetDoc​(int numDoc,
                               byte mode)
        Сборка команды "Документ по номеру из ФН" [8B].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H2) Тип документа (значение cовпадает с типом TLV документа ФН)
        • Поле 6: (H2) Квитанция из ОФД (0 - не получена, 1 - получена)

        Далее идут данные документа:
        • Поле 7: (D10) Дата и время документа ФН (формат ДДММГГччмм)
        • Поле 8: (W8) Порядковый номер документа ФН
        • Поле 9: (W8) Фискальный признак документа ФН

        Последующие поля зависят от типа документа (смотри "Инструкция по программированию ККТ").
        Parameters:
        numDoc - номер документа ФН.
        mode - режим операции (смотри TMCommand.fn_doc_mode).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdFNClose

        @Deprecated
        public int CmdFNClose​(java.lang.String tOperatorName,
                              java.lang.String tOperatorINN)
        Deprecated.
        Сборка команды "Закрытие ФН" [8D].
        Parameters:
        tOperatorName - имя оператора закрывающего ФН (64 байта).
        tOperatorINN - ИНН оператора закрывающего ФН (12 байт).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdFNClose

        @Deprecated
        public int CmdFNClose​(java.lang.String tDate,
                              java.lang.String tTime,
                              java.lang.String tOperatorName,
                              java.lang.String tOperatorINN)
        Deprecated.
        Сборка команды "Закрытие ФН" [8D].
        Parameters:
        tDate - дата чека ДДММГГ (6 байт).
        tTime - время чека ЧЧММ (4 байта).
        tOperatorName - имя оператора закрывающего ФН (64 байта).
        tOperatorINN - ИНН оператора закрывающего ФН (12 байт).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdFNClose

        public int CmdFNClose​(java.lang.String tOperatorName,
                              java.lang.String tOperatorINN,
                              byte mode)
        Сборка команды "Закрытие ФН" [8D].
        Parameters:
        tOperatorName - имя оператора закрывающего ФН (64 байта).
        tOperatorINN - ИНН оператора закрывающего ФН (12 байт).
        mode - режим выполнения команды (0-брать из ФН, 1-брать из КМОС, 2-брать из параметров команды).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdFNClose

        public int CmdFNClose​(java.lang.String tDate,
                              java.lang.String tTime,
                              java.lang.String tOperatorName,
                              java.lang.String tOperatorINN,
                              byte mode)
        Сборка команды "Закрытие ФН" [8D].
        Parameters:
        tDate - дата чека ДДММГГ (6 байт).
        tTime - время чека ЧЧММ (4 байта).
        tOperatorName - имя оператора закрывающего ФН (64 байта).
        tOperatorINN - ИНН оператора закрывающего ФН (12 байт).
        mode - режим выполнения команды (0-брать из ФН, 1-брать из КМОС, 2-брать из параметров команды).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdFNGetTotal

        public int CmdFNGetTotal​(byte numReg,
                                 boolean bPrint)
        Сборка команды "Итоги регистрации" [8F].

        В ответе на эту команду возращаются следующие поля (ФФД 1.1 и старше):
        • Поле 5: (D10) Дата и время регистрации (формат ДДММГГччмм)
        • Поле 6: (S12) ИНН оператора
        • Поле 7: (S20) Регистрационный номер ККТ
        • Поле 8: (H2) Системы налогообложения (смотри TMCommand.tax_types)
        • Поле 9: (H2) Режим работы ККТ (младший байт)
        • Поле 10: (W8) Порядковый номер документа регистрации
        • Поле 11: (W8) Фискальный признак документа регистрации
        • Поле 12: (H2) Режим работы ККТ (старший байт)
        • Поле 13: (S12) ИНН ОФД
        • Поле 14: (H2) Причины перерегистрации

        В ответе на эту команду возращаются следующие поля (для ФФД 1.05):
        • Поле 5: (D10) Дата и время регистрации (формат ДДММГГччмм)
        • Поле 6: (S12) ИНН оператора
        • Поле 7: (S20) Регистрационный номер ККТ
        • Поле 8: (H2) Системы налогообложения (смотри TMCommand.tax_types)
        • Поле 9: (H2) Режим работы ККТ (младший байт)
        • Поле 10: (W8) Порядковый номер документа регистрации
        • Поле 11: (W8) Фискальный признак документа регистрации
        • Поле 12: (H2) Причины перерегистрации
        Parameters:
        numReg - номер регистрации (0: ККТ возвращает данные по последней выполненной регистрации).
        bPrint - печатать чек.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdOFDGetTicket

        public int CmdOFDGetTicket​(int numDoc,
                                   boolean bPrint)
        Сборка команды "Запрос Квитанции ОФД из ФН" [3A].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (D10) Дата и время (формат ДДММГГччмм)
        • Поле 6: (W8) Порядковый номер документа ФН
        • Поле 7: (S18) Фискальный признак квитанции ОФД
        Parameters:
        numDoc - номер документа.
        bPrint - печатать чек.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdOFDGetPaymentState

        public int CmdOFDGetPaymentState()
        Сборка команды "Отчет о текущем состоянии расчетов" [3B].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (W8) Порядковый номер документа ФН
        • Поле 6: (W8) Фискальный признак
        • Поле 7: (W8) Количество неподтверждённых фискальных документов
        • Поле 8: (D6) Дата первого неподтверждённого документа (формат ДДММГГ)
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdOFDGetParam

        public int CmdOFDGetParam()
        Сборка команды "Получить параметры обмена с ОФД" [67].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H4) Порт сервера ОФД
        • Поле 6: (H4) Таймаут обращения (сек)
        • Поле 7: (H4) Таймаут чтения (сек)
        • Поле 8: (H4) Таймаут записи (сек)
        • Поле 9: (S128) Адрес хоста (DNS или IP-адрес)
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdOFDGetParamExt

        public int CmdOFDGetParamExt​(byte index)
        Сборка команды "Получить параметры обмена с сервером ОФД/ОИСМ/AC ОКП" [67].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H4) Порт сервера
        • Поле 6: (H4) Таймаут обращения (сек)
        • Поле 7: (H4) Таймаут чтения (сек)
        • Поле 8: (H4) Таймаут записи (сек)
        • Поле 9: (S128) Адрес хоста (DNS или IP-адрес)
        • Поле 10: (H2) Тип сервера (TMCommand.server_types)
        Parameters:
        index - индекс сервера (смотри TMCommand.server_types).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdOFDSetParam

        public int CmdOFDSetParam​(java.lang.String tAddress,
                                  short port,
                                  short timeConn,
                                  short timeRecv,
                                  short timeSend)
        Сборка команды "Установить параметры обмена с ОФД" [66].
        Parameters:
        tAddress - адрес ОФД (до 128 байт).
        port - порт ОФД.
        timeConn - таймаут соединения с ОФД (в секундах).
        timeRecv - таймаут ожидания ответа от ОФД (в секундах).
        timeSend - таймаут отправки пакета в ОФД (в секундах).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdOFDSetParamExt

        public int CmdOFDSetParamExt​(java.lang.String tAddress,
                                     short port,
                                     short timeConn,
                                     short timeRecv,
                                     short timeSend,
                                     byte index)
        Сборка команды "Установить параметры обмена с ОФД/ОИСМ/AC ОКП" [66].
        Parameters:
        tAddress - адрес сервера (до 128 байт).
        port - порт сервера.
        timeConn - таймаут соединения с сервером (в секундах).
        timeRecv - таймаут ожидания ответа от сервера (в секундах).
        timeSend - таймаут отправки пакета на сервер (в секундах).
        index - индекс сервера (смотри TMCommand.server_types).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdOFDGetInfoUrl

        public int CmdOFDGetInfoUrl()
        Сборка команды "Получение адреса проверки чеков" [6E].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (S127) Адрес ФНС
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdOFDSetInfoUrl

        public int CmdOFDSetInfoUrl​(java.lang.String tURL)
        Сборка команды "Установка адреса проверки чеков" [6D].
        Parameters:
        tURL - адрес сервера для проверки чеков.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdCertification

        public int CmdCertification​(java.lang.String tSerNum)
        Сборка команды "Сертификация" [92].
        Parameters:
        tSerNum - серийный номер КФН (до 10 байт).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdCertification

        public int CmdCertification​(java.lang.String tSerNum,
                                    java.lang.String tCode)
        Сборка команды "Сертификация" [92].
        Parameters:
        tSerNum - серийный номер КФН (до 10 байт).
        tCode - код активации КФН (16 байт).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdRegistration_1_05

        public int CmdRegistration_1_05​(java.lang.String tFirmName,
                                        java.lang.String tFirmINN,
                                        byte taxTypes,
                                        java.lang.String tRegKKT,
                                        short mode,
                                        java.lang.String tAutoNum,
                                        java.lang.String tOperatorName,
                                        java.lang.String tOperatorINN,
                                        java.lang.String tAddress,
                                        java.lang.String tOfdINN,
                                        java.lang.String tRegNum,
                                        byte reason,
                                        byte specific,
                                        byte agent,
                                        java.lang.String tOfdName,
                                        java.lang.String tEmail,
                                        java.lang.String tOfdURL,
                                        java.lang.String tPlace)
        Сборка команды "Регистрация (Перерегистрация)" ФФД1.05 [04].
        Parameters:
        tFirmName - наименование организации (до 64 байт).
        tFirmINN - ИНН организации (10 или 12 байт).
        taxTypes - система налогообложения (смотри TMCommand.tax_types).
        tRegKKT - регистрационный номер ККТ (16 байт).
        mode - режим работы ККТ (смотри TMCommand.mode_types).
        tAutoNum - номер автомата (10 байт).
        tOperatorName - имя оператора, проводящего регистрацию (до 64 байт).
        tOperatorINN - ИНН оператора, проводящего регистрацию (12 байт).
        tAddress - адрес расчетов (до 255 байт).
        tOfdINN - ИНН оператора фискальных данных (10 байт).
        tRegNum - номер зарегистрированнрй ККТ [присваивается ФНС] (10 байт).
        reason - код причины перерегистрации (смотри TMCommand.reg_reasons).
        specific - резервированный параметр (всегда 0).
        agent - агент (смотри TMCommand.agent_type).
        tOfdName - наименование ОФД (до 252 байт).
        tEmail - адрес электронной почты регистрирующей стороны (до 255 байт).
        tOfdURL - сайт ФНС (до 255 байт).
        tPlace - место расчетов.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdRegistration_1_05

        public int CmdRegistration_1_05​(java.lang.String tDate,
                                        java.lang.String tTime,
                                        java.lang.String tFirmName,
                                        java.lang.String tFirmINN,
                                        byte taxTypes,
                                        java.lang.String tRegKKT,
                                        short mode,
                                        java.lang.String tAutoNum,
                                        java.lang.String tOperatorName,
                                        java.lang.String tOperatorINN,
                                        java.lang.String tAddress,
                                        java.lang.String tOfdINN,
                                        java.lang.String tRegNum,
                                        byte reason,
                                        byte specific,
                                        byte agent,
                                        java.lang.String tOfdName,
                                        java.lang.String tEmail,
                                        java.lang.String tOfdURL,
                                        java.lang.String tPlace)
        Сборка команды "Регистрация (Перерегистрация)" ФФД1.05 [04].
        Parameters:
        tDate - дата чека ДДММГГ (6 байт).
        tTime - время чека ЧЧММ (4 байта).
        tFirmName - наименование организации (до 64 байт).
        tFirmINN - ИНН организации (10 или 12 байт).
        taxTypes - система налогообложения (смотри TMCommand.tax_types).
        tRegKKT - регистрационный номер ККТ (16 байт).
        mode - режим работы ККТ (смотри TMCommand.mode_types).
        tAutoNum - номер автомата (10 байт).
        tOperatorName - имя оператора, проводящего регистрацию (до 64 байт).
        tOperatorINN - ИНН оператора, проводящего регистрацию (12 байт).
        tAddress - адрес расчетов (до 255 байт).
        tOfdINN - ИНН оператора фискальных данных (10 байт).
        tRegNum - номер зарегистрированнрй ККТ [присваивается ФНС] (10 байт).
        reason - код причины перерегистрации (смотри TMCommand.reg_reasons).
        specific - резервированный параметр (всегда 0).
        agent - агент (смотри TMCommand.agent_type).
        tOfdName - наименование ОФД (до 252 байт).
        tEmail - адрес электронной почты регистрирующей стороны (до 255 байт).
        tOfdURL - сайт ФНС (до 255 байт).
        tPlace - место расчетов.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdRegistration_1_1

        public int CmdRegistration_1_1​(java.lang.String tFirmName,
                                       java.lang.String tFirmINN,
                                       byte taxTypes,
                                       java.lang.String tRegKKT,
                                       short mode,
                                       java.lang.String tAutoNum,
                                       java.lang.String tOperatorName,
                                       java.lang.String tOperatorINN,
                                       java.lang.String tAddress,
                                       java.lang.String tOfdINN,
                                       java.lang.String tRegNum,
                                       byte reason,
                                       byte specific,
                                       byte agent,
                                       java.lang.String tOfdName,
                                       java.lang.String tEmail,
                                       java.lang.String tOfdURL,
                                       java.lang.String tPlace,
                                       int code)
        Сборка команды "Регистрация (Перерегистрация)" ФФД1.1 [04].
        Parameters:
        tFirmName - наименование организации (до 64 байт).
        tFirmINN - ИНН организации (10 или 12 байт).
        taxTypes - система налогообложения (смотри TMCommand.tax_types).
        tRegKKT - регистрационный номер ККТ (16 байт).
        mode - режим работы ККТ (смотри TMCommand.mode_types).
        tAutoNum - номер автомата (10 байт).
        tOperatorName - имя оператора, проводящего регистрацию (до 64 байт).
        tOperatorINN - ИНН оператора, проводящего регистрацию (12 байт).
        tAddress - адрес расчетов (до 255 байт).
        tOfdINN - ИНН оператора фискальных данных (10 байт).
        tRegNum - номер зарегистрированнрй ККТ [присваивается ФНС] (10 байт).
        reason - код причины перерегистрации (смотри TMCommand.reg_reasons).
        specific - резервированный параметр (всегда 0).
        agent - агент (смотри TMCommand.agent_type).
        tOfdName - наименование ОФД (до 252 байт).
        tEmail - адрес электронной почты регистрирующей стороны (до 255 байт).
        tOfdURL - сайт ФНС (до 255 байт).
        tPlace - место расчетов.
        code - код причин изменения сведений о ККТ (смотри TMCommand.reg_change_flags)..
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdRegistration_1_1

        public int CmdRegistration_1_1​(java.lang.String tDate,
                                       java.lang.String tTime,
                                       java.lang.String tFirmName,
                                       java.lang.String tFirmINN,
                                       byte taxTypes,
                                       java.lang.String tRegKKT,
                                       short mode,
                                       java.lang.String tAutoNum,
                                       java.lang.String tOperatorName,
                                       java.lang.String tOperatorINN,
                                       java.lang.String tAddress,
                                       java.lang.String tOfdINN,
                                       java.lang.String tRegNum,
                                       byte reason,
                                       byte specific,
                                       byte agent,
                                       java.lang.String tOfdName,
                                       java.lang.String tEmail,
                                       java.lang.String tOfdURL,
                                       java.lang.String tPlace,
                                       int code)
        Сборка команды "Регистрация (Перерегистрация)" ФФД1.1 [04].
        Parameters:
        tDate - дата чека ДДММГГ (6 байт).
        tTime - время чека ЧЧММ (4 байта).
        tFirmName - наименование организации (до 64 байт).
        tFirmINN - ИНН организации (10 или 12 байт).
        taxTypes - система налогообложения (смотри TMCommand.tax_types).
        tRegKKT - регистрационный номер ККТ (16 байт).
        mode - режим работы ККТ (смотри TMCommand.mode_types).
        tAutoNum - номер автомата (10 байт).
        tOperatorName - имя оператора, проводящего регистрацию (до 64 байт).
        tOperatorINN - ИНН оператора, проводящего регистрацию (12 байт).
        tAddress - адрес расчетов (до 255 байт).
        tOfdINN - ИНН оператора фискальных данных (10 байт).
        tRegNum - номер зарегистрированнрй ККТ [присваивается ФНС] (10 байт).
        reason - код причины перерегистрации (смотри TMCommand.reg_reasons).
        specific - резервированный параметр (всегда 0).
        agent - агент (смотри TMCommand.agent_type).
        tOfdName - наименование ОФД (до 252 байт).
        tEmail - адрес электронной почты регистрирующей стороны (до 255 байт).
        tOfdURL - сайт ФНС (до 255 байт).
        tPlace - место расчетов.
        code - код причин изменения сведений о ККТ (смотри TMCommand.reg_change_flags)..
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdRegistration_1_2

        public int CmdRegistration_1_2​(java.lang.String tFirmName,
                                       java.lang.String tFirmINN,
                                       byte taxTypes,
                                       java.lang.String tRegKKT,
                                       int mode,
                                       java.lang.String tAutoNum,
                                       java.lang.String tOperatorName,
                                       java.lang.String tOperatorINN,
                                       java.lang.String tAddress,
                                       java.lang.String tOfdINN,
                                       java.lang.String tRegNum,
                                       byte reason,
                                       byte specific,
                                       byte agent,
                                       java.lang.String tOfdName,
                                       java.lang.String tEmail,
                                       java.lang.String tOfdURL,
                                       java.lang.String tPlace,
                                       int code,
                                       java.lang.String addReqOR,
                                       java.lang.String addDataOR)
        Сборка команды "Регистрация (Перерегистрация)" ФФД1.2 [04].
        Parameters:
        tFirmName - наименование организации (до 64 байт).
        tFirmINN - ИНН организации (10 или 12 байт).
        taxTypes - система налогообложения (смотри TMCommand.tax_types).
        tRegKKT - регистрационный номер ККТ (16 байт).
        mode - режим работы ККТ (смотри TMCommand.mode_types).
        tAutoNum - номер автомата (10 байт).
        tOperatorName - имя оператора, проводящего регистрацию (до 64 байт).
        tOperatorINN - ИНН оператора, проводящего регистрацию (12 байт).
        tAddress - адрес расчетов (до 255 байт).
        tOfdINN - ИНН оператора фискальных данных (10 байт).
        tRegNum - номер зарегистрированнрй ККТ [присваивается ФНС] (10 байт).
        reason - код причины перерегистрации (смотри TMCommand.reg_reasons).
        specific - резервированный параметр (всегда 0).
        agent - агент (смотри TMCommand.agent_type).
        tOfdName - наименование ОФД (до 252 байт).
        tEmail - адрес электронной почты регистрирующей стороны (до 255 байт).
        tOfdURL - сайт ФНС (до 255 байт).
        tPlace - место расчетов.
        code - код причин изменения сведений о ККТ (смотри TMCommand.reg_change_flags).
        addReqOR - дополнительный реквизит ОР (до 32 байт).
        addDataOR - дополнительные данные ОР (до 32 байт).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdRegistration_1_2

        public int CmdRegistration_1_2​(java.lang.String tDate,
                                       java.lang.String tTime,
                                       java.lang.String tFirmName,
                                       java.lang.String tFirmINN,
                                       byte taxTypes,
                                       java.lang.String tRegKKT,
                                       int mode,
                                       java.lang.String tAutoNum,
                                       java.lang.String tOperatorName,
                                       java.lang.String tOperatorINN,
                                       java.lang.String tAddress,
                                       java.lang.String tOfdINN,
                                       java.lang.String tRegNum,
                                       byte reason,
                                       byte specific,
                                       byte agent,
                                       java.lang.String tOfdName,
                                       java.lang.String tEmail,
                                       java.lang.String tOfdURL,
                                       java.lang.String tPlace,
                                       int code,
                                       java.lang.String addReqOR,
                                       java.lang.String addDataOR)
        Сборка команды "Регистрация (Перерегистрация)" ФФД1.2 [04].
        Parameters:
        tDate - дата чека ДДММГГ (6 байт).
        tTime - время чека ЧЧММ (4 байта).
        tFirmName - наименование организации (до 64 байт).
        tFirmINN - ИНН организации (10 или 12 байт).
        taxTypes - система налогообложения (смотри TMCommand.tax_types).
        tRegKKT - регистрационный номер ККТ (16 байт).
        mode - режим работы ККТ (смотри TMCommand.mode_types).
        tAutoNum - номер автомата (10 байт).
        tOperatorName - имя оператора, проводящего регистрацию (до 64 байт).
        tOperatorINN - ИНН оператора, проводящего регистрацию (12 байт).
        tAddress - адрес расчетов (до 255 байт).
        tOfdINN - ИНН оператора фискальных данных (10 байт).
        tRegNum - номер зарегистрированнрй ККТ [присваивается ФНС] (10 байт).
        reason - код причины перерегистрации (смотри TMCommand.reg_reasons).
        specific - резервированный параметр (всегда 0).
        agent - агент (смотри TMCommand.agent_type).
        tOfdName - наименование ОФД (до 252 байт).
        tEmail - адрес электронной почты регистрирующей стороны (до 255 байт).
        tOfdURL - сайт ФНС (до 255 байт).
        tPlace - место расчетов.
        code - код причин изменения сведений о ККТ (смотри TMCommand.reg_change_flags).
        addReqOR - дополнительный реквизит ОР (до 32 байт).
        addDataOR - дополнительные данные ОР (до 32 байт).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdGetResources

        public int CmdGetResources()
        Сборка команды "Информация о свободных ресурсах" [03].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H2) Осталось перерегистраций ФН
        • Поле 6: (H4) Зарезервировано
        • Поле 7: (H4) Номер последнего отчёта закрытия смены
        • Поле 8: (D6) Дата открытия смены (формат ДДММГГ), "000000" - если смена закрыта
        • Поле 9: (T4) Время открытия смены (формат ЧЧММ), "0000" - если смена закрыта
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdGetResources

        public int CmdGetResources​(java.lang.String tDate,
                                   java.lang.String tTime)
        Сборка команды "Информация о свободных ресурсах" [03].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H2) Осталось перерегистраций ФН
        • Поле 6: (H4) Зарезервировано
        • Поле 7: (H4) Номер последнего отчёта закрытия смены
        • Поле 8: (D6) Дата открытия смены (формат ДДММГГ), "000000" - если смена закрыта
        • Поле 9: (T4) Время открытия смены (формат ЧЧММ), "0000" - если смена закрыта
        Parameters:
        tDate - дата чека ДДММГГ (6 байт).
        tTime - время чека ЧЧММ (4 байта).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdReceiptOpen

        public int CmdReceiptOpen​(byte receiptType,
                                  java.lang.String tCashier,
                                  java.lang.String tCashierINN,
                                  java.lang.String tTableNum,
                                  java.lang.String tPlaceNum,
                                  byte copies,
                                  byte taxMode,
                                  java.lang.String tAccount,
                                  java.lang.String tComment)
        Сборка команды "Начало формирования кассового чека на чековой ленте" [10].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H4) Номер чека в смене

        Добавление дополнительных тегов в чек происходит через параметр комментарий (tComment), строка комментария в этом случае имеет следующий формат:
        "<[номер тега 1]>[данные тега 1]|<[номер тега 2]>[данные тега 2]...|[текст комментария]"
        Например: "<1008>nilstarsoft@mail.ru|Электронный чек для nilstarsoft@mail.ru"
        Parameters:
        receiptType - тип чека (смотри TMCommand.receipt_types).
        tCashier - кассир (до 64 байт).
        tCashierINN - ИНН кассира (10 или 12 байт).
        tTableNum - номер столика (до 15 байт).
        tPlaceNum - номер места (до 15 байт).
        copies - количество копий.
        taxMode - система налогообложения (смотри TMCommand.tax_types).
        tAccount - номер счета (до 30 байт).
        tComment - комментарий (до 254 байт).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdReceiptOpen

        public int CmdReceiptOpen​(java.lang.String tDate,
                                  java.lang.String tTime,
                                  byte receiptType,
                                  java.lang.String tCashier,
                                  java.lang.String tCashierINN,
                                  java.lang.String tTableNum,
                                  java.lang.String tPlaceNum,
                                  byte copies,
                                  byte taxMode,
                                  java.lang.String tAccount,
                                  java.lang.String tComment)
        Сборка команды "Начало формирования кассового чека на чековой ленте" [10].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H4) Номер чека в смене

        Добавление дополнительных тегов в чек происходит через параметр комментарий (tComment), строка комментария в этом случае имеет следующий формат:
        "<[номер тега 1]>[данные тега 1]|<[номер тега 2]>[данные тега 2]...|[текст комментария]"
        Например: "<1008>nilstarsoft@mail.ru|Электронный чек для nilstarsoft@mail.ru"
        Parameters:
        tDate - дата чека ДДММГГ (6 байт).
        tTime - время чека ЧЧММ (4 байта).
        receiptType - тип чека (смотри TMCommand.receipt_types).
        tCashier - кассир (до 64 байт).
        tCashierINN - ИНН кассира (10 или 12 байт).
        tTableNum - номер столика (до 15 байт).
        tPlaceNum - номер места (до 15 байт).
        copies - количество копий.
        taxMode - система налогообложения (смотри TMCommand.tax_types).
        tAccount - номер счета (до 30 байт).
        tComment - комментарий (до 254 байт).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdReceiptItem

        public int CmdReceiptItem​(java.lang.String tName,
                                  java.lang.String tCode,
                                  java.lang.String tPrice,
                                  java.lang.String tQty,
                                  java.lang.String tUnit,
                                  byte taxIndex,
                                  byte calcMethod,
                                  byte calcObject,
                                  byte agentType,
                                  byte depIndex,
                                  java.lang.String tDepName,
                                  java.lang.String tComment)
        Сборка команды "Оформление позиции товара/услуги" [11].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (M14) Сумма оформленной позиции
        • Поле 6: (M14) Текущая сумма документа

        Добавление дополнительных тегов в позицию товара происходит через параметр комментарий (tComment), строка комментария в этом случае имеет следующий формат:
        "<[номер тега 1]>[данные тега 1]|<[номер тега 2]>[данные тега 2]...|[текст комментария]"
        Например: "<1162>4508000002C0EED8|Позиция с маркировкой"
        Parameters:
        tName - наименование товара (до 128 байт).
        tCode - код/артикул товара (до 20 байт).
        tPrice - стоимость товара в формате "РУБ.КК" (от "0" до "9999999.99").
        tQty - количество товара (от "0" до "199999.9999").
        tUnit - единица измерения товара (до 3 байт).
        taxIndex - индекс налога (смотри TMCommand.tax_indexes).
        calcMethod - признак способа расчета (смотри TMCommand.calc_methods).
        calcObject - признак предмета расчета (смотри TMCommand.calc_objects).
        agentType - признак агента [0: не используется] (смотри TMCommand.agent_type).
        depIndex - индекс отдела (от 01 до 32).
        tDepName - название отдела (до 20 символов).
        tComment - комментарий (до 254 байт).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdReceiptTotal

        public int CmdReceiptTotal​(java.lang.String tComment)
        Сборка команды "Итог по чеку" [12].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (M14) Текущая сумма документа
        Parameters:
        tComment - комментарий.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdReceiptTender

        public int CmdReceiptTender​(byte payIndex,
                                    java.lang.String tSumma,
                                    java.lang.String tAdd,
                                    java.lang.String tComment)
        Сборка команды "Расчёт" [13].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (M14) Доплата
        • Поле 6: (M14) Сдача
        • Поле 7: (H2) Индекс НДС 1
        • Поле 8: (M14) Сумма НДС 1
        • ... возвращается информация обо всех НДС, примененных в чеке (1..n)
        • Поле 7+(n*2): (H2) Индекс НДС n
        • Поле 8+(n*2): (M14) Сумма НДС n
        Parameters:
        payIndex - индекс оплаты (смотри TMCommand.pay_indexes).
        tSumma - сумма, внесённая покупателем (от "0" до "999999999.99").
        tAdd - дополнительная информация об расчете (до 40 байт).
        tComment - комментарий (до 254 байт).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdReceiptClose

        public int CmdReceiptClose()
        Сборка команды "Закрытие документа" [14].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (W8) Номер фискального документа
        • Поле 6: (S200) Строка QR-кода документа
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdReceiptComission

        public int CmdReceiptComission​(boolean isDiscount,
                                       java.lang.String tPercent,
                                       java.lang.String tSumma,
                                       java.lang.String tName)
        Сборка команды "Скидка/Наценка" [15].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (N5) Процент скидки/наценки ("0.01".."100")
        • Поле 6: (M12) Сумма скидки/наценки
        • Поле 7: (M14) Текущая сумма документа
        Parameters:
        isDiscount - false: наценка, true: скидка.
        tPercent - процент скидки/наценки.
        tSumma - сумма скидки/наценки.
        tName - наименование скидки/наценки.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdReceiptSubtotal

        public int CmdReceiptSubtotal​(java.lang.String tComment)
        Сборка команды "Подитог" [16].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (M14) Текущая сумма документа
        Parameters:
        tComment - комментарий.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdReceiptCancel

        public int CmdReceiptCancel()
        Сборка команды "Аннулирование" [17].
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdReceiptBarcode

        public int CmdReceiptBarcode​(byte barType,
                                     byte barMode,
                                     byte barFont,
                                     byte height,
                                     byte width,
                                     java.lang.String tBarcode)
        Сборка команды "Печать штрих-кода" [1A].
        Parameters:
        barType - тип штрихкода (смотри TMCommand.barcode_types).
        barMode - режим печати символов штрихкода.
        barFont - шрифт символов штрихкода.
        height - высота штрихкода.
        width - ширина штрихкода.
        tBarcode - штрихкод.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdReceiptTax

        public int CmdReceiptTax​(byte taxIndex,
                                 java.lang.String tComment)
        Сборка команды "Налоговая ставка" [1B].

        В ответе на эту команду возращаются следующие поля:
        1. Если команда "Налоговая ставка" выполняется после команды "Оформление позиции товара/услуги" [11]:
        • Поле 5: (M14) Сумма налога по указанному в параметрах индексу по текущей позиции чека
        • Поле 6: (M14) Текущая сумма налога по указанному в параметрах индексу по чеку

        2. Если команда "Налоговая ставка" выполняется после команды "Итог" [12]:
        • Поле 5: (H2) Индекс налоговой ставки 1
        • Поле 6: (M14) Итоговая сумма налога 1 по чеку
        • ... возвращается для всех налоговых ставок, примененных в чеке
        • Поле 5+(n*2): (H2) Индекс налоговой ставки n
        • Поле 6+(n*2): (M14) Итоговая сумма налога n по чеку
        Parameters:
        taxIndex - индекс налога (смотри TMCommand.tax_indexes).
        tComment - комментарий.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdReceiptComment

        public int CmdReceiptComment​(java.lang.String tComment)
        Сборка команды "Строка комментария" [1С].
        Parameters:
        tComment - комментарий.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdReceiptAddTLV

        public int CmdReceiptAddTLV​(short TLVId,
                                    java.lang.String tData)
        Сборка команды "Добавление TLV структуры в документ" [6A].
        Parameters:
        TLVId - тэг TLV.
        tData - строковые данные.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdToCash

        public int CmdToCash​(java.lang.String tSum,
                             java.lang.String tUserName)
        Сборка команды "Подкрепление" [32].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (M14) Сумма наличных до подкрепления
        • Поле 6: (M14) Сумма наличных после подкрепления
        Parameters:
        tSum - сумма операции (до 1000000000.00).
        tUserName - имя кассира (до 255 байт).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdToCash

        public int CmdToCash​(java.lang.String tDate,
                             java.lang.String tTime,
                             java.lang.String tSum,
                             java.lang.String tUserName)
        Сборка команды "Подкрепление" [32].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (M14) Сумма наличных до подкрепления
        • Поле 6: (M14) Сумма наличных после подкрепления
        Parameters:
        tDate - дата чека ДДММГГ (6 байт).
        tTime - время чека ЧЧММ (4 байта).
        tSum - сумма операции (до 1000000000.00).
        tUserName - имя кассира (до 255 байт).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdFromCash

        public int CmdFromCash​(java.lang.String tSum,
                               java.lang.String tUserName)
        Сборка команды "Инкассация" [33].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (M14) Сумма наличных до инкассации
        • Поле 6: (M14) Сумма наличных после инкассации
        Parameters:
        tSum - сумма операции (до 1000000000.00).
        tUserName - имя кассира (до 255 байт).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdFromCash

        public int CmdFromCash​(java.lang.String tDate,
                               java.lang.String tTime,
                               java.lang.String tSum,
                               java.lang.String tUserName)
        Сборка команды "Инкассация" [33].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (M14) Сумма наличных до инкассации
        • Поле 6: (M14) Сумма наличных после инкассации
        Parameters:
        tDate - дата чека ДДММГГ (6 байт).
        tTime - время чека ЧЧММ (4 байта).
        tSum - сумма операции (до 1000000000.00).
        tUserName - имя кассира (до 255 байт).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdGetMoney

        public int CmdGetMoney()
        Сборка команды "Получить электронный отчёт" [34].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (M14) Приход наличные
        • Поле 6: (M14) Возврат прихода наличные
        • Поле 7: (M14) Расход наличные
        • Поле 8: (M14) Возврат расхода наличные
        • Поле 9: (M14) Приход электронные
        • Поле 10: (M14) Возврат прихода электронные
        • Поле 11: (M14) Расход электронные
        • Поле 12: (M14) Возврат расхода электронные
        • Поле 13: (M14) Приход аванс
        • Поле 14: (M14) Возврат прихода аванс
        • Поле 15: (M14) Расход аванс
        • Поле 16: (M14) Возврат расхода аванс
        • Поле 17: (M14) Приход кредит
        • Поле 18: (M14) Возврат прихода кредит
        • Поле 19: (M14) Расход кредит
        • Поле 20: (M14) Возврат расхода кредит
        • Поле 21: (M14) Приход иная форма оплаты
        • Поле 22: (M14) Возврат прихода иная форма оплаты
        • Поле 23: (M14) Расход иная форма оплаты
        • Поле 24: (M14) Возврат расхода иная форма оплаты
        • Поле 25: (M14) Итого приход
        • Поле 26: (M14) Итого возврат
        • Поле 27: (M14) Итого расход
        • Поле 28: (M14) Итого возврат расхода
        • Поле 29: (M14) Подкрепление
        • Поле 30: (M14) Инкассация
        • Поле 31: (M14) Сумма в кассе
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdGetMoney

        public int CmdGetMoney​(java.lang.String tDate,
                               java.lang.String tTime)
        Сборка команды "Получить электронный отчёт" [34].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (M14) Приход наличные
        • Поле 6: (M14) Возврат прихода наличные
        • Поле 7: (M14) Расход наличные
        • Поле 8: (M14) Возврат расхода наличные
        • Поле 9: (M14) Приход электронные
        • Поле 10: (M14) Возврат прихода электронные
        • Поле 11: (M14) Расход электронные
        • Поле 12: (M14) Возврат расхода электронные
        • Поле 13: (M14) Приход аванс
        • Поле 14: (M14) Возврат прихода аванс
        • Поле 15: (M14) Расход аванс
        • Поле 16: (M14) Возврат расхода аванс
        • Поле 17: (M14) Приход кредит
        • Поле 18: (M14) Возврат прихода кредит
        • Поле 19: (M14) Расход кредит
        • Поле 20: (M14) Возврат расхода кредит
        • Поле 21: (M14) Приход иная форма оплаты
        • Поле 22: (M14) Возврат прихода иная форма оплаты
        • Поле 23: (M14) Расход иная форма оплаты
        • Поле 24: (M14) Возврат расхода иная форма оплаты
        • Поле 25: (M14) Итого приход
        • Поле 26: (M14) Итого возврат
        • Поле 27: (M14) Итого расход
        • Поле 28: (M14) Итого возврат расхода
        • Поле 29: (M14) Подкрепление
        • Поле 30: (M14) Инкассация
        • Поле 31: (M14) Сумма в кассе
        Parameters:
        tDate - дата чека ДДММГГ (6 байт).
        tTime - время чека ЧЧММ (4 байта).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdGetCurCounters

        public int CmdGetCurCounters()
        Сборка команды "Получение текущих номеров документов" [35].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H4) Сквозной номер последнего документа
        • Поле 6: (H4) Номер последнего кассового чека
        • Поле 7: (H4) Зарезервировано
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdCorrection

        @Deprecated
        public int CmdCorrection​(byte receiptType,
                                 java.lang.String tUserName,
                                 java.lang.String tUserINN,
                                 byte copies,
                                 byte taxType,
                                 java.lang.String tTotal,
                                 java.lang.String tCash,
                                 java.lang.String tCard,
                                 java.lang.String tAdvance,
                                 java.lang.String tCredit,
                                 java.lang.String tOncoming,
                                 byte corrType,
                                 java.lang.String tDescription,
                                 int date,
                                 java.lang.String tNumDoc,
                                 byte taxIndex)
        Deprecated.
        Сборка команды "Кассовый чек коррекции" (только для ФФД 1.05) [3C]. Устаревшая функция не поддерживается на прошивках КФН начиная с 0xxx5xx.

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (W8) Порядковый номер документа в ФН
        • Поле 6: (W8) Фискальный признак
        Parameters:
        receiptType - тип чека [допустимые типы: 0 – приход, 2 – расход] (смотри TMCommand.receipt_types).
        tUserName - имя кассира (до 64 байт).
        tUserINN - ИНН кассира (12 байт).
        copies - количество копий чека.
        taxType - система налогообложения (смотри TMCommand.tax_types).
        tTotal - сумма коррекции итога документа (до 12 байт)
        tCash - в т.ч. сумма коррекции наличных средств платежа (до 12 байт).
        tCard - в т.ч. сумма коррекции электронных средств платежа (до 12 байт).
        tAdvance - в т.ч. сумма коррекции аванса (до 12 байт).
        tCredit - в т.ч. сумма коррекции кредита (до 12 байт).
        tOncoming - в т.ч. сумма коррекции встречных предоставлений (до 12 байт).
        corrType - тип коррекции (смотри TMCommand.correction_types).
        tDescription - описание коррекции (до 255 байт)
        date - дата, за которую производится коррекция (в формате UNIX, в секундах от 1 января 1970г.).
        tNumDoc - номер документа, по которому проводится коррекция (до 32 байт).
        taxIndex - индекс налоговой ставки (смотри TMCommand.tax_indexes).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdCorrection

        @Deprecated
        public int CmdCorrection​(java.lang.String tDate,
                                 java.lang.String tTime,
                                 byte receiptType,
                                 java.lang.String tUserName,
                                 java.lang.String tUserINN,
                                 byte copies,
                                 byte taxType,
                                 java.lang.String tTotal,
                                 java.lang.String tCash,
                                 java.lang.String tCard,
                                 java.lang.String tAdvance,
                                 java.lang.String tCredit,
                                 java.lang.String tOncoming,
                                 byte corrType,
                                 java.lang.String tDescription,
                                 int date,
                                 java.lang.String tNumDoc,
                                 byte taxIndex)
        Deprecated.
        Сборка команды "Кассовый чек коррекции" [3C]. Устаревшая функция не поддерживается на прошивках КФН начиная с 0xxx5xx.

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (W8) Порядковый номер документа в ФН
        • Поле 6: (W8) Фискальный признак
        Parameters:
        tDate - дата чека ДДММГГ (6 байт).
        tTime - время чека ЧЧММ (4 байта).
        receiptType - тип чека [допустимые типы: 0 – приход, 2 – расход] (смотри TMCommand.receipt_types).
        tUserName - имя кассира (до 64 байт).
        tUserINN - ИНН кассира (12 байт).
        copies - количество копий чека.
        taxType - система налогообложения (смотри TMCommand.tax_types).
        tTotal - сумма коррекции итога документа (до 12 байт)
        tCash - в т.ч. сумма коррекции наличных средств платежа (до 12 байт).
        tCard - в т.ч. сумма коррекции электронных средств платежа (до 12 байт).
        tAdvance - в т.ч. сумма коррекции аванса (до 12 байт).
        tCredit - в т.ч. сумма коррекции кредита (до 12 байт).
        tOncoming - в т.ч. сумма коррекции встречных предоставлений (до 12 байт).
        corrType - тип коррекции (смотри TMCommand.correction_types).
        tDescription - описание коррекции (до 255 байт)
        date - дата, за которую производится коррекция (в формате UNIX, в секундах от 1 января 1970г.).
        tNumDoc - номер документа, по которому проводится коррекция (до 32 байт).
        taxIndex - индекс налоговой ставки (смотри TMCommand.tax_indexes).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdGetDocCounters

        public int CmdGetDocCounters()
        Сборка команды "Запрос счётчиков документов" [3D].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H4) Количество документов за смену
        • Поле 6: (H4) Количество чеков за смену
        • Поле 7: (H4) Количество аннулированных чеков за смену
        • Поле 8: (H4) Количество п/документов за смену
        • Поле 9: (H4) Количество аннулированных п/документов за смену
        • Поле 10: (H4) Количество отчётных документов за смену
        • Поле 11: (H4) Количество универсальных п/док. за смену
        • Поле 12: (H4) Количество чеков корреций за смену
        • Поле 13: (H4) Количество приходов за смену
        • Поле 14: (H4) Количество возвратов приходов за смену
        • Поле 15: (H4) Количество расходов за смену
        • Поле 16: (H4) Количество возвратов расходов за смену
        • Поле 17: (H4) Количество коррекций прихода
        • Поле 18: (H4) Количество коррекций расхода
        • Поле 19: (H4) Количество подкреплений за смену
        • Поле 20: (H4) Количество инкассаций за смену
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdNonFiscalOpen

        public int CmdNonFiscalOpen()
        Сборка команды "Начало формирования отчётного документа на чековой ленте" [50].
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdNonFiscalOpen

        public int CmdNonFiscalOpen​(java.lang.String tDate,
                                    java.lang.String tTime)
        Сборка команды "Начало формирования отчётного документа на чековой ленте" [50].
        Parameters:
        tDate - дата чека ДДММГГ (6 байт).
        tTime - время чека ЧЧММ (4 байта).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdNonFiscalLine

        public int CmdNonFiscalLine​(java.lang.String t)
        Сборка команды "Печать строки отчёта на чековой ленте" [51].
        Parameters:
        t - строка отчета.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdNonFiscalLines

        public int CmdNonFiscalLines​(java.lang.String[] t)
        Сборка команды "Печать строк отчёта на чековой ленте" [56].
        Parameters:
        t - строки отчета.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdNonFiscalClose

        public int CmdNonFiscalClose()
        Сборка команды "Закрытие отчётного документа на чековой ленте" [52].
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdSetParams

        @Deprecated
        public int CmdSetParams​(short param1,
                                short param2,
                                short lineFeed)
        Deprecated.
        Сборка команды "Программирование параметров документов" [4C]. Устаревшая функция, не используется с прошивок ФН 0xxx5xx.
        Parameters:
        param1 - параметр1.
        param2 - параметр2.
        lineFeed - межстрочный интервал.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdSetParams

        public int CmdSetParams​(short param1,
                                short param2,
                                short lineFeed,
                                short param4)
        Сборка команды "Программирование параметров документов" [4C].
        Parameters:
        param1 - параметр1.
        param2 - параметр2.
        lineFeed - межстрочный интервал.
        param4 - параметр4 (дополнительные параметры).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdGetParams

        public int CmdGetParams()
        Сборка команды "Чтение параметров документа" [4D].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H4) Параметр1
        • Поле 6: (H4) Параметр2
        • Поле 7: (H4) Межстрочный интервал
        • Поле 8: (H4) Параметр4 (дополнительный параметр)
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdGetHeader

        public int CmdGetHeader()
        Сборка команды "Чтение заголовка документа" [9A].
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdSetHeader

        public int CmdSetHeader​(java.lang.String[] tStrings)
        Сборка команды "Установка заголовка документа" [41] (4 строки по 38 символов).
        Parameters:
        tStrings - набор строк заголовка.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdSetHeaderExt

        public int CmdSetHeaderExt​(java.lang.String[] tStrings)
        Сборка команды "Установка заголовка документа (расширенная)" [4E] (6 строк по 40 символов).
        Parameters:
        tStrings - набор строк заголовка.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdGetTail

        public int CmdGetTail()
        Сборка команды "Чтение окончания документа" [9B].
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdSetTail

        public int CmdSetTail​(java.lang.String[] tStrings)
        Сборка команды "Установка окончания документа" [46]. (4 строки по 40 символов).
        Parameters:
        tStrings - набор строк окончания.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdSetPayment

        public int CmdSetPayment​(byte index,
                                 java.lang.String tName,
                                 boolean isSecond,
                                 boolean isCharge,
                                 byte currency,
                                 byte mask,
                                 java.lang.String tConvertCurrency)
        Сборка команды "Программирование вида платежа" [4A].
        Parameters:
        index - индекс вида платежа 0..15 (смотри TMCommand.pay_indexes).
        tName - название вида платежа.
        isSecond - имеет ли вид платежа вторую строку в названии.
        isCharge - нужно ли возвращать величину сдачи.
        currency - индекс валюты платежа (0 - базовая).
        mask - маска допустимых операций (бит: 0 - приход, 1 - возврат, 2 - расход).
        tConvertCurrency - курс пересчёта в базовую валюту.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdGetPayment

        public int CmdGetPayment​(byte index)
        Сборка команды "Получение данных о виде платежа" [4B].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H2) Индекс вида платежа
        • Поле 6: (S19) Название вида платежа
        • Поле 7: (H2) Имеет ли вид платежа вторую строку в названии (0 - нет, 1 - да)
        • Поле 8: (H2) Нужно ли возвращать величину сдачи (0 - нет, 1 - да)
        • Поле 9: (H2) Индекс валюты платежа (0 - базовая)
        • Поле 10: (H2) Маска допустимых операций (Бит: 0 - приход, 1 - возврат, 2 - расход)
        • Поле 11: (M14) Курс пересчёта в базовую валюту
        • Поле 12: (H4) Номер тега платежа
        Parameters:
        index - индекс вида платежа 0..15 (смотри TMCommand.pay_indexes).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdSetDepNames

        public int CmdSetDepNames​(java.util.Map<java.lang.Byte,​java.lang.String> deps)
        Сборка команды "Программирование отделов" [60].
        Parameters:
        deps - информация об отделах.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdGetDepNames

        public int CmdGetDepNames()
        Сборка команды "Получение данных по отделам" [61].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H2) Индекс отдела 1
        • Поле 6: (S30) Название отдела 1
        • ...
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdOnOffUPD

        public int CmdOnOffUPD​(boolean on)
        Сборка команды "Включение/выключение встроенного УПД" [65]. (команда только для контроллеров с УПД).
        Parameters:
        on - true: включить УПД, false: отключить УПД.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdStartMonitor

        public int CmdStartMonitor()
        Сборка команды "Переключение контроллера в сервисный режим" [93].
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdEJGetParam

        public int CmdEJGetParam()
        Сборка команды "Запрос параметров РПКУ" [49].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (N5) Общее количество страниц
        • Поле 6: (Н4) Число отказавших блоков
        • Поле 7: (Н4) Номер текущей страницы
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdEJShiftCloseReport

        public int CmdEJShiftCloseReport​(short ShiftNo)
        Сборка команды "Печать 'Отчёта закрытия смены' из РПКУ" [7С].
        Parameters:
        ShiftNo - номер смены.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdEJTimeReport

        public int CmdEJTimeReport​(java.lang.String tTimeStart,
                                   java.lang.String tTimeEnd,
                                   java.lang.String tDate)
        Сборка команды "Отчёт из РПКУ по времени" [7D].
        Parameters:
        tTimeStart - начальное время области отчётов.
        tTimeEnd - конечное время области отчётов.
        tDate - дата.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdEJNoReport

        public int CmdEJNoReport​(short DocStart,
                                 short DocEnd,
                                 byte Over)
        Сборка команды "Отчёт из РПКУ по номерам документов" [7E].
        Parameters:
        DocStart - стартовый номер документа.
        DocEnd - конечный номер документа.
        Over - число переполнения счетчика документов.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdEJNoDoc

        public int CmdEJNoDoc​(short DocNo,
                              byte Over)
        Сборка команды "Документ по номеру из РПКУ" [7F].
        Parameters:
        DocNo - сквозной порядковый номер документа.
        Over - число переполнения счетчика документов.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdEJPrint

        public int CmdEJPrint​(short ShiftNo)
        Сборка команды "Печать РПКУ" [84].
        Parameters:
        ShiftNo - номер смены.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdEJErase

        public int CmdEJErase()
        Сборка команды "Стирание РПКУ" [85].
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdServiceUpdateKeys

        public int CmdServiceUpdateKeys​(byte addCmd)
        Собрать команду "Сервис обновления ключей проверки в ФН" [9E].
        Parameters:
        addCmd - дополнительный код команды (смотри TMCommand.asokp_cmd).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdServiceUpdateKeys

        public int CmdServiceUpdateKeys​(byte addCmd,
                                        java.lang.String data)
        Собрать команду "Сервис обновления ключей проверки в ФН" [9E].
        Parameters:
        addCmd - дополнительный код команды (смотри TMCommand.asokp_cmd).
        data - cтрока в HEX формате для передачи на сервер.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdKMGetStatus

        public int CmdKMGetStatus()
        Собрать команду "Запрос статуса КМ" [20].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H2) Состояние по проверке КМ
        • Поле 6: (Н2) Состояние по формированию уведомления
        • Поле 7: (Н2) Флаги разрешения команд работы с КМ
        • Поле 8: (Н2) Количество сохранённых результатов проверки КМ
        • Поле 9: (Н2) Количество КМ, включенных в уведомление о реализации
        • Поле 10: (Н4) Предупреждение о заполнении области хранения уведомлений о реализации маркированного товара
        • Поле 11: (Н4) Количество уведомлений в очереди
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdKMGetStatus

        public int CmdKMGetStatus​(byte dopCode)
        Собрать команду "Запрос статуса КМ"[20] c дополнительным параметром. Команда поддерживается только ФН с версией протокола не ниже 1.2.06

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H2) Разрешение не формировать запрос о коде маркировки
        Parameters:
        dopCode - = 0 - запрос состояния разрешения не формировать запрос о коде маркировки.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdKMTransfer

        public int CmdKMTransfer​(short tag,
                                 byte[] code,
                                 byte IDproduct,
                                 byte offsetGS1,
                                 byte typeCode,
                                 byte plannedStatus,
                                 byte processMode,
                                 byte status)
        Собрать команду "Передача КМ" [21].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H2) Количество реквизитов КМ, добавленных в тег 1163
        Parameters:
        tag - тег маркировочного кода товара (тег 13хх) TMTag
        code - маркировочный код
        IDproduct - длина идентификатора товара в маркировочном коде
        offsetGS1 - cмещение, с которого начинается идентификатор товара в КМ
        typeCode - тип кода маркировки (тег 2100) TMMarkCode.types
        plannedStatus - планируемый статус товара (тег 2003) TMCommand.planned_status
        processMode - режим обработки маркировочного кода (тег 2102), устанавливается в 0
        status - статус проверки сведений о товаре (тег 2109)
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdKMSaveResult

        public int CmdKMSaveResult​(boolean isSave)
        Собрать команду "Сохранить результаты проверки КМ" [22]

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H2) Возвращаемое значение соответствует реквизиту ФФД 2106, возвращается только в случае сохранения
        Parameters:
        isSave - true: сохранять результаты проверки КМ, false: не сохранять.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdKMClean

        public int CmdKMClean()
        Собрать команду "Очистить КМ из ФН" [23].
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdKMNotifCreate

        public int CmdKMNotifCreate​(byte plannedStatus,
                                    byte unitId,
                                    java.lang.String sQty,
                                    java.lang.String sLotSize,
                                    byte sendOverKKT)
        Собрать команду "Создать уведомление КМ" [24].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H) Запрос для передачи в ОИСМ в формате Hex
        Parameters:
        plannedStatus - планируемый статус товара TMCommand.planned_status.
        unitId - мера количества расчёта TMCommand.unit_id.
        sQty - количество предметов расчёта.
        sLotSize - количество в партии (упаковке).
        sendOverKKT - Отправка средствами ККТ. 0 – отправка через ПК, 1 – отправка через ККТ .
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdKMNotifCreate

        public int CmdKMNotifCreate​(byte plannedStatus,
                                    byte unitId,
                                    java.lang.String sQty,
                                    java.lang.String sLotSize)
        Собрать команду "Создать уведомление КМ" [24].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H) Запрос для передачи в ОИСМ в формате Hex
        Parameters:
        plannedStatus - планируемый статус товара TMCommand.planned_status.
        unitId - мера количества расчёта TMCommand.unit_id.
        sQty - количество предметов расчёта.
        sLotSize - количество в партии (упаковке).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdKMOISMResp

        public int CmdKMOISMResp​(byte[] resp)
        Собрать команду "Отправить ответ ОИСМ в ФН" [25].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H2) Результат проверки сведений о товаре (тег 2106)
        • Поле 6: (H) Ответ от ФН (TLV List) Hex формат
        • Поле 7: (H2) Режим обработки кода маркировки (тег 2102)
        • Поле 8: (H2) Тип кода маркировки (тег 2100)
        • Поле 9: (H2) Ответ ОИСМ о статусе товара (тег 2109)
        • Поле 10: (H2) Коды обработки запроса (тег 2105)
        • Поле 11: (H2) Результаты обработки запроса (тег 2005)
        • Поле 12: (H8) Дата и время запроса UnixTime
        • Поле 13: (S32) Идентификатор товара (тег 2101)
        Parameters:
        resp - данные ответа из ОИСМ.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdKMCheck

        public int CmdKMCheck​(byte type,
                              byte[] code,
                              byte offsetGS1_91,
                              byte offsetGS1_92)
        Собрать команду "Передать код маркировки для проверки в ФН" [26].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H2) Результат проверки КМ в ФН (тег 2004)
        • Поле 6: (Н2) Причина того, что КМ не проверен в ФН
        Parameters:
        type - тип кода маркировки TMMarkCode.types.
        code - код маркировки полностью с кодом проверки.
        offsetGS1_91 - cмещение в байтах от начала КМ до начала тега GS1 «91».
        offsetGS1_92 - cмещение в байтах от начала КМ до начала тега GS1 «92».
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdNotifGetStatus

        public int CmdNotifGetStatus()
        Собрать команду "Получить число уведомлений КМ" [27].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H2) Состояние по передачи уведомлений
        • Поле 6: (Н4) Количество уведомлений в очереди
        • Поле 7: (Н8) Номер текущего уведомления
        • Поле 8: (S10) Дата и время текущего уведомления
        • Поле 9: (Н2) Процент заполнения области хранения уведомлений
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdNotifReadOpen

        public int CmdNotifReadOpen()
        Собрать команду "Начать чтение уведомления" [28].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H4) Длина текущего уведомления для передачи
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdNotifRead

        public int CmdNotifRead​(short offset,
                                short size)
        Собрать команду "Прочитать блок данных уведомления" [2C].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H) Данные для передачи в ОИСМ в формате Hex
        Parameters:
        offset - текущее смещение блока данных.
        size - размер считываемых данных.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdNotifReadCancel

        public int CmdNotifReadCancel()
        Собрать команду "Отменить чтение уведомления" [2D].
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdNotifReadClose

        public int CmdNotifReadClose()
        Собрать команду "Завершить чтение уведомления" [2E].
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdNotifWriteReceipt

        public int CmdNotifWriteReceipt​(byte[] data)
        Собрать команду "Передать квитанцию на уведомление (Передать квитанцию из ОИСМ в ФН)" [2F].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H) Ответ из ФН
        • Поле 6: (H2) Результаты обработки уведомления (тег 2106)
        • Поле 7: (H2) Коды обработки уведомления (тег 2111)
        • Поле 8: (H8) Дата и время (тег 1012)
        Parameters:
        data - блок данных квитанции на уведомление.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdNotifAutoReadStart

        public int CmdNotifAutoReadStart​(byte addCmd)
        Собрать команду "Начать сессию выгрузку уведомлений, или получить состояние текущей сессии (автономный режим)" [80].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H4) Общее количество уведомлений выгрузка которых не подтверждена
        • Поле 6: (H8) Номер первого уведомления выгрузка которого не была подтверждена
        • Поле 7: (H4) Количество уведомлений для выгрузки в этой сессии
        • Поле 8: (H8) Номер текущего уведомления для выгрузки
        Parameters:
        addCmd - 0 – выдать текущее состояние сессии выгрузки, 1 – начать сессию выгрузки и выдать текущее состояние выгрузки.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdNotifAutoConfirm

        public int CmdNotifAutoConfirm​(byte addCmd,
                                       int numReq,
                                       short crc)
        Собрать команду "Подтвердить выгрузку уведомления или получить информацию по неподтверждённым уведомлениям (автономный режим)" [87].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H4) Общее количество уведомлений выгрузка которых не подтверждена (возвращается только при получении информации по неподтверждённым уведомлениям)
        • Поле 6: (H8) Номер первого уведомления выгрузка которого не была подтверждена (возвращается только при получении информации по неподтверждённым уведомлениям)
        Parameters:
        addCmd - 0 – получить информацию по неподтверждённым уведомлениям, 1 – подтвердить выгрузку уведомления.
        numReq - номер подтверждаемого уведомления (используется только при подтверждении выгрузки уведомления, иначе 0).
        crc - контрольная сумма выгруженного уведомления (CRC16) (используется только при подтверждении выгрузки уведомления, иначе 0).
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdNotifAutoReadData

        public int CmdNotifAutoReadData​(short offset,
                                        short size)
        Собрать команду "Прочитать блок данных текущего уведомления (автономный режим)" [89].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H) Данные в формате Hex
        Parameters:
        offset - cмещение.
        size - длина.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdNotifAutoNext

        public int CmdNotifAutoNext​(byte addCmd)
        Собрать команду "Перейти к следующему уведомлению, или получить параметры текущего уведомления (автономный режим)" [8A].

        В ответе на эту команду возращаются следующие поля:
        • Поле 5: (H4) Длина уведомления
        • Поле 6: (H8) Номер уведомления
        Parameters:
        addCmd - 0 – получить параметры текущего уведомления, 1 – перейти к выгрузке следующего уведомления и получить его параметры.
        Returns:
        текущая длина сообщения или (<0) код ошибки.
      • CmdReceiptFree

        public int CmdReceiptFree​(TMCommand.FreeFiscalReceipt receipt)
        Сборка команды "Произвольный фискальный чек" [73].
        Parameters:
        receipt - описатель произвольного чека.
        Returns:
        текущая длина сообщения или (<0) код ошибки.