![]() |
IFiscalCore
интерфейс фискального ядра
|
Данная документация описывает интерфейс фискального ядра (ФЯ) предназначена для разработчиков, выполняющих интеграцию учётных программ с фискальным ядром. Необходимы базовые знания Adnroid, Activity, Application, Intent, services, AIDL
Ознакомьтесь с примерами для Android- и VisualStudio
Загрузите и добавьте в проект файлы описания интерфейсов *.aidl
Вы можете модифицировать проекты с примерами, но не забудьте обновить файлы описания интерфейсов!
Изучите наш QA, там все ответы на самые частые вопросы.
В настоящий момент Фискальное ядро установлено на следующие модели ККТ: MSPOS-K, MSPOS-T-Ф, MSPOS-Е-Ф, MSPOS-D-Ф, MSPOS-kiosk-Ф.
Им соответствуют строковые константы моделей (Build.MODEL) устройств:
MSPOS-K: "V1S-G", "V1S", "V2"
MSPOS-T-Ф: "T1MINI-G", "T1MINI"
MSPOS-Е-Ф: "P1_4G", "P1_4G-G", "P1_4G-EU", "P1_4G-R"
MSPOS-D-Ф: "P2_PRO"
MSPOS-kiosk-Ф: "K1"
Подключение к интерфейсу фискального ядра IFiscalCore осуществляется при помощи Intent
Имя пакета (packageName) для подключения: "com.multisoft.drivers.fiscalcore"
Имя компонента (componentName) для подключения: "com.multisoft.fiscalcore"
Наименование действия (action) для Intent: "com.multisoft.drivers.fiscalcore.IFiscalCore"
После получения интерфейса ФЯ необходимо дождаться его инициализации при помощи функции IFiscalCore.IsReady.
После успешной инициализации можно начинать межпроцессное взаимодействие с ФЯ вызовом функций AIDL.
Интерфейс дисплея покупателя ILCD
MSPOS-T-Ф имеет дисплей покупателя.
Подключение производится аналогично IFiscalCore, за исключением:
Наименование действия (action) для Intent: "com.multisoft.drivers.fiscalcore.ILCD"
com.multisoft.drivers.fiscalcore
Если в процессе выполнения функции произошло прерывание, вызывается переданный в неё коллбек IExceptionCallback (если объявлен и не null), В этом случае на на выход функции передаётся, по возможности, заведомо некорректное значение. Для целочисленных переменных это -1, для строк - пустая строка, для булевых - false.
В этом блоке находятся команды запроса версии, проверки готовности интерфейса фискального ядра и автотестирования
В том числе команды для внутреннего использования (на момент 1.5.24):
IFiscalCore.GetFiscalModuleVersion
Опционально: установка локализации перед началом работы.
По умолчанию: Ru-ru
Поддерживаемые локализации: Ru-ru, в разработке En-en
Запрос локализации осуществляется через IFiscalCore.GetLang
Установка локализации осуществляется через Intent.PutExtras перед подключением к ядру
IFiscalCore.GetKKTRegisteredName
IFiscalCore.GetDayPayTotalByDocType
IFiscalCore.GetFiscalMemoryFiscalized
IFiscalCore.GetGrandTotalsSalesGross
IFiscalCore.GetCurrentFfdVersion
IFiscalCore.FNGetCurrentDocType
IFiscalCore.FNGetDocDataStatus
IFiscalCore.FNGetLastDocDateTime
IFiscalCore.FNGetSoftwareVersion
IFiscalCore.FNGetRegistrationsMade
IFiscalCore.FNGetRegistrationsLeft
IFiscalCore.FNGetLastFiscalSign
IFiscalCore.FNGetRegTaxSystemByNum
IFiscalCore.GetFnSupportedSkipOISMCheck
IFiscalCore.GetFnSupportedNewBitsInTag1290
IFiscalCore.OFDGetConnectionStatus
IFiscalCore.OFDGetQueuedMessagesCount
IFiscalCore.OFDGetMessageStatus
IFiscalCore.OFDGetFirstQueuedDocNumber
IFiscalCore.OFDGetLastNotSentDocTime
IFiscalCore.QueryNotificationStatus
IFiscalCore.NotificationStatusOut_GetStatus
IFiscalCore.NotificationStatusOut_GetCount
IFiscalCore.NotificationStatusOut_GetCurrentNumber
IFiscalCore.NotificationStatusOut_GetFillPercentage
IFiscalCore.NotificationStatusOut_GetCurrentDateTime
IFiscalCore.GetDayLastReceiptNumber
IFiscalCore.GetDayCanceledTotal
IFiscalCore.GetDayOpenDateTime
IFiscalCore.CorrectRegistration
IFiscalCore.CorrectRegistration1_1
IFiscalCore.CorrectRegistration1_2
IFiscalCore.CorrectRegistration1_2_A
IFiscalCore.CloseFiscalModeWithDateTime
IFiscalCore.PrintCalculationsReport
IFiscalCore.CloseDayWithDateTime
IFiscalCore.SetSTLVTagAttribute
IFiscalCore.SetTagByteAttribute
IFiscalCore.GetLastQRCodeValue
IFiscalCore.SendMarkupCodeFnCheck
IFiscalCore.SendMarkupCodeOismCheck
IFiscalCore.SaveMarkupCodeCheckResult
IFiscalCore.ClearAllMarkupCodeCheckResult
IFiscalCore.GetMarkupCodeOismResult
IFiscalCore.SendMarkupCodeVolumeVarietal
IFiscalCore.PrintRecTotalRound
IFiscalCore.FNMakeCorrectionRec
IFiscalCore.AddCorrectionRecItem1_1
IFiscalCore.QueryOFDReceiptByNum
IFiscalCore.OfdOut_GetFDNumber
IFiscalCore.OfdOut_GetFiscalSign
IFiscalCore.QueryFiscalDocInfo
IFiscalCore.FDI_GetConfirmFromOFD
IFiscalCore.GetRegistrationParameter
IFiscalCore.FNPrintDocFromArchive
Данный блок методов позволяет настраивать параметры ККТ в режиме реального времени.
Чтобы при следующей загрузке ядра настройки были применены, их нужно сохранить функцией IFiscalCore.SaveOptions
Порядок изменения параметров, указанных при регистрации: http://wiki.multisoft.ru:8881/redmine/projects/mspos-k/wiki/QA#Q11
В этом блоке находятся методы для настройки аппарата перед регистрацией.
Под "пользователем" следует понимать организацию - пользователя ККТ
Установка параметров ОФД
Запрос параметров ОФД
Установка параметров ОИСМ
Запрос параметров ОИСМ
Установка параметров АС ОКП
Запрос параметров АС ОКП
Установка основных настроек
IFiscalCore.SetPhysicalAddress
IFiscalCore.SetReceiptCheckURI
IFiscalCore.SetFnsServerAddress
Запрос основных настроек
IFiscalCore.GetPhysicalAddress
IFiscalCore.GetReceiptCheckURI
IFiscalCore.GetFNSServerAddress
IFiscalCore.GetExtendedAutotest
Нужны при регистрации ККТ только в некоторых режимах работы.
Если испольльзуются, их необходимо указывать до вызова функции регистрации/перерегистрации.
Установка дополнительных настроек
IFiscalCore.SetExtendedAutotest
IFiscalCore.SetTransferOperatorName
IFiscalCore.SetTransferOperatorTaxId
IFiscalCore.SetTransferOperatorTelNum
IFiscalCore.SetTransferOperatorAddress
IFiscalCore.SetPaymentAgentTelNum
IFiscalCore.SetPaymentAgentOperation
IFiscalCore.SetCommissionAgentTelNum
IFiscalCore.SetContractorTelNum
IFiscalCore.SetPrePrintHeaderLines
IFiscalCore.SetDayCloseAutoPayOut
IFiscalCore.SetPrintZReportWithoutInternalCounters
Запрос дополнительных настроек
IFiscalCore.GetTransferOperatorName
IFiscalCore.GetTransferOperatorTaxId
IFiscalCore.GetTransferOperatorTelNum
IFiscalCore.GetTransferOperatorAddress
IFiscalCore.GetPaymentAgentTelNum
IFiscalCore.GetPaymentAgentOperation
IFiscalCore.GetCommissionAgentTelNum
IFiscalCore.GetContractorTelNum
IFiscalCore.GetPrintZReportWithoutInternalCounters
Используется для сохранения настроек в памяти ККТ. При удалении фискального ядра, а также сбросе к заводским настройкам сохранённые данные стираются.
Основные настройки должны быть установлены и сохранены перед регистрацией ККТ.
Команды данной группы имеют ограниченное действие, например, только для текущего документа. Либо устанавливают одиночное значение, и не имеют действия при повторном вызове.