26.09.2018
Внимание! Данные требования устарели. Актуальные требования размещены в статье.
Данный документ описывает технологию и требования к разработке мобильных драйверов подключаемого оборудования с использованием новой технологии создания внешних компонент, представленной в платформе "1С:Предприятие" версии 8.3.9. Для просмотра документа по разработке интеграционных приложений для мобильной платформы версии 8.3.8 и ранее перейдите по данной ссылке. При этом механизм работы с интеграционными приложениями также поддерживается в платформе 8.3.9, но при разработке новых драйверов мы рекомендуем использовать новую технологию и данный документ.
Для подключения оборудования по новой технологии к мобильной платформе "1С:Предприятие" и при последующей работе с ним используется "1С:Библиотека подключаемого оборудования для мобильных приложений, редакция 2.0”. Библиотека предоставляет набор механизмов для унифицированной работы с подключаемым оборудованием. Применение данной библиотеки позволяет ускорить реализацию поддержки широкого спектра моделей подключаемого оборудования в разрабатываемых конфигурациях, а также добавить готовые функциональные блоки в уже работающие мобильные приложения.
Для подключения оборудования к "1С:Библиотека подключаемого оборудования для мобильных приложений, редакция 2.0” необходимо разработать мобильный драйвер на основе внешней компоненты по технологии создания внешних компонент, реализующий интерфейс по требованиям, описываемым в данном документе.
Интерфейс мобильного драйвера можно условно разделить на несколько частей:
Разрабатываемый драйвер должен:
При разработке мобильного драйвера вы также можете использовать один из двух подходов
Данный раздел содержит список обязательных функций и методов, связанных с использованием мобильного драйвера подключаемого оборудования в системе – его подключение и настройка, получение описания, тестирование и обслуживание ошибок.
Драйвер поддерживает два основных этапа работы с оборудованием в конфигурации:
Регистрация и настройка оборудования
Использование оборудования пользователем в процессе работы
ВНИМАНИЕ: Все значения интерфейсных элементов (наименование, описание, заголовки, сообщения) должны быть реализованы на языке, установленном кодом локализации. (см. п.9 раздела Общие требования к разрабатываемому драйверу и его архитектуре.)
Описание команд | |||||
---|---|---|---|---|---|
Название (alias) | Параметры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
ПолучитьНомерВерсии (GetVersion) |
- |
- |
- |
STRING | Возвращает номер версии драйвера. |
ПолучитьОписание (GetDescription) | Наименование (Name) | string [OUT] | Версия интеграционного приложения | BOOL | Возвращает информацию о драйвере, такую как название и описание, поддерживаемый тип оборудования. |
Описание (Description) | double [OUT] | Поддерживаемая версия требований* для данного интеграционного приложения | |||
ТипОборудования (EquipmentType) | STRING [OUT] | Строка, определяющая тип оборудования* | |||
РевизияИнтерфейса (InterfaceRevision) | LONG [OUT] | Поддерживаемая версия требований** для данного типа оборудования | |||
ИнтеграционнаяБиблиотека (IntegrationLibrary) | BOOL [OUT] | Флаг возвращает, является ли компонент интеграционной библиотекой драйвера или самостоятельным драйвером | |||
ОсновнойДрайверУстановлен (MainDriverInstalled) | BOOL [OUT] | Для интеграционной библиотеки возвращает флаг установки основной поставки драйвера | |||
URLCкачивания (DownloadURL) | STRING [OUT] | Возвращает пустую строку или адрес страницы сайта производителя, по которому доступна ссылка для скачивания основной поставки драйвера или иная информация о драйвере. При возвращении пустой строки функционал установки основной поставки драйвера не активизируется. | |||
ПолучитьОшибку (GetLastError) | ОписаниеОшибки (ErrorDescription) | STRING [OUT] | Описание ошибки | LONG | Возвращает код и описание последней произошедшей ошибки. |
ПолучитьПараметры (GetParameters) | ТаблицаПараметров (TableParameters) XML таблица |
STRING [OUT] | Список параметров | BOOL | Возвращает список параметров настройки драйвера и их типы, значения по умолчанию и возможные значения. |
УстановитьПараметр (SetParameter) | Имя (Name) | STRING [IN] | Имя параметра | BOOL | Установка значения параметра по имени |
Значение (Value) | VARIANT [IN] | Значение параметра | |||
Подключить (Open) | ИДУстройства (DeviceID) | string [OUT] | Идентификатор устройства | BOOL | Подключает оборудование с текущими значениями параметров, установленных функцией «УстановитьПараметр». Возвращает идентификатор подключенного экземпляра устройства |
Отключить (Close) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Отключает оборудование |
ТестУстройства (DeviceTest) | Описание (Description) | STRING [OUT] | Описание результата выполнения теста | BOOL | Выполняет пробное подключение и опрос устройства с текущими значениями параметров, установленными функцией «УстановитьПараметр». При успешном выполнении подключения в описании возвращается информация об устройстве |
АктивированДемоРежим (DemoModeIsActivated) | STRING [OUT] | Возвращает описание ограничений демонстрационного режима при его наличии и пустой результат при его отсутствии. Пример: драйвер является платным, и для полноценной работы нужен ключ защиты. |
* - Строка, определяющая тип оборудования, имеет одно из значений: “УстройствоВвода“, “ПринтерЧеков“, “ПлатежнаяСистема“, “ККТ“.
** - Версия требований – версия текущего документа (Версии 1.1 соответствует число 2001, версии 1.4 соответствует число 2004)
Текст в формате XML, передаваемый с помощью параметра типа STRING. Содержит описание всех параметров драйвера и описание визуального интерфейса настройки драйвера.
Необходимые для работы параметры могут быть структурированы для вывода на форму конфигурации "1С:Предприятия" - распределены по закладкам и группам на закладке. Закладки и группы могут иметь наименования, которые отобразятся на форме. Для параметров могут быть заданы определенные значения, которые сформируют выпадающий список для выбора. Наконец, поля параметров, зависимых от других параметров, могут активироваться по необходимости.
Наименование атрибута |
Наличие в структуре |
Типы данных |
Описание атрибута |
---|---|---|---|
Name |
Обязательное |
string |
Имя параметра, для которого создается поле ввода, не должно содержать пробелов и недопустимых символов (в соответствии с правилами формирования имен объектов "1С:Предприятия") и быть уникальным в рамках таблицы параметров. |
Caption |
Обязательное |
string |
Произвольная надпись перед полем ввода. |
Description |
Необязательное |
string |
Описание параметра. Справочная информация, выводимая в выпадающей подсказке. |
TypeValue |
Обязательное |
string |
Одно из нижеуказанных типов данных: |
FieldFormat |
Необязательное |
string |
Строка форматирования значения параметра. |
DefaultValue |
Необязательное |
string |
Значение параметра по умолчанию. |
ReadOnly |
Необязательное |
boolean |
Параметр только для просмотра. |
ChoiceList |
Необязательное |
list |
Содержит список доступных для выбора значений параметра. |
PageCaption |
Необязательное |
string |
Наименование закладки, по которому будут группироваться поля ввода. |
GroupCaption |
Необязательное |
string |
Наименование группы, по которому будут группироваться поля ввода. |
Пример XML описывающего параметры интеграционного приложения:
<?xml version="1.0" encoding="UTF-8" ?> <Settings> <Page Caption="Параметры"> <Group Caption="Параметры подключения"> <Parameter Name="Model" Caption="Модель"/> <Parameter Name="Port" Caption="Порт" TypeValue="Number" DefaultValue="0"> <ChoiceList> <Item Value="1">COM1</Item> <Item Value="2">COM2</Item> </ChoiceList> </Parameter> <Parameter Name="Parity" Caption="Четность" TypeValue="Number" DefaultValue="True"/> <Parameter Name="Speed" Caption="Скорость" TypeValue="Number" FieldFormat="" DefaultValue="1"/> </Group> </Page> </Settings>
Данные устройства реализуют функцию автоматического считывания закодированной различными способами информации и асинхронной передачи ее в конфигурацию "1С:Предприятия". Драйвера устройств такого типа не предусматривают специфических для оборудования методов, которые можно вызывать из конфигураций.
Работа с драйвером строится следующим образом:
Описание методов, доступных для асинхронного вызова из драйвера*
Описание методов | |||||
---|---|---|---|---|---|
Название (alias) | Параметры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
ExternalEvent |
bstrWho |
BSTR [IN] |
Уникальный идентификатор подключенного устройства ** |
HRESULT |
Помещает данные, полученные от сканера/считывателя в очередь сообщений |
bstrWhat |
BSTR [IN] |
Тип сообщения/тип данных *** | |||
bstrData |
BSTR [IN] |
Считанные устройством данные | |||
SetEventBufferDepth |
lDepth |
BSTR [IN] |
Максимальное число сообщений в очереди |
HRESULT |
Устанавливает длину очереди сообщений |
* - Описание остальных функций, доступных для вызова из драйвера, см. в документе «Технология создания внешних компонент»
** - В параметре bstrWho драйвер передает уникальный идентификатор подключенного устройства.
*** - Параметр bstrWhat используется для поддержки событий различных типов.
Типы события поддерживаемы драйверами устройства ввода:
Тип устройства | Параметр «bstrWhat» должен содержать следующую строку | Ожидаемое значение «bstrData» |
---|---|---|
Сканер штрихкода |
«Штрихкод» или «Barcode» |
Штрихкод в текстовом виде |
Считыватель магнитных карт |
«ДанныеКарты» или «TracksData» |
Данные магнитных дорожек. В случае наличии нескольких дороже данные могут быть разделены символом «;». |
Встроенная клавиатура терминала сбора данных |
«НажатиеКлавиши» или «KeyPress» |
Текстовое представление нажатой клавиши |
RFID считыватель |
«RFID» |
Данные считанной RFID метки в формате: |
Событие драйвера в случае ошибки |
«ОшибкаДрайвера» или «DriverError» |
Содержать описание ошибки в текстовом виде |
При работе с принтерами чеков поддерживаются следующие операции:
При подключении устройства методом "Подключить (Open)" драйвер устанавливает режим печати, настраивает кодировку принтера чеков или производит другие необходимые действия по инициализации печати на устройстве.
Выполнение команд построчной печати чеков осуществляется по следующему алгоритму:
Открытие документа - Открытие текстового чека происходит методом «ОткрытьДокумент (OpenDocument)».
Печать текстовых строк - Печать текстовых строк осуществляется методом «НапечататьСтроку (PrintString)». Выводится произвольная текстовая строка на чековой ленте.
Для длинных строк перенос не предусмотрен: строки обрезаются до максимально возможной длины строки печатающего устройства.
Печать штрихкода - Печать штрихкода осуществляется методом «НапечататьШтрихКод (PrintBarCode)». Осуществляется печать штрихкода в открытом документе, если это позволяет сделать модель устройства.
Закрытие чека - Закрытие документа осуществляется методом «ЗакрытьДокумент (CloseDocument)». В случае необходимости посылается команда отрезчику, и если это позволяет сделать модель устройства.
В рамках одного документа должна быть предусмотрена возможность печати текстовых строк и штрихкода.
Алгоритм пакетной печати документа отличается от построчной печати тем, что все те же команды, которые используется при построчной печати, передаются единым пакетом.
Последовательность команд и их параметры описываются с помощью XML определенного типа - DocumentPackage.
Пакетная печать осуществляется методом «НапечататьТекстовыйДокумент (PrintTextDocument)».
Описание методов | |||||
---|---|---|---|---|---|
Название (alias) | Параметры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
ОткрытьДокумент (OpenDocument) |
ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Открывает новый документ. Драйвер может проверить доступность устройства, наличие бумаги и вернуть False в случае невозможности печати. |
НапечататьСтроку (PrintString) |
ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Выводит текстовую строку. |
СтрокаТекста (TextString) |
STRING [IN] |
Строка с произвольным текстом | |||
НапечататьШтрихКод (PrintBarCode) |
ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Печать штрихкода осуществляется с автоматическим размером с выравниванием по центру чека. Тип штрихкода может иметь одно из следующих значений: EAN8, EAN13, CODE39, QR. В случае, если модель устройства не поддерживает печать штрихкода, выдается ошибка. |
ТипШтрихкода (BarcodeType) |
STRING [IN] |
Строка, определяющая тип штрихкода | |||
Штрихкод (Barcode) |
STRING [IN] |
Значение штрихкода | |||
ЗакрытьДокумент (CloseDocument) |
ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Закрывает открытый ранее документ. В случае необходимости посылается команда отрезчику. |
ОткрытьДенежныйЯщик (OpenCashDrawer) |
ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Посылает команду на открытие денежного ящика, подключенного к принтеру чеков |
НапечататьТекстовыйДокумент (PrintTextDocument) |
ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Печать текстового документа (текстовый слип-чек, информационная квитанция) |
ДанныеДокумента (DocumentPackage) XML таблица |
STRING [IN] |
XML структура - описание текстового документа. | |||
ПолучитьШиринуСтроки (GetLineLength) |
ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Получить ширину строки в символах |
ШиринаСтроки (LineLength) |
LONG [OUT] |
Ширина строки в символах |
Текст в формате XML содержит описание передаваемого для печати документа.
Секция | Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | Описание | |
---|---|---|---|---|---|---|
Document | Да | Описание документа | ||||
Positions | ||||||
TextString | Text | Да | string | Строка с произвольным текстом | Печать текстовой строки. | |
Barcode | BarcodeType | Да | string | Строка, определяющая тип штрихкода | Печать штрихкода. Осуществляется с автоматическим размером с выравниванием по центру чека. Тип штрихкода может иметь одно из следующих значений: EAN8, EAN13, CODE39, QR. В случае, если модель устройства не поддерживает печать штрихкода, выдается ошибка. | |
Barcode | Да | string | Значение штрихкода |
Пример XML описывающего чека для печати:
<?xml version="1.0" encoding="UTF-8" ?> <Document> <Positions> <TextString Text="Участие в дисконтной системе"/> <TextString Text="Дисконтная карта: 00002345"/> <Barcode BarcodeType="EAN13" Barcode="2000021262157"/> </Positions> </Document>
При работе с платежными системами поддерживаются следующие операции:
ВНИМАНИЕ: По требованиям безопасности полный номер карты не предоставляется, предоставляется маскированный номер карты (часть цифр номера карты заменено звездочками).
При необходимости оплатить покупку платежной картой система вызывает метод «ОплатитьПлатежнойКартой (PayByPaymentCard)», передавая во входных параметрах сумму к оплате для списания с карты и номер чека по которому происходит покупка. Драйвер возвращает результат выполнения команды, код RRN, маскированный номер карты, код авторизации и текст слип-чека.
Текст слип чека печатается на подключенном печатающем устройстве (ФР или Принтер чеков) или передается покупателю средствами мобильного решения (email или sms).
При возврате платежа система вызывает команду «ВернутьПлатежПоПлатежнойКарте (ReturnPaymentByPaymentCard)», передавая во входном параметре сумму к возврату на карту, номер карты по которой происходила оплата, номер чека по которому происходит операция, код RRN операции по которой совершается возврат, и код авторизации. Драйвер в ответ возвращает результат выполнения функции, а в выходные параметры записывает код RRN, код авторизации.
Текст слип чека печатает на подключенном печатающем устройстве (ФР или Принтер чеков) или передается покупателю средствами мобильного решения (email или sms).
Если происходит отмена платежа, то система вызывает метод «ОтменитьПлатежПоПлатежнойКарте (CancelPaymentByPaymentCard)», передавая во входных параметрах сумму, которая была указана для списания с карты, номер карты по которой происходила оплата, номер чека по которому происходит операция, код RRN операции по которой совершается отмена, и код авторизации. Драйвер в ответ возвращает результат выполнения функции.
Для получения текста отчета система вызывает команду «ИтогиДняПоКартам (Settlement)». Драйвер возвращает результат выполнения функции и текст отчета.
Описание команд | |||||
---|---|---|---|---|---|
Название команды | Параметры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
ОплатитьПлатежнойКартой (PayByPaymentCard) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства |
BOOL |
Метод осуществляет авторизацию оплаты по карте. |
НомерКарты (CardNumber) | STRING [OUT] | Номер карты | |||
Сумма (Amount) | DOUBLE [IN] | Сумма операции по карте | |||
НомерЧека (ReceiptNumber) | STRING [IN/OUT] | Номер чека | |||
КодRRN (RRNCode) | STRING [OUT] | Уникальный код транзакции RRN | |||
КодАвторизации (AuthorizationCode) | STRING [OUT] | Код авторизации транзакции | |||
ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанции, сформированный платежной системой | |||
ВернутьПлатежПоПлатежнойКарте (ReturnPaymentByPaymentCard) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства |
BOOL |
Метод осуществляет возврат платежа по карте. |
НомерКарты (CardNumber) | STRING [IN/OUT] | Номер карты / Данные карты* | |||
Сумма (Amount) | DOUBLE [IN] | Сумма операции по карте | |||
НомерЧека (ReceiptNumber) | STRING [IN/OUT] | Номер чека | |||
КодRRN (RRNCode) | STRING [IN/OUT] | Уникальный код транзакции RRN | |||
КодАвторизации (AuthorizationCode) | STRING [IN/OUT] | Код авторизации транзакции | |||
ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанции, сформированный платежной системой | |||
ОтменитьПлатежПоПлатежнойКарте (CancelPaymentByPaymentCard) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства |
BOOL |
Метод осуществляет отмену платежа по карте. |
НомерКарты (CardNumber) | STRING [IN/OUT] | Номер карты / Данные карты* | |||
Сумма (Amount) | DOUBLE [IN] | Сумма операции по карте | |||
НомерЧека (ReceiptNumber) | STRING [IN/OUT] | Номер чека | |||
КодRRN (RRNCode) | STRING [IN/OUT] | Уникальный код транзакции RRN | |||
КодАвторизации (AuthorizationCode) | STRING [IN/OUT] | Код авторизации транзакции | |||
ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанции, сформированный платежной системой | |||
ИтогиДняПоКартам (Settlement) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства |
BOOL |
Производится сверка итогов дня. |
ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанции, сформированный платежной системой |
* - Если информация, считанная с карты, передается в эквайринговую систему из конфигурации "1С:Предприятия", содержание этого поля должно отвечать требованиям конкретной эквайринговой системы.
ВНИМАНИЕ: Данный стандарт определяет требования к ККТ на основании форматов фискальных документов версии "1.0" и "1.05".
При работе с ККТ с функцией передачи данных в ОФД поддерживаются следующие операции:
Описание методов | |||||
---|---|---|---|---|---|
Название (alias) | Параметры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
ПолучитьПараметрыККТ (GetDataKKT) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Получение данных из ККТ для регистрации фискального накопителя и последующей работы |
ТаблицаПараметровККТ (TableParametersKKT) XML таблица |
STRING [OUT] | Регистрационные данные фискального накопителя | |||
ОперацияФН (OperationFN) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Операция с фискальным накопителем. После проведения операции происходит печать отчета о проведении соответствующей операции. |
ТипОперации (OperationType) | LONG [IN] | Тип операции: 1 - Регистрация 2 - Изменение параметров регистрации 3 - Закрытие ФН | |||
ПараметрыФискализации (ParametersFiscal) XML таблица |
STRING [IN] | Данные для фискализации фискального накопителя | |||
ОткрытьСмену (OpenShift) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Открывает новую смену и печатает на ККТ отчет об открытии смены. |
ВходныеПараметры (InputParameters) XML таблица |
STRING [IN] | Входные параметры операции | |||
ВыходныеПараметры (OutputParameters) XML таблица |
STRING [OUT] | Выходные параметры операции | |||
НомерСмены (SessionNumber) | LONG [OUT] | Номер смены | |||
НомерДокумента(DocumentNumber) | LONG [OUT] | Номер отчета об открытии смены (номер фискального документа) | |||
ЗакрытьСмену (CloseShift) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Закрывает открытую ранее смену и печатает на ККТ отчет о закрытии смены. |
ВходныеПараметры (InputParameters) XML таблица |
STRING [IN] | Входные параметры операции | |||
ВыходныеПараметры (OutputParameters) XML таблица |
STRING [OUT] | Выходные параметры операции | |||
НомерСмены (SessionNumber) | LONG [OUT] | Номер закрытой смены | |||
НомерДокумента (DocumentNumber) | LONG [OUT] | Номер отчета о закрытии смены (номер фискального документа) | |||
СформироватьЧек (ProcessCheck) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Формирование чека в пакетном режиме. Передается структура, описывающая тип открываемого чека, фискальные и текстовые строки, штрихкоды, которые будут напечатаны. Также передаются суммы оплат для закрытия чека. |
Электронно (Electronically) | BOOL (IN) |
Формирование чека в только электроном виде. Печать чека не осуществляется. | |||
ДанныеЧека (CheckPackage) XML таблица |
STRING [IN] | XML структура - описание чека. | |||
НомерЧека (CheckNumber) | LONG [OUT] | Номер фискального чека | |||
НомерСмены (SessionNumber) | LONG [OUT] | Номер открытой смены | |||
ФискальныйПризнак (FiscalSign) | STRING [OUT] | Фискальный признак | |||
AddressSiteInspections (АдресСайтаПроверки) | STRING [OUT] | Адрес сайта проверки | |||
СформироватьЧекКоррекции (ProcessCorrectionCheck) |
ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Формирование чека коррекции в пакетном режиме. Передается структура, описывающая тип открываемого чека и атрибуты чека. |
ДанныеЧекаКоррекции (CheckCorrectionPackage) XML таблица |
STRING [IN] | XML структура - описание чека коррекции. | |||
НомерЧека (CheckNumber) | LONG [OUT] | Номер фискального чека (Номер фискального документа сформированный ФН) | |||
НомерСмены (SessionNumber) | LONG [OUT] | Номер смены | |||
ФискальныйПризнак (FiscalSign) | STRING [OUT] | Фискальный признак | |||
AddressSiteInspections (АдресСайтаПроверки) | STRING [OUT] | Адрес сайта проверки | |||
НапечататьТекстовыйДокумент (PrintTextDocument) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Печать текстового документа (текстовый слип-чек, информационная квитанция) |
ДанныеДокумента (DocumentPackage) XML таблица |
STRING [IN] | XML структура - описание текстового документа. | |||
НапечататьЧекВнесенияВыемки (CashInOutcome) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Печатает чек внесения/выемки (зависит от переданной суммы). Сумма >= 0 - внесение, Сумма < 0 - выемка. |
ВходныеПараметры (InputParameters) XML таблица |
STRING [IN] | Входные параметры операции | |||
Сумма (Amount) | DOUBLE [IN] | Сумма внесения /выемки | |||
НапечататьОтчетБезГашения (PrintXReport) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Печатает на отчет за смену без закрытия кассовой смены |
ВходныеПараметры (InputParameters) XML таблица |
STRING [IN] | Входные параметры операции | |||
ПолучитьТекущееСостояние (GetCurrentStatus) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Получение текущего состояние ККТ. |
НомерЧека (CheckNumber) | LONG [OUT] | Номер последнего пробитого фискального чека | |||
НомерСмены (SessionNumber) | LONG [OUT] | Номер смены | |||
СтатусСмены (SessionState) | LONG [OUT] | Состояние смены 1 - Закрыта 2 - Открыта 3 - Истекла | |||
ПараметрыСостояния (StatusParameters) |
STRING [OUT] |
XML структура - описание параметров состояния. | |||
ОтчетОТекущемСостоянииРасчетов (ReportCurrentStatusOfSettlements) |
ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Формирует отчет о текущем состоянии расчетов |
ВходныеПараметры (InputParameters) XML таблица |
STRING [IN] | Входные параметры операции | |||
ВыходныеПараметры (OutputParameters) XML таблица |
STRING [IN] | Выходные параметры операции | |||
ОткрытьДенежныйЯщик (OpenCashDrawer) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Производит открытие денежного ящика, подключенного к фискальному регистратору. |
ПолучитьШиринуСтроки (GetLineLength) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Получить ширину строки чека в символах. |
ШиринаСтроки (LineLength) | LONG [OUT] | Ширина строки в символахах |
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута |
---|---|---|---|
KKTNumber | Нет* | string | Регистрационный номер ККТ |
KKTSerialNumber | Да | string | Заводской номер ККТ |
Fiscal | Да | boolean | Признак регистрации фискального накопителя |
FFDVersionFN | Нет* | string | Версия ФФД ФН (одно из следующих значений "1.0","1.1") |
FFDVersionKKT | Нет* | string | Версия ФФД ККТ (одно из следующих значений "1.0","1.0.5","1.1") |
FNSerialNumber | Да | string | Заводской номер ФН |
DocumentNumber | Нет* | string | Номер документа регистрация фискального накопителя |
DateTime | Нет* | datetime | Дата и время операции регистрации фискального накопителя |
OrganizationName | Нет* | string | Название организации |
VATIN | Нет* | string | ИНН организация |
AddressSettle | Нет* | string | Адрес проведения расчетов |
PlaceSettle | Нет* | string | Место проведения расчетов |
TaxVariant | Нет* | string | Коды системы налогообложения через разделитель ",". Коды системы налогообложения приведены в таблице "Системы налогообложения". |
OfflineMode | Нет* | boolean | Признак автономного режима |
DataEncryption | Нет* | boolean | Признак шифрование данных |
ServiceSign | Нет* | boolean | Признак расчетов за услуги |
SaleExcisableGoods | Нет* | boolean | продажа подакцизного товара |
SignOfGambling | Нет* | boolean | признак проведения азартных игр |
SignOfLottery | Нет* | boolean | признак проведения лотереи |
SignOfAgent | Нет* | string | Коды признаков агента через разделитель ",". |
BSOSing | Нет* | boolean | Признак формирования АС БСО |
CalcOnlineSign | Нет* | boolean | Признак ККТ для расчетов только в Интернет |
PrinterAutomatic | Нет* | boolean | Признак установки принтера в автомате |
AutomaticMode | Да | boolean | Признак автоматического режима |
AutomaticNumber | Нет* | string | Номер автомата для автоматического режима |
OFDOrganizationName | Нет* | string | Название организации ОФД |
OFDVATIN | Нет* | string | ИНН организации ОФД |
FNSWebSite | Нет | string | Адрес сайта уполномоченного органа (ФНС) в сети «Интернет» |
SenderEmail | Нет | string | Адрес электронной почты отправителя чека |
* Данные поля обязательны для фискализированных ФН.
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута |
---|---|---|---|
CashierName | Да | string | ФИО и должность уполномоченного лица для проведения операции |
CashierVATIN | Да | string | ИНН уполномоченного лица для проведения операции |
KKTNumber | Да | string | Регистрационный номер ККТ |
OrganizationName | Да | string | Название организации |
VATIN | Да | string | ИНН организация |
AddressSettle | Да | string | Адрес проведения расчетов |
PlaceSettle | Да | string | Место проведения расчетов |
TaxVariant | Да | string | Коды системы налогообложения через разделитель ",". Коды системы налогообложения приведены в таблице "Системы налогообложения". |
OfflineMode | Да | boolean | Признак автономного режима |
DataEncryption | Да | boolean | Признак шифрование данных |
ServiceSign | Да | boolean | Признак расчетов за услуги |
SaleExcisableGoods | Да | boolean | продажа подакцизного товара |
SignOfGambling | Да | boolean | признак проведения азартных игр |
SignOfLottery | Да | boolean | признак проведения лотереи |
SignOfAgent | Да | string | Коды признаков агента через разделитель ",". (Коды приведены в таблице 10 форматов фискальных данных) |
BSOSing | Да | boolean | Признак формирования АС БСО |
CalcOnlineSign | Да | boolean | Признак ККТ для расчетов только в Интернет |
PrinterAutomatic | Да | boolean | Признак установки принтера в автомате |
AutomaticMode | Да | boolean | Признак автоматического режима |
AutomaticNumber | Да | string | Номер автомата для автоматического режима |
ReasonCode | Нет* | long | Код причины перерегистрации (*указывается только для операции "Изменение параметров регистрации") (Коды приведены в таблице 15 форматов фискальных данных) |
InfoChangesReasonsCodes | Нет* | string | Коды причин изменения сведений о ККТ через разделитель ". (Коды приведены в таблице 16 форматов фискальных данных) |
OFDOrganizationName | Да | string | Название организации ОФД |
OFDVATIN | Да | string | ИНН организации ОФД |
FNSWebSite | Нет* | string | Адрес сайта уполномоченного органа (ФНС) в сети «Интернет» |
SenderEmail | Нет* | string | Адрес электронной почты отправителя чека |
* Данное поле обязательно при процедуре изменение параметров регистрации.
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
InputParameters | ||||
Parameters | CashierName | Да | string | ФИО и должность уполномоченного лица для проведения операции |
CashierVATIN | Да | string | ИНН уполномоченного лица для проведения операции |
Пример текстового XML:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <InputParameters> <Parameters CashierName="Иванов И.П." CashierVATIN="32456234523452"/> </InputParameters>
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
OutputParameters | ||||
Parameters | ||||
UrgentReplacementFN | Да | bool | Признак необходимости срочной замены ФН | |
MemoryOverflowFN | Да | bool | Признак переполнения памяти ФН | |
ResourcesExhaustionFN | Да | bool | Признак исчерпания ресурса ФН | |
OFDtimeout | Да | bool | Признак того, что подтверждение оператора для переданного фискального документа отсутствует более двух дней. Для ФД с версией ФФД 1.0 более 5 дней. |
Пример текстового XML:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <OutputParameters> <Parameters UrgentReplacementFN="false" MemoryOverflowFN="false" ResourcesExhaustionFN="false" /> </OutputParameters>
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
OutputParameters | ||||
Parameters | NumberOfChecks | Да | long | Количество кассовых чеков за смену |
NumberOfDocuments | Да | long | Количество общее ФД за смену | |
BacklogDocumentsCounter | Да | long | Количество непереданных документов | |
BacklogDocumentFirstNumber | Нет | long | Номер первого непереданного документа | |
BacklogDocumentFirstDateTime | Нет | datetime | Дата и время первого из непереданных документов | |
UrgentReplacementFN | Нет | bool | Признак необходимости срочной замены ФН | |
MemoryOverflowFN | Нет | bool | Признак переполнения памяти ФН | |
ResourcesExhaustionFN | Нет | bool | Признак исчерпания ресурса ФН | |
ResourcesFN | Нет | long | Срок действия ключей фискального признака. Текущее значение реквизита определяется как остаток срока действия ключей в днях. | |
OFDTimeout | Нет | bool | Признак того, что подтверждение оператора для переданного фискального документа отсутствует более двух дней. Для ФД с версией ФФД 1.0 более 5 дней. |
Пример текстового XML:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <OutputParameters> <Parameters OFDTimeout="Иванов И.П." CashierVATIN="32456234523452"/> <OutputParameters >
Текст в формате XML содержит описание передаваемого для формирования чека. Структура описывает параметры и последовательность формирования фискального чека.
Секция | Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | Описание | |
---|---|---|---|---|---|---|
CheckPackage | ||||||
Parameters |
CashierName | Да | string | ФИО и должность уполномоченного лица для проведения операции | Формирование нового чека с заданным атрибутами. При формирование чека ККТ должен проверять, что передаваемый код системы налогообложения доступен для данного фискализированного ФН. | |
CashierVATIN | Нет | string | ИНН уполномоченного лица для проведения операции | |||
PaymentType | Да | long | Тип расчета 1 - Приход 2 - Возврат прихода 3 - Расход 4 - Возврат расхода | |||
TaxVariant | Да | long | Код системы налогообложения. См. таблицу "Системы налогообложения" | |||
CustomerEmail | Нет | string | Email покупателя | |||
CustomerPhone | Нет | string | Телефонный номер покупателя | |||
SenderEmail | Нет | string | Адрес электронной почты отправителя чека | |||
AddressSettle | Нет | string | Адрес проведения расчетов | |||
PlaceSettle | Нет | string | Место проведения расчетов | |||
AgentSign | Нет | long | Признак агента | |||
AgentData | Нет | Вложенная структура | Данные агента | |||
PurveyorData | Нет | Вложенная структура | Данные поставщика | |||
AdditionalAttribute | Нет | string | Дополнительный реквизит чека | |||
Positions |
FiscalString | Name | Да | string | Наименование товара | Регистрирует фискальную строку с переданными реквизитами. При печати длинных фискальных строк необходимо делать перенос на следующую строку. |
Quantity | Да | double | Количество товара | |||
PriceWithDiscount | Да | double | Цена единицы товара с учетом скидок/наценок | |||
SumWithDiscount | Да | double | Конечная сумма по позиции чека с учетом всех скидок/наценок | |||
DiscountSum | Нет | double | Сумма скидок и наценок (если значение > 0 то в чеке выводиться скидка, если значение < 0 то наценка | |||
Department | Нет | long | Отдел, по которому ведется продажа | |||
Tax | Да | string | Ставка НДС. Список значений: "none" - БЕЗ НДС "10" - НДС 10 "18" - НДС 18 "20" - НДС 20 "0" - НДС 0 "10/110" - расч.ставка 10/110 "18/118" - расч.ставка 18/118 "20/120" - расч.ставка 20/120 | |||
TaxSum | Нет | double | Сумма налогов. | |||
SignMethodCalculation | Нет | long | Признак способа расчета. См. таблицу "Признаки способа расчета" | |||
SignCalculationObject | Нет | long | Признак предмета расчета. См. таблицу "Признаки предмета расчета" | |||
SignSubjectCalculationAgent | Нет | long | Признак агента по предмету расчета См. таблицу "Признаки агента по предмету расчета" | |||
AgentData | Нет | Вложенная структура | Данные агента | |||
PurveyorData | Нет | Вложенная структура | Данные поставщика | |||
MeasurementUnit | Нет | string | Единица измерения предмета расчета | |||
GoodCodeData | Нет | Вложенная структура | Данные кода товарной номенклатуры | |||
TextString | Text | Нет | string | Строка с произвольным текстом | Печать текстовой строки. | |
Barcode | BarcodeType | Нет | string | Строка, определяющая тип штрихкода | Печать штрихкода. Осуществляется с автоматическим размером с выравниванием по центру чека. Тип штрихкода может иметь одно из следующих значений: EAN8, EAN13, CODE39, QR. В случае, если модель устройства не поддерживает печать штрихкода, выдается ошибка. | |
Barcode | Нет | string | Значение штрихкода | |||
Payments |
Cash | Да | decimal | Сумма наличной оплаты | Параметры закрытия чека. Сумма всех видов оплат должна быть больше суммы открытого чека. | |
ElectronicPayment | Да | decimal | Сумма электронной оплаты | |||
AdvancePayment | Да | decimal | Сумма предоплатой (зачетом аванса) | |||
Credit | Да | decimal | Сумма постоплатой (в кредит) | |||
CashProvision | Да | decimal | Сумма встречным предоставлением |
Данные агента. XML Структура.
Наименование атрибута | Типы данных | Описание атрибута | |
---|---|---|---|
AgentData | |||
PayingAgentOperation | string | Операция платежного агента | |
PayingAgentPhone | string | Телефон платежного агента | |
ReceivePaymentsOperatorPhone | string | Телефон оператора по приему платежей | |
MoneyTransferOperatorPhone | string | Телефон оператора перевода | |
MoneyTransferOperatorName | string | Наименование оператора перевода | |
MoneyTransferOperatorAddress | string | Адрес оператора перевода | |
MoneyTransferOperatorVATIN | string | ИНН оператора перевода |
Данные поставщика. XML Структура.
Наименование атрибута | Типы данных | Описание атрибута | |
---|---|---|---|
PurveyorData | |||
PurveyorPhone | string | Телефон поставщика | |
PurveyorName | string | Наименование поставщика | |
PurveyorVATIN | string | ИНН поставщика |
Код товарной номенклатуры. XML Структура.
Наименование атрибута | Типы данных | Описание атрибута | |
---|---|---|---|
GoodCodeData | |||
StampType | string | Тип маркировки. Список значений: "02" – изделия из меха | |
Stamp | string |
Контрольный идентификационный знак (КиЗ) | |
GTIN | string | Глобальный идентификатор торговой единицы (GTIN) |
Текст в формате XML содержит описание передаваемого для печати чека коррекции.
Секция | Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | Описание |
---|---|---|---|---|---|
CheckCorrectionPackage | |||||
Parameters |
CashierName | Да | string | ФИО и должность уполномоченного лица для проведения операции | Формирование нового чека с заданным атрибутами |
CashierVATIN | Нет | string | ИНН уполномоченного лица для проведения операции | ||
CorrectionType | Да | long | Тип коррекции 0 - самостоятельно 1 - по предписанию | ||
TaxVariant | Да | long | Код системы налогообложения. См. таблицу "Системы налогообложения" | ||
PaymentType | Да | long | Тип расчета 1 - Приход 3 - Расход | ||
СorrectionBaseName | Нет | string | Наименование документа основания для коррекции | ||
СorrectionBaseDate | Нет | datetime | Дата документа основания для коррекции | ||
СorrectionBaseNumber | Нет | string | Номер документа основания для коррекции | ||
Sum | Да | decimal | Сумма расчета, указанного в чеке | ||
SumTAX10 | Нет | decimal | Сумма НДС чека по ставке 10% | ||
SumTAX18 | Нет | decimal | Сумма НДС чека по ставке 18% | ||
SumTAX20 | Нет | decimal | Сумма НДС чека по ставке 20% | ||
SumTAX0 | Нет | decimal | Сумма расчета по ставке НДС 0% | ||
SumTAXNone | Нет | decimal | Сумма расчета без НДС | ||
SumTAX110 | Нет | decimal | Сумма НДС чека по расч. ставке 10/110 | ||
SumTAX118 | Нет | decimal | Сумма НДС чека по расч. ставке 18/118 | ||
SumTAX120 | Нет | decimal | Сумма НДС чека по расч. ставке 20/120 | ||
AdditionalAttribute | Нет | string | Дополнительный реквизит чека | ||
Payments |
Cash | Да | decimal | Сумма наличной оплаты | Параметры закрытия чека. Чек коррекции может быть оплачен только одним видом оплаты и без сдачи. |
ElectronicPayment | Да | decimal | Сумма электронной оплаты | ||
AdvancePayment | Да | decimal | Сумма предоплатой (зачетом аванса) | ||
Credit | Да | decimal | Сумма постоплатой (в кредит) | ||
CashProvision | Да | decimal | Сумма встречным предоставлением |
Пример текстового XML:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <CheckCorrectionPackage> <Parameters PaymentType="1"/> <Payments Cash="200"/> </CheckCorrectionPackage>
Текст в формате XML содержит описание текстового документа. Структура описывает последовательность формирования текстового документа.
Секция | Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | Описание | |
---|---|---|---|---|---|---|
Document | Да | Описание чека | ||||
Positions | ||||||
TextString | Text | Да | string | Строка с произвольным текстом | Печать текстовой строки. | |
Barcode | BarcodeType | Да | string | Строка, определяющая тип штрихкода | Печать штрихкода. Осуществляется с автоматическим размером с выравниванием по центру чека. Тип штрихкода может иметь одно из следующих значений: EAN8, EAN13, CODE39, QR. В случае, если модель устройства не поддерживает печать штрихкода, выдается ошибка. | |
Barcode | Да | string | Значение штрихкода |
Пример текстового XML:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <Document> <Positions> <TextString Text="Участие в дисконтной системе"/> <TextString Text="Дисконтная карта: 00002345"/> <Barcode BarcodeType="EAN13" Barcode="2000021262157"/> </Positions> </Document>
Текст в формате XML содержит описание параметров текущего состояния ККТ.
Секция | Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | Описание |
---|---|---|---|---|---|
StatusParameters | Да | Описание параметров | |||
Parameters |
BacklogDocumentsCounter | Да | long | Количество непереданных документов | Описание параметров текущего состояния ККТ |
BacklogDocumentFirstNumber | Нет | long | Номер первого непереданного документа | ||
BacklogDocumentFirstDateTime | Нет | datetime | Дата и время первого из непереданных документов |
Пример текстового XML:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <StatusParameters> <Parameters BacklogDocumentsCounter="1" BacklogDocumentFirstNumber="34" BacklogDocumentFirstDateTime="2016-12-09T16:13:42"/> </StatusParameters>
При работе с принтерами чеков поддерживаются следующие операции:
При подключении устройства командой "Подключить" драйвер инициализирует устройство печати, в том числе определяет кодировку для печати чеков.
При формировании чека конфигурация посылает команду "НапечататьТекстовыйДокумент" для печати текстового документа на принтере чеков. Содержимое печатаемого документа определяется структурой ДанныеДокумента.
Описание методов | |||||
---|---|---|---|---|---|
Название (alias) | Параметрыры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
НапечататьТекстовыйДокумент (PrintTextDocument) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Печать текстового документа (текстовый слип-чек, информационная квитанция). Драйвер может проверить доступность устройства, наличие бумаги и вернуть False в случае невозможности печати. После завершения печати в случае необходимости посылается команда отрезчику. |
ДанныеДокумента (DocumentPackage) XML таблица |
STRING [IN] | XML структура - описание текстового документа. | |||
ОткрытьДенежныйЯщик (OpenCashDrawer) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Посылает команду на открытие денежного ящика, подключенного к принтеру чеков |
ПолучитьШиринуСтроки (GetLineLength) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Получить ширину строки в символах |
ШиринаСтроки (LineLength) | LONG [OUT] | Ширина строки в символах |
Текст в формате XML содержит описание текстового документа. Структура описывает последовательность формирования текстового документа.
Секция | Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | Описание | |
---|---|---|---|---|---|---|
Document | Да | Описание чека | ||||
Positions | ||||||
TextString | Text | Да | string | Строка с произвольным текстом | Печать текстовой строки. | |
Barcode | BarcodeType | Да | string | Строка, определяющая тип штрихкода | Печать штрихкода. Осуществляется с автоматическим размером с выравниванием по центру чека. Тип штрихкода может иметь одно из следующих значений: EAN8, EAN13, CODE39, QR. В случае, если модель устройства не поддерживает печать штрихкода, выдается ошибка. | |
Barcode | Да | string | Значение штрихкода |
Пример текстового XML:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <Document> <Positions> <TextString Text="Участие в дисконтной системе"/> <TextString Text="Дисконтная карта: 00002345"/> <Barcode BarcodeType="EAN13" Barcode="2000021262157"/> </Positions> </Document>
Код | Описание |
---|---|
0 | Общая |
1 | Упрощенная (Доход) |
2 | Упрощенная (Доход минус Расход) |
3 | Единый налог на вмененный доход |
4 | Единый сельскохозяйственный налог |
5 | Патентная система налогообложения |
Код | Описание |
---|---|
1 | Предоплата полная |
2 | Предоплата частичная |
3 | Аванс |
4 | Полный расчет |
5 | Частичный расчет и кредит |
6 | Передача в кредит |
7 | Оплата кредита |
Код | Описание |
---|---|
1 | Товар |
2 | Подакцизный товар |
3 | Работа |
4 | Услуга |
5 | Ставка азартной игры |
6 | Выигрыш азартной игры |
7 | Лотерейный билет |
8 | Выигрыш лотереи |
9 | Предоставление результатов интеллектуальной деятельности |
10 | Платеж, выплата |
11 | Агентское вознаграждение |
12 | Составной предмет расчета |
13 | Иной предмет расчета |
Код | Описание |
---|---|
0 | Банковский платежный агент |
1 | Банковский платежный субагент |
2 | Платежный агент |
3 | Платежный субагент |
4 | Поверенный |
5 | Комиссионер |
6 | Агент |
Подключение драйвера путем загрузки в информационную базу для мобильной платформы невозможно.
Для подключения разработанного драйвера необходимо открыть БПО в режиме конфигуратора и выполнить следующие действия:
Справочники.ДрайверыОборудования.ЗаполнитьПредопределенныйЭлемент(
Перечисления.ТипыПодключаемогоОборудования.УстройствоВвода,"ДрайверТестовый","Драйвер тестовый","AddIn.Test", Ложь);