Package ru.nilsoft.tm
Class TMCommand
- java.lang.Object
-
- ru.nilsoft.tm.TMCommand
-
public class TMCommand extends java.lang.Object
Класс контейнер для формирования и распаковки команд контроллера ФН (поддерживаются протоколы ФФД 1.05, ФФД 1.1, ФФД 1.2).
Протокол работы с контроллером ФН
Формат запроса
- [Стартовый символ:
TMCommand.symbols.START
] - [Префикс/пароль передачи данных:
cmdPrefix
] - [Идентификационный/отличительный байт:
cmdThisId
] - [Код команды (H2):
TMCommand.commands
] - [Разделитель полей/параметров команды:
TMCommand.symbols.FIELD_END
] - [Поле 1 - 1ый параметр команды: Форматы полей/параметров]
- [Разделитель полей/параметров команды:
TMCommand.symbols.FIELD_END
] - ...
- [Поле N - Nый параметр команды: Форматы полей/параметров]
- [Разделитель полей/параметров команды:
TMCommand.symbols.FIELD_END
] - [Завершающий символ:
TMCommand.symbols.END
] - [BCC (проверочная сумма):
CalcBCC(byte[], int, int)
]
Формат ответа
- [Стартовый символ:
TMCommand.symbols.START
] - [Идентификационный/отличительный байт:
cmdThisId
] - [Код команды (H2):
TMCommand.commands
] - [Разделитель полей/параметров команды:
TMCommand.symbols.FIELD_END
] - [Поле 1 (H2) "Постоянный статус ККТ":
GetHardStatus()
] - [Разделитель полей/параметров команды:
TMCommand.symbols.FIELD_END
] - [Поле 2 (H4) "Текущий статус ККТ":
GetDynamicStatus()
] - [Разделитель полей/параметров команды:
TMCommand.symbols.FIELD_END
] - [Поле 3 (H4) "Результат выполнения команды": первый байт - код ошибки
GetMainError()
, второй байт - дополнительный кодGetSubError()
] - [Разделитель полей/параметров команды:
TMCommand.symbols.FIELD_END
] - [Поле 4 (H10) "Состояние печатающего устройства": ]
- [Разделитель полей/параметров команды:
TMCommand.symbols.FIELD_END
] - [Поле 5 - 1ый параметр ответа: Форматы полей/параметров]
- [Разделитель полей/параметров команды:
TMCommand.symbols.FIELD_END
] - ...
- [Поле N+4 - Nый параметр ответа: Форматы полей/параметров]
- [Разделитель полей/параметров команды:
TMCommand.symbols.FIELD_END
] - [Завершающий символ:
TMCommand.symbols.END
] - [BCC (проверочная сумма):
CalcBCC(byte[], int, int)
]
Форматы полей/параметров
Все поля представляют собой строки, состоящие из ASCII символов в диапазоне от 0x20 до 0xFF, завершающиеся символом разделения данных TMCommand.symbols.FIELD_END
.Тип поля Обозначение Функции Пример Строковое поле S[максимальная длина поля в байтах] GetFieldString(int)
MakeString(java.lang.String)
"Сигареты ~11Salem~01 легкие" Денежное поле M[максимальная длина поля в байтах] GetFieldValue(int)
MakeValue(java.lang.String)
"12306"
"123.06"Числовое поле N[максимальная длина поля в байтах] GetFieldValue(int)
MakeValue(java.lang.String)
"12306"
"123.06"Произвольные (hex) данные H[максимальная длина поля в байтах] GetFieldBin(int)
MakeBin(byte[])
Число 27: "1B"
Число 437: "B501"
Битовая цепочка 11010101: "D5"Байтовое поле B, B2, H2 GetFieldHexB(int)
MakeHexB(byte)
Число 27: "1B" Слово H4 GetFieldHexW(int)
MakeHexW(short)
Число 1: "0100" Двойное слово W, W8, H8 GetFieldHexDW(int)
MakeHexDW(int)
Число 1: "01000000" Поле-дата D, D6 MakeDate()
01.09.2002 "010902"
25.11.2005 "251105"Поле-время T, T4 MakeTime()
00:55 "0055" - [Стартовый символ:
-
-
Nested Class Summary
-
Field Summary
Fields Modifier and Type Field Description protected java.util.ArrayList<java.lang.Byte>
cmdBuf
Буфер для команд.protected int
cmdFields
Количество полей.protected static byte
cmdId
Счетчик для генерации проверочного байта.protected static java.lang.String
cmdPrefix
Текущий префикс команды.protected byte
cmdThisId
Текущий проверочный байт.static int
MAX_DEPARTMENT_INDEX
Максимальный номер отдела, поддерживаемый КФН (командыCmdGetDepNames()
,CmdSetDepNames(java.util.Map<java.lang.Byte, java.lang.String>)
).static int
MAX_DEPARTMENTS
Максимальное количество отделов, поддерживаемых КФН (командыCmdGetDepNames()
,CmdSetDepNames(java.util.Map<java.lang.Byte, java.lang.String>)
).static int
MAX_OFD_DATA_PART_SIZE
Размер буфера для получения данных для отправки в ОФД (командаCmdFNRead(short, short)
).static int
MAX_PAYMENT_TYPES
Максимальное количество видов платежей (командыCmdGetPayment(byte)
,CmdSetPayment(byte, java.lang.String, boolean, boolean, byte, byte, java.lang.String)
).
-
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.
-
-
-
Field Detail
-
MAX_OFD_DATA_PART_SIZE
public static final int MAX_OFD_DATA_PART_SIZE
Размер буфера для получения данных для отправки в ОФД (командаCmdFNRead(short, short)
).- See Also:
- Constant Field Values
-
MAX_DEPARTMENTS
public static final int MAX_DEPARTMENTS
Максимальное количество отделов, поддерживаемых КФН (командыCmdGetDepNames()
,CmdSetDepNames(java.util.Map<java.lang.Byte, java.lang.String>)
).- See Also:
- Constant Field Values
-
MAX_DEPARTMENT_INDEX
public static final int MAX_DEPARTMENT_INDEX
Максимальный номер отдела, поддерживаемый КФН (командыCmdGetDepNames()
,CmdSetDepNames(java.util.Map<java.lang.Byte, java.lang.String>)
).- See Also:
- Constant Field Values
-
MAX_PAYMENT_TYPES
public static final int MAX_PAYMENT_TYPES
Максимальное количество видов платежей (командыCmdGetPayment(byte)
,CmdSetPayment(byte, java.lang.String, boolean, boolean, byte, byte, java.lang.String)
).- See Also:
- Constant Field Values
-
cmdId
protected static volatile byte cmdId
Счетчик для генерации проверочного байта.
-
cmdPrefix
protected static volatile java.lang.String cmdPrefix
Текущий префикс команды.
-
cmdBuf
protected java.util.ArrayList<java.lang.Byte> cmdBuf
Буфер для команд.
-
cmdFields
protected int cmdFields
Количество полей.
-
cmdThisId
protected byte cmdThisId
Текущий проверочный байт.
-
-
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 classjava.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) код ошибки.
- Поле 5: (H2) Статус информационного обмена (смотри
-
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), устанавливается в 0status
- статус проверки сведений о товаре (тег 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) код ошибки.
-
-