13.11.2023
Внимание! Данные требования устарели. Актуальные требования размещены в статье.
Начиная с версии стандарта 3.3 в данном документе объединены требования к разработке драйверов подключаемого оборудования и требования к разработке драйверов мобильных устройств.
Для каждого типа оборудования указана возможность использования данного типа оборудования в мобильных приложениях и перечислены типы клиентов "1С:Предприятия".
В соответствии с данными требованиями фирма 1С выпускает два продукта:
Версия | Раздел | Изменения |
---|---|---|
4.1 | Требования к разработке драйверов для ККТ с функцией передачи в ОФД | 1. В структуру TableParametersKKT добавлены новые параметры: IsVendingMachine, IsCateringServices, IsWholesaleTrade. 2. В структуру InputParameters добавлен новый атрибут PrintRequired. При вызове методов открытия и закрытия смены он управляет необходимостью печати бумажного документа. 3. Изменен вызов метода фискализации чека. Метод считается выполненным успешно если чек был фискализирован. Если при печати бумажной формы чека произошла ошибка - метод возвращает True, а в атрибуте выходных параметров возвращается флаг ошибки печати PrintError = True. 4. В структуру CheckPackage добавлен параметр GroupingPositionsWhenPrinting - признак сворачивание одинаковых строк на печатной форме документа. 5. В структуру DocumentOutputParameters добавлен параметр MTNumber -Содержит номер документа "Уведомление о реализации МТ" в который включается данные чека. 6. В структуру OutputParameters добавлен параметр FNValidityDate - Срок действия ФН. |
4.1 | Требования к разработке драйверов для устройств распознавания | Добавлен новый тип устройства, Устройство распознавания, используется для распознавания товаров. |
4.1 | Требования к разработке драйверов для ККТ с функцией передачи в ОФД | В структуру RequestKM запроса КМ добавлен новый параметр NotSendToServer (BOOL).В случае передачи данного параметра со значением True - запрос КМ формируется локально и не отправляется на сервер ОИСМ. |
4.1 | Требования к разработке драйверов для дисплеев покупателя | Добавлен новый метод ОтобразитьСтатусРабочегоМеста. Отобразить статус состояния рабочего места на дисплее покупателя. К примеру POS система может быть оснащена цветовым или звуковым индикатором. |
4.0 | Общие требования к разрабатываемому драйверу и его архитектуре |
Добавлены требования обязательного включения логов для драйверов типа "Эквайринговый терминал" и "ККТ". |
4.0 | Требования к разработке драйверов для электронных весов | 1. Устройства могут генерировать новое событие "Взвешивание" и возвращать вес. 2. Добавлен метод ПараметрыВесов (ScaleOptions) - возвращает возможности весов. |
4.0 | Требования к разработке драйверов для эквайринговых терминалов | Добавлена поддержка Consumer-Presented QR-операций на стороне эквайреров ПС «Мир». Добавлена поддержка частичной отмена, на сумму меньшую оригинальной операции, если терминал поддерживает данную операцию. Добавлена поддержка получения списка операции по картам. |
4.0 | Требования к разработке драйверов для дисплеев покупателя | Добавлен метод вывода HTML на дисплей покупателя. |
4.0 | Общие требования к разрабатываемому драйверу и его архитектуре | Добавлен метод получения шаблона локализация драйвера. Добавлен метод установки локализованного шаблона для драйвера. |
3.9 | Требования к разработке драйверов для электронных весов с печатью этикеток в режиме "OFFLINE" | Добавлена выгрузка изображение товара. |
3.9 | Требования к разработке драйверов для дисплеев покупателя | Добавлен метод отображения индикаторов состояние на дисплеях покупателя. Изменены параметры метода ПолучитьПараметрыДисплеяПокупателя (GetCustomerDisplayOptions). |
3.8 | Требования к разработке драйверов для электронных весов с печатью этикеток в режиме "OFFLINE" | Добавлена выгрузка: - Номер формата этикетки - Индекс кнопки товаров на весах - Дополнительные цены |
3.7 | Требования к разработке драйверов для эквайринговых терминалов | Изменена функция получения параметров карты. Добавлен параметр PAR(Payment Account Reference) |
Требования к разработке драйверов устройств ввода (сканеры штрихкода, считыватели магнитных карт и т.д.) | Расширены типы событий. Возможность получения данных с устройств ввода в формате Base64. | |
3.6 |
Требования к разработке драйверов для эквайринговых терминалов | Добавлена операция оплаты по карте с выдачей наличных. Операция выдачи наличных не является самостоятельной операцией и сопровождается обязательной оплатой по карте. |
3.5 |
Требования к разработке драйверов для эквайринговых терминалов | Добавлена функции оплаты и возвратов с применением электронных сертификатом ФЭС НСПК. Добавлена функция получения параметров карты. Добавлена функция получения параметров эквайрингового терминала. |
Требования к разработке драйверов для дисплеев покупателя | Добавлена поддержка вывода QR кода. | |
3.4 |
Требования к разработке драйверов для ККТ с функцией передачи в ОФД | Поддержка формата фискальных документов версии по приказу ФНС России от 14.09.2020 N ЕД-7-20/662@ "Об утверждении дополнительных реквизитов фискальных документов и форматов фискальных документов, обязательных к использованию" версия 1.2. |
3.3 | ||
Общие требования к разрабатываемому драйверу и его архитектуре | Требования объединены с требованиями для драйверов для подключения оборудования для мобильных приложений. | |
Требования к разработке драйверов для терминалов сбора данных | В таблицу товаров для выгрузки в ТСД добавлено поле "Код типа маркированной продукции" | |
Требования к разработке драйверов для принтеров чеков | Расширен список типов штрихкодов, которые может выводить на печать принтер чеков. Добавлены следующие типы: "Code128", "Code16k", "Code93", "PDF417", "DataMatrix" , "ITF14", "EAN13Addon2", "EAN13Addon5", "GS1DataBarExpandedStacked". | |
Требования к разработке драйверов для терминалов сбора данных | Добавлены требования к формату передаваемых и принимаемых штрихкодов. Штрихкод кодируется текстом в кодировке Base64. | |
Требования к разработке драйверов для ККТ с функцией передачи в ОФД | ||
Требования к разработке драйверов для принтеров чеков | ||
Требования к разработке драйверов для принтеров этикеток |
Для подключения оборудования к автоматизированным системам на платформе «1С:Предприятие» используется "1С:Библиотека подключаемого оборудования" и "1С:Библиотека подключаемого оборудования для мобильных приложений". Библиотеки предоставляют набор высокоуровневых механизмов для унифицированной работы с подключаемым оборудованием. Применение данных библиотек позволяет ускорить реализацию поддержки широкого спектра моделей подключаемого оборудования в разрабатываемых конфигурациях, а также добавить готовые функциональные блоки в уже работающие прикладные решения.
Подключение оборудования локально к устройству пользователя осуществляется с помощью специально разработанного драйвера. Требования к таким драйверам подключаемого оборудования описывают единые методы, используемые как конфигурациями "1С:Библиотека подключаемого оборудования" и "1С:Библиотека подключаемого оборудования для мобильных приложений", так и драйвером оборудования. Конфигурация "1С:Библиотека подключаемого оборудования", непосредственно взаимодействует с драйверами оборудования используя стандартные команды, за счет чего достигается стандартный результат.
Поддерживается взаимодействие с программно-аппаратными POS-системами (от англ. "Point of Sale" - "Точка продаж"), обеспечивающими розничные продажи.
Взаимодействие обеспечивается с помощью файлового обмена с помощью встроенного в библиотеку "1С:Библиотека подключаемого оборудования" модуля "1С: ККМ-Offline".
Библиотека поддерживает работу сторонних программно-аппаратных комплексов различного назначения с помощью Веб-сервиса оборудования. Для осуществления обмена необходимо опубликовать Веб-сервис "EquipmentService", входящий в состав библиотеки. Веб-сервис обрабатывает запросы на получение и обработку данных от программно-аппаратных комплексов и возвращает стандартный результат во внешний программно-аппаратный комплекс.
Рис. 1. Схемы взаимодействия конфигураций системы программ «1С:Предприятие» с подключаемым оборудованием
Общую структуру документа можно разделить на две части: требования к разработке драйвера для подключения оборудования локально к устройству пользователя и подключение аппаратно-программных систем с помощью веб-сервиса оборудования.
Оборудование подключается к системе с помощью драйвера, разработанного в соответствии с технологией создания внешних компонент. Технология определяет интерфейс взаимодействия между платформой 1С и драйвером. Реализация драйвера возможна с использованием стандартных компонентных объектов только для Windows (COM-интерфейс) и собственной технологии фирмы 1С – NativeAPI .
Разработка драйвера в технологии NativeAPI имеет ряд преимуществ. С помощью технологии можно создавать внешние компоненты, которые могут подключаться как в клиентском приложении, в том числе в тонком и web-клиенте, мобильном клиенте, мобильном приложении, так и на сервере "1С:Предприятия", разработать универсальные программные компоненты для Windows, Linux, Android и iOS.
Интерфейс внешней компоненты можно условно разделить на несколько частей:
Разрабатываемый драйвер должен:
При разработке драйвера можно использовать несколько архитектурных решений:
ВНИМАНИЕ: Для типа оборудования "Дисплей покупателя", "Устройства ввода", "Принтеры чеков", "Терминал сбора данных", "Электронные весы" допускается разработка драйвера в однокомпонентной архитектуре. Для других типов оборудования необходимо использовать многокомпонентную архитектуру!
Данный раздел содержит список обязательных функций и методов, связанных с использованием драйвера подключаемого оборудования в системе – его подключение и настройка, получение описания, тестирование и обслуживание ошибок.
Драйвер поддерживает два основных этапа работы с оборудованием в конфигурации:
Регистрация и настройка оборудования
Использование оборудования пользователем в процессе работы
ВНИМАНИЕ: Все значения интерфейсных элементов (наименование, описание, заголовки, сообщения) должны быть реализованы на языке, установленном кодом локализации. (см. п.9 раздела Общие требования к разрабатываемому драйверу и его архитектуре).
Описание методов | |||||
---|---|---|---|---|---|
Название (alias) | Параметры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
ПолучитьРевизиюИнтерфейса (GetInterfaceRevision) | - | - | - |
LONG |
Возвращает поддерживаемую версию требований** для данного типа оборудования |
ПолучитьОписание (GetDescription) | ОписаниеДрайвера (DriverDescription) XML таблица |
STRING [OUT] | Структура описания драйвера |
BOOL |
Возвращает информацию о драйвере |
ПолучитьОшибку (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] | Возвращает описание ограничений демонстрационного режима при его наличии и пустой результат при его отсутствии. Пример: драйвер является платным, и для полноценной работы нужен ключ защиты. | |||
ПолучитьДополнительныеДействия (GetAdditionalActions) | ТаблицаДействий (TableActions) XML таблица |
STRING [OUT] |
Список дополнительных действий |
BOOL |
Получает список действий, которые будут отображаться как дополнительные пункты меню в форме настройки оборудования, доступной администратору. Если действий не предусмотрено, возвращает пустую строку. |
ВыполнитьДополнительноеДействие (DoAdditionalAction) | ИмяДействия (ActionName) | STRING [IN] | Имя действия |
BOOL |
Команда на выполнение дополнительного действия с определенными именем |
ПолучитьШаблонЛокализации (GetLocalizationPattern) | ШаблонЛокализации (LocalizationPattern) |
STRING [OUT] |
Шаблон локализации. XML в виде текста |
BOOL |
Возвращает шаблон локализации содержавший идентификаторы тестовых ресурсов для последующего заполнения. |
УстановитьЛокализацию (SetLocalization) | КодЯзыка (LanguageCode) |
STRING [IN] |
Язык интерфейса, выбранный для текущего пользователя TD> |
BOOL |
Устанавливает для драйвера код языка для текущего пользователя и шаблон локализации для текущего пользователя. |
ШаблонЛокализации (LocalizationPattern) |
STRING [IN] |
Локализация в виде XML текста |
** - Версия требований – версия текущего документа (Версии 2.00 соответствует число 2000. Версии 2.4 соответствует число 2004. Текущей версии 4.1 соответствует число 4001.
Текст в формате XML, передаваемый с помощью параметра типа STRING. Содержит информацию о драйвере.
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута |
---|---|---|---|
Name | Да | string | Наименование драйвера |
Description | Да | string | Назначение драйвера (Произвольный текст, описывающий назначение драйвера) |
EquipmentType | Да | string | Строка определяющая тип оборудования. Имеет одно из значений и таблицы "Тип оборудования". Допустимо одно как RU там и EN, рекомендуется использовать EN написание. Может иметь несколько значений разделенных "," |
IntegrationComponent | Да | bool | Признак интеграционного компонента: False - однокомпонентный драйвер True - интеграционный компонент для основной поставки драйвера |
MainDriverInstalled | Да | bool | Для интеграционного компонента возвращает флаг установки основной поставки драйвера |
DriverVersion | Да | string | Возвращает, номер версии установленной основной поставки драйвера |
IntegrationComponentVersion | Да | string | Возвращает номер версии интеграционного компонента. В случае однокомпонентной архитектуры значение должно совпадать с значением "DriverVersion". |
IsEmulator | Нет | bool | Возвращает является ли драйвер эмулятором устройства |
LocalizationSupported | Нет | bool | Возвращает поддерживается ли драйвер локализацию (Будут использоваться методы ПолучитьШаблонЛокализации и УстановитьЛокализацию) |
DownloadURL | Да* | string | Возвращает пустую строку или адрес страницы сайта производителя, по которому доступна ссылка для скачивания основной поставки драйвера или иная информация о драйвере. При возвращении пустой строки функционал установки основной поставки драйвера не активируется. |
LogIsEnabled | Да | bool | Возвращает флаг включения лога драйвера. Для определенных типов оборудования необходимо включать ведение лога драйвера по умолчанию. См.таблицу "Тип оборудования". |
LogPath | Да | string | Возвращает полный путь к файлу лога драйвера. |
* - Обязательно только для многокомпонентных драйверов.
Строка | Описание | |
---|---|---|
BarcodeScanner | СканерШтрихкода | Сканер штрихкода |
CardReader | СчитывательМагнитныхКарт | Считыватель магнитных карт |
KKT | ККТ | Контрольно-кассовая техника * |
ReceiptPrinter | ПринтерЧеков | Принтер чеков |
CustomerDisplay | ДисплейПокупателя | Дисплей покупателя |
DataCollectionTerminal | ТерминалСбораДанных | Терминал сбора данных |
POSTerminal | ЭквайринговыйТерминал | Эквайринговый терминал * |
WeighingScales | ЭлектронныеВесы | Электронные весы |
LabelPrintingScale | ВесыСПечатьюЭтикеток | Весы с печатью этикеток |
LabelPrinter | ПринтерЭтикеток | Принтер этикеток |
RFIDReader | СчитывательRFID | Считыватель RFID |
* Для данных типов оборудования необходимо включать ведение лога драйвера по умолчанию. Настройку уровня детализации логирования необходимо вывести в параметры драйвера.
В лог файл рекомендуется включать информацию, полученную от 1С, - в частности, XML пакеты данных.
Пример XML описания драйвера :
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <DriverDescription Name="Драйвер сканера" Description="Драйвер сканера" EquipmentType="BarcodeScanner" IntegrationComponent="true" MainDriverInstalled="true" DriverVersion="1.1" IntegrationComponentVersion="1.1" DownloadURL="http://files.1с.ru/file.ZIP" LogIsEnabled="true" LogPath="C:\Users\drivers\"/>
Текст в формате XML, передаваемый с помощью параметра типа STRING. Содержит описание всех параметров драйвера и описание визуального интерфейса настройки драйвера.
Необходимые для работы параметры могут быть структурированы для вывода на форму конфигурации "1С:Предприятия" - распределены по закладкам и группам на закладке. Закладки и группы могут иметь наименования, которые отобразятся на форме. Для параметров могут быть заданы определенные значения, которые сформируют выпадающий список для выбора. Наконец, поля параметров, зависимых от других параметров, могут активироваться по необходимости.
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута |
---|---|---|---|
Name | Да | string | Имя параметра, для которого создается поле ввода, не должно содержать пробелов и недопустимых символов (в соответствии с правилами формирования имен объектов "1С:Предприятия") и быть уникальным в рамках таблицы параметров |
Caption | Да | string | Произвольная надпись перед полем ввода |
Description | Нет | string | Описание параметра. Справочная информация, выводимая в выпадающей подсказке. |
TypeValue | Да | string | Одно из нижеуказанных типов данных: “String“, “Number“, “Boolean” |
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="Модель" TypeValue="Number"/> <Parameter Name="Port" Caption="Порт" TypeValue="Number" DefaultValue="0"> <ChoiceList> <Item Value="0">Клавиатура</Item> <Item Value="1">COM1</Item> <Item Value="2">COM2</Item> </ChoiceList> </Parameter> <Parameter Name="Parity" Caption="Четность" TypeValue="Boolean" DefaultValue="true"/> <Parameter Name="Speed" Caption="Скорость" TypeValue="Number" DefaultValue="1"/> </Group> </Page> </Settings>
В результате будет сформирована следующая форма для ввода параметров:
Текст в формате XML, передаваемый с помощью параметра типа STRING. Содержит описание дополнительных действий для настройки и управления драйвером в форме настройки оборудования, доступной администратору.
Данные действия будут отображаться пунктами меню в разделе "Функции", после пункта меню "Тест устройства" на форме настройки экземпляра подключаемого оборудования. При выборе определенного пункта меню будет вызван метод драйвера "ВыполнитьДополнительноеДействие" с параметром "ИмяДействия", соответствующий данному пункту меню. При выполнении данного действия драйвер может создавать дополнительные диалоговые окна в соответствии с документом "Технология создания внешних компонент".
Секция | Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута |
---|---|---|---|---|
Actions | Да | Пользовательские действия. | ||
Action |
Name | Да | string | Имя действия, для которого создается пункт меню, не должно содержать пробелов и недопустимых символов (в соответствии с правилами формирования имен объектов "1С:Предприятия") и быть уникальным в рамках таблицы параметров |
Caption | Да | string | Заголовок пункта меню |
Пример текстового XML, описывающего дополнительные действия:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8" ?> <Actions> <Action Name="SettingLog" Caption="Параметры журналирования"/> </Actions>
В результате будут сформированы следующие пункты меню для формы для ввода параметров:
Поддержка: тонкий клиент, web-клиент, мобильный клиент, толстый клиент, мобильное приложение.
Конфигурациями поддерживаются следующие возможности работы с весами on-line:
Описание методов | |||||
---|---|---|---|---|---|
Название (alias) | Параметры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
ПараметрыВесов (ScaleOptions) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Получить параметры работы весов. |
ПараметрыВесов (ScaleOptions) XML таблица |
STRING [IN] |
Параметры работы весов | |||
УстановитьВесТары (Calibrate) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Производит установку веса тары на весах. Если значение «ВесТары» имеет значение 0 – в качестве значения принимается текущее значение веса на весах. |
ВесТары (TareWeight) |
DOUBLE [IN] |
Вес тары | |||
ПолучитьВес (GetWeight) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Получает текущий вес товара на весах. |
ТекущийВес (Weight) |
DOUBLE [OUT] |
Текущий вес товара на весах |
Весы могут сообщать о результате произведенного взвешивания.
Работа с драйвером строится следующим образом:
Описание методов, доступных для асинхронного вызова из драйвера*
Описание методов | |||||
---|---|---|---|---|---|
Название (alias) | Параметрыры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
ExternalEvent | bstrWho | BSTR [IN] | Уникальный идентификатор подключенного устройства ** |
HRESULT |
Помещает данные, полученные от устройства в очередь сообщений |
bstrWhat | BSTR [IN] | Тип сообщения/тип данных *** | |||
bstrData | BSTR [IN] | Считанные устройством данные | |||
SetEventBufferDepth | lDepth | BSTR [IN] | Максимальное число сообщений в очереди |
HRESULT |
Устанавливает длину очереди сообщений |
* - Описание остальных функций, доступных для вызова из драйвера, см. в документе «Технология создания внешних компонент»
** - В параметре bstrWho драйвер передает уникальный идентификатор подключенного устройства.
*** - Параметр bstrWhat используется для поддержки событий различных типов. Допустимо как EN так RU написание.
Список возможных значение приведены в таблице:
Строка | Описание |
---|---|
Взвешивание | Произведено взвешивание на весах, в параметре bstrWhat передается вес товара. Вес передается в строке следующем формате: <ВЕС>;<Признак стабилизации> <ВЕС> - число в формате XML (xs:decimal) <Признак стабилизации> - Одно из следующих значений "stable","unstable"; Либо может не указываться. Примеры строк: "324.56;stable", "34.12;unstable", "32.67" |
Weighting | |
ОшибкаДрайвера | В случае ошибки устройства. В этом случае параметр bstrData должен содержать описание ошибки. |
DriverError |
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута |
---|---|---|---|
WeighingEvent | Нет | bool | Весы поддерживают внешнее событие о получении веса. |
Calibrate | Нет | bool | Весы поддерживают тарирование. |
Пример XML:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <ScaleOptions Calibrate="true" WeighingEvent="true"/>
Поддержка: тонкий клиент, web-клиент, толстый клиент.
Работа с терминалами сбора данных (ТСД) заключается в выгрузке таблицы товаров из конфигурации и загрузке данных об отобранных товарах.
Таблица для выгрузки в ТСД формируется на основе базы данных средствами конфигурации. Обработка выгрузки таблицы товаров в ТСД должна предусматривать выгрузку несколькими итерациями путем последовательных вызовов метода «ВыгрузитьТаблицу (UploadTable)» с пакетами данных определенного размера (например, по 100 записей) с дополнительным параметром, определяющим статус пакета ("first" - первый пакет, "regular" - очередной, "last" - последний пакет).
В терминал загружается таблица товаров, и по ней отбираются товары. Предусматривается как частичная, так и полная выгрузка. Из терминала загружается таблица отобранных товаров.
Загрузка таблицы товаров производится однократно методом «ЗагрузитьТаблицу (DownloadTable)».
Описание методов | |||||
---|---|---|---|---|---|
Название (alias) | Параметры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
ВыгрузитьТаблицу (UploadTable) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Выгружает таблицу товаров в ТСД |
ТаблицаТоваров (GoodsTable) XML таблица |
STRING [IN] | Выгружаемая таблица | |||
СтатусПакета (PackageStatus) | STRING [IN] | Статус пакета * | |||
ЗагрузитьТаблицу (DownloadTable) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Загружает таблицу из ТСД |
ТаблицаЗагрузки (DownloadTable) XML таблица |
STRING [OUT] | Загружаемая таблица | |||
ОчиститьТаблицу (ClearTable) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства |
BOOL |
Очищает загруженную ранее таблицу товаров в ТСД |
* - Строка, определяющая статус пакета, имеет одно из значений: "first", "regular", "last". Если пакет один, то статусу пакета присваивается "last".
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Секция | Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|---|
Table |
FullLoad | Да | boolean | Признак выгрузки "Частичная/Полная". При полной выгрузке предполагается полная очистка товаров в терминале сбора данных. | |
Record |
BarCodeBase64 | Да | string | Штрихкод номенклатуры. Штрихкод кодируется текстом в кодировке Base64. | |
Name | Нет | string | Наименование товара | ||
Article | Нет | string | Артикул товара | ||
UnitOfMeasurement | Нет | string | Единица измерения номенклатуры | ||
CharacteristicOfNomenclature | Нет | string | Характеристика номенклатуры | ||
SeriesOfNomenclature | Нет | string | Серия номенклатуры | ||
Quality | Нет | string | Качество товара | ||
Price | Нет | decimal | Цена товара | ||
Quantity | Нет | decimal | Количество товара | ||
ContainerBarcodeBase64 | Нет | string | Штрихкод упаковки. Штрихкод кодируется текстом в кодировке Base64. | ||
MarkedGoodTypeCode | Нет | int | Код типа маркированной продукции. См. таблицу: Код типа маркированной продукции | ||
Alcohol | Нет | boolean | Признак того, что товар является алкогольной или спиртосодержащей продукцией | ||
AlcoholExcisable | <Определяется> | boolean | Признак того, что товар (алкоголь) маркируется акцизной или специальной алкогольной маркой. Выгружается при положительном значении атрибута "Alcohol". | ||
AlcoholKindCode | <Определяется> | string | Код вида алкогольной продукции. Выгружается при положительном значении атрибута "Alcohol". | ||
AlcoholCode | <Определяется> | string | Код алкогольной продукции. Выгружается при положительном значении атрибута "Alcohol". | ||
AlcoholContainerSize | <Определяется> | decimal | Ёмкость тары в литрах. Выгружается при положительном значении атрибута "Alcohol". | ||
AlcoholStrength | <Определяется> | decimal | Процентное содержание спирта. Выгружается при положительном значении атрибута "Alcohol". | ||
VendorINNCode | <Определяется> | string | ИНН производителя. Выгружается при положительном значении атрибута "Alcohol". | ||
VendorKPPCode | <Определяется> | string | КПП производителя. Выгружается при положительном значении атрибута "Alcohol". | ||
AlcoholExciseStampBase64 | <Определяется> | string | Штрихкод PDF417 акцизной или спец. марки алкогольной продукции. Штрихкод кодируется текстом в кодировке Base64. |
Пример текстового XML, содержащий данные:
<?xml version="1.0" encoding="UTF-8"?> <Table FullLoad="true"> <Record BarCode="4008110271538" Name="Блокнот для заметок" UnitOfMeasurement="Штуки" CharacteristicOfNomenclature=""
SeriesOfNomenclature="" Quality="" Price="25,30" Quantity="7"/> <Record BarCode="2900001355643" Name="Финики в банке" UnitOfMeasurement="Штуки" CharacteristicOfNomenclature="" SeriesOfNomenclature="" Quality="Зеленые" Price="95,50" Quantity="7"/> </Table>
Поддержка: тонкий клиент, web-клиент, толстый клиент.
Работа с электронными весами с печатью этикеток заключается в выгрузке таблицы товаров. Таблица формируется на основе базы данных средствами конфигурации. Выгрузка таблицы товаров в весы должна предусматривать выгрузку несколькими итерациями путем последовательных вызовов метода «ВыгрузитьТовары (UploadGoods)» с пакетами данных определенного размера (например, по 100 записей) с дополнительным параметром, определяющим статус пакета ("first" - первый пакет, "regular" - очередной, "last" - последний пакет).
Выгрузка изображений предусматривать выгрузку несколькими итерациями путем последовательных вызовов метода «ВыгрузитьИзображенияТоваров (UploadProductImages) » с пакетами данных определенного размера (например, по 100 записей) с дополнительным параметром, определяющим статус пакета ("first" - первый пакет, "regular" - очередной, "last" - последний пакет).
Картинки будут в формате PNG закодированная текстом в кодировке BASE64. При получении изображений драйвер весов может по собственному усмотрение сохраниться их во временную папку (расположение папки можно вывести в настройки драйвера в 1С) и в последующем выгружает их в весы.
Описание методов | |||||
---|---|---|---|---|---|
Название (alias) | Параметры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
ВыгрузитьТовары (UploadGoods) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Выгружает товары в весы |
ТаблицаТоваров (GoodsTable) XML таблица |
STRING [IN] |
Таблица товаров | |||
СтатусПакета (PackageStatus) |
STRING [IN] |
Статус пакета * | |||
ОчиститьТовары (ClearGoods) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Удаляет ранее загруженные товары в весах |
ВыгрузитьИзображенияТоваров (UploadProductImages) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Выгрузить изображения товаров на весы |
ТаблицаИзображений (TableImages) XML таблица |
STRING [IN] |
Таблица изображений | |||
СтатусПакета (PackageStatus) |
STRING [IN] |
Статус пакета * |
* - Строка, определяющая статус пакета, имеет одно из значений: "first", "regular", "last".
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Секция | Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|---|
Table | Да | Таблица товаров | |||
Record |
PLU | Да | long | PLU товара (Индекс товара в весах) | |
Code | Да | long | Код весового товара | ||
IsWeightGoods | Да | boolean | Флаг весового товара. По умолчанию true. Если false – то это штучный товар, фасуемый на весах. | ||
Name | Да | string | Наименование товара | ||
Price | Да | decimal | Цена за килограмм | ||
AdditionalPrices | Price1 | Нет | decimal | Дополнительная цена 1 за килограмм | |
Price2 | Нет | decimal | Дополнительная цена 2 за килограмм | ||
Price3 | Нет | decimal | Дополнительная цена 3 за килограмм | ||
Price4 | Нет | decimal | Дополнительная цена 4 за килограмм | ||
Description | Нет | string | Текстовое описание товара (состав товара, список ингредиентов и пр.) | ||
ShelfLife | Нет | long | Длительность хранения/срок годности товара, в днях | ||
ButtonNumber | Нет | long | Номер кнопки товара на весах | ||
LabelFormat | Нет | long | Номер формата этикетки |
Пример текстового XML, содержащий данные:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <Table> <Record PLU="1" Code="1003" Name="Яблоки Антоновка" Price="95,50" ShelfLife="7" IsWeightGoods="true"> <AdditionalPrices Price1="80,50" Price2="0" Price3="0" Price4="0"/> </Record> <Record PLU="2" Code="1023" Name="Салат Болгарский" Price="500,00" IsWeightGoods="true" Description="Состав: свекла, морковь, ветчина, мясо, сыр, яйцо, лук репчатый, майонез" ShelfLife="5"/> <AdditionalPrices Price1="450,34" Price2="0" Price3="0" Price4="0"/> </Record> </Table>
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Секция | Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута |
---|---|---|---|---|
Table | Да | Таблица товаров | ||
Record |
PLU | Да | long | PLU товара (Индекс товара в весах) |
Code | Да | long | Код весового товара | |
Picture | Да | string | Картинка будет в формате PNG закодированная текстом в кодировке BASE64. |
Пример текстового XML, содержащий данные:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <Table> <Record PLU="1" Code="1" Picture="iVBORw0KGgoAAAANSUhEUgAAADoAAAAsCAIAAAC7Vjz5AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFrSURBVFh H7djhmYMgDIDhzsVAzMM0WYZhvESpd4cpCRDytE/9ftqqbykt6mP7qG7uym7uyvTcDDE86iKUV7vKGVKKMWDlOGe0LYQYYwLIOZcdzlRcPDpDpbq4qERi2VNZdQKB+xp6pOWyX40mJVdyljTcnMakew1uBppSXV+ XxJ2iUq+5EMtbOmpyp62YG3fkcNecuDZYJ64V1oWrnrO4HqTrYoAb8B/6WEi6uHQ0aJ6b46o+dohwWbIU1dx9BUz0mcvW9lAxXIU2pBEq9YfL18uVtewEUmbNFeft+MhS1lxpcOe01lxpcCe1X85dPBe+nCtNhg/ 7qc16jbmaNe2yT0fWXI13YoTNufJ02Ju/xOHr5erG94i9gCzXj3hrS7eN1QkWcDu8cg5c7YTQ5ME1BPtwMZsp4ca1GWJHLjb8bOyZL5dSPm7j8+cejaHr9c+N+6zxKPp8Fo134r+34v8Sue/VzV3ZzV3Xtv0Anez IuBpvpbUAAAAASUVORK5CYII="/> </Table>
Поддержка: тонкий клиент, web-клиент, толстый клиент.
При оформлении документов продажи необходимая информация может отображаться на дисплее покупателя. Состав информации определяется в конфигурации.
Поддерживаются многострочные дисплеи и разбиение строк на области. Также поддерживается специализированный дисплей QR кода.
Описание методов | |||||
---|---|---|---|---|---|
Название (alias) | Параметры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
ВывестиСтрокуНаДисплейПокупателя (StringOutputOnCustomerDisplay) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Выводит переданные строки на дисплей покупателя. Одна строка соответствует одной строке дисплея. Если строка пуста, то информация в данной строке на дисплее не меняется |
Строки (Strings) |
STRING [IN] |
Cтроки, содержащие информацию для отображения на дисплее | |||
ОчиститьДисплейПокупателя (ClearCustomerDisplay) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Очищает дисплей покупателя |
ВывестиHTML (OutputHTML) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Отображает HTML на дисплее покупателя. Изображения передаются внутри HTML в BASE64. |
HTML (HTML) |
STRING [IN] |
HTML в виде текста | |||
ВывестиQRКодНаДисплейПокупателя (QRCodeOutputOnCustomerDisplay) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Отображает QR на дисплее покупателя. Передается текстовое значение QR кода и сформированное изображение QR если дисплей поддерживает графику. |
ЗначениеQRКода (QRCodeValue) |
STRING [IN] |
Значение QR кода для отображения на дисплее покупателя. Текстовое значение. | |||
КартинкаQRКода (QRСodePicture) |
STRING [IN] |
Изображение QR кода. Картинка будет в формате PNG закодированная текстом в кодировке BASE64. | |||
ОтобразитьСтатусОперации (DisplayOperationStatus) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Отобразить индикатор состояние на дисплее покупателя. К примеру на дисплее QR кода могут быть цветовые индикаторы выполнения операция - "выполнено успешно", "не выполнено". |
СтатусОперации (OperationStatus) |
LONG [IN] |
Статус индикаторов: 0 - Статусы не установлены 1 - Операция выполнено успешно 2 - Операция не выполнена | |||
ОтобразитьСтатусРабочегоМеста (DisplayWorkplaceStatus) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Отобразить статус состояния рабочего места на дисплее покупателя. К примеру POS система может быть оснащена цветовым или звуковым индикатором. |
СтатусРабочегоМеста (WorkplaceStatus) |
LONG [IN] |
Статусу рабочего места: 0 - Статус не установлен 1 - Сервисный режим 2 - Рабочее место свободно 3 - Рабочее место работает 4 - Ошибка на рабочем месте | |||
ЗвуковойСигнал (SoundSignal) |
LONG [IN] |
Звуковой сигнал: 0 - Звуковой сигнал не подается 1 - Звуковой сигнал подается | |||
ПолучитьПараметрыДисплеяПокупателя (GetCustomerDisplayOptions) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Получить параметры работы дисплея покупателя |
ПараметрыДисплеяПокупателя (CustomerDisplayOptions) XML таблица |
STRING [OUT] |
Параметры работы дисплея покупателя |
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута |
---|---|---|---|
Columns | Да | long | Количество столбцов на дисплее (символов в строке) |
Rows | Да | long | Количество строк на дисплее |
DisplayText | Да | bool | Дисплей покупателя может отображать текст |
DisplayGraphics | Да | bool | Дисплей покупателя может отображать графику |
DisplayQRCode | Да | bool | Дисплей покупателя может отображать QR код |
DisplayHTML | Нет | bool | Дисплей покупателя может отображать HTML |
DisplayStatus | Нет | bool | Дисплей покупателя может отображать индикатор статуса |
DisplayWorkplaceStatus | Нет | bool | Дисплей может отобразить статус состояния рабочего места |
Пример XML:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <CustomerDisplayOptions Columns="20" Rows="2" DisplayText="true" DisplayQRCode="true" DisplayHTML="true"/>
Поддержка: тонкий клиент, web-клиент, толстый клиент.
Работа с терминалами сбора данных (ТСД) заключается в выгрузке таблицы товаров из конфигурации и загрузке данных об отобранных товарах.
Таблица для выгрузки в ТСД формируется на основе базы данных средствами конфигурации. Обработка выгрузки таблицы товаров в ТСД должна предусматривать выгрузку несколькими итерациями путем последовательных вызовов метода «ВыгрузитьТаблицу (UploadTable)» с пакетами данных определенного размера (например, по 100 записей) с дополнительным параметром, определяющим статус пакета ("first" - первый пакет, "regular" - очередной, "last" - последний пакет).
В терминал загружается таблица товаров, и по ней отбираются товары. Предусматривается как частичная, так и полная выгрузка. Из терминала загружается таблица отобранных товаров.
Загрузка таблицы товаров производится однократно методом «ЗагрузитьТаблицу (DownloadTable)».
Описание методов | |||||
---|---|---|---|---|---|
Название (alias) | Параметры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
ВыгрузитьТаблицу (UploadTable) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Выгружает таблицу товаров в ТСД |
ТаблицаТоваров (GoodsTable) XML таблица |
STRING [IN] | Выгружаемая таблица | |||
СтатусПакета (PackageStatus) | STRING [IN] | Статус пакета * | |||
ЗагрузитьТаблицу (DownloadTable) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Загружает таблицу из ТСД |
ТаблицаЗагрузки (DownloadTable) XML таблица |
STRING [OUT] | Загружаемая таблица | |||
ОчиститьТаблицу (ClearTable) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства |
BOOL |
Очищает загруженную ранее таблицу товаров в ТСД |
* - Строка, определяющая статус пакета, имеет одно из значений: "first", "regular", "last". Если пакет один, то статусу пакета присваивается "last".
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Секция | Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|---|
Table |
FullLoad | Да | boolean | Признак выгрузки "Частичная/Полная". При полной выгрузке предполагается полная очистка товаров в терминале сбора данных. | |
Record |
BarCodeBase64 | Да | string | Штрихкод номенклатуры. Штрихкод кодируется текстом в кодировке Base64. | |
Name | Нет | string | Наименование товара | ||
Article | Нет | string | Артикул товара | ||
UnitOfMeasurement | Нет | string | Единица измерения номенклатуры | ||
CharacteristicOfNomenclature | Нет | string | Характеристика номенклатуры | ||
SeriesOfNomenclature | Нет | string | Серия номенклатуры | ||
Quality | Нет | string | Качество товара | ||
Price | Нет | decimal | Цена товара | ||
Quantity | Нет | decimal | Количество товара | ||
ContainerBarCodeBase64 | Нет | string | Штрихкод упаковки. Штрихкод кодируется текстом в кодировке Base64. | ||
MarkedGoodTypeCode | Нет | int | Код типа маркированной продукции. См. таблицу: Код типа маркированной продукции | ||
Alcohol | Нет | boolean | Признак того, что товар является алкогольной или спиртосодержащей продукцией | ||
AlcoholExcisable | <Определяется> | boolean | Признак того, что товар (алкоголь) маркируется акцизной или специальной алкогольной маркой. Выгружается при положительном значении атрибута "Alcohol". | ||
AlcoholKindCode | <Определяется> | string | Код вида алкогольной продукции. Выгружается при положительном значении атрибута "Alcohol". | ||
AlcoholCode | <Определяется> | string | Код алкогольной продукции. Выгружается при положительном значении атрибута "Alcohol". | ||
AlcoholContainerSize | <Определяется> | decimal | Ёмкость тары в литрах. Выгружается при положительном значении атрибута "Alcohol". | ||
AlcoholStrength | <Определяется> | decimal | Процентное содержание спирта. Выгружается при положительном значении атрибута "Alcohol". | ||
VendorINNCode | <Определяется> | string | ИНН производителя. Выгружается при положительном значении атрибута "Alcohol". | ||
VendorKPPCode | <Определяется> | string | КПП производителя. Выгружается при положительном значении атрибута "Alcohol". | ||
AlcoholExciseStampBase64 | <Определяется> | string | Штрихкод PDF417 акцизной или спец. марки алкогольной продукции. Штрихкод кодируется текстом в кодировке Base64. |
Пример текстового XML, содержащий данные:
<?xml version="1.0" encoding="UTF-8"?> <Table FullLoad="true"> <Record BarCodeBase64="MjAwMDAwMDAwMDA1Mw==" Name="Блокнот для заметок" UnitOfMeasurement="Штуки" CharacteristicOfNomenclature=""
SeriesOfNomenclature="" Quality="" Price="25,30" Quantity="7"/> <Record BarCodeBase64="MjAwMDAwMDAwMDA1Mw==" Name="Финики в банке" UnitOfMeasurement="Штуки" CharacteristicOfNomenclature="" SeriesOfNomenclature="" Quality="Зеленые" Price="95,50" Quantity="7"/> </Table>
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Секция | Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|---|
Table |
Record |
BarCodeBase64 | Да | string | Штрихкод номенклатуры. Штрихкод кодируется текстом в кодировке Base64. |
Quantity | Да | decimal | Количество товара | ||
ContainerBarCodeBase64 | Нет | string | Штрихкод упаковки. Штрихкод кодируется текстом в кодировке Base64. | ||
AlcoholExciseStampBase64 | Нет | string | Штрихкод PDF417 акцизной или спец. марки алкогольной продукции. Штрихкод кодируется текстом в кодировке Base64. | ||
AlcoholSerialNumber | Нет | string | Серийный номер алкогольной продукции | ||
AlcoholName | Нет | string | Наименование алкогольной продукции | ||
AlcoholKindCode | Нет | string | Код вида алкогольной продукции | ||
AlcoholCode | Нет | string | Код алкогольной продукции | ||
AlcoholContainerSize | Нет | string | Ёмкость тары в литрах | ||
AlcoholStrength | Нет | string | Процентное содержание спирта | ||
VendorINNCode | Нет | string | ИНН производителя | ||
VendorKPPCode | Нет | string | КПП производителя |
Пример текстового XML, содержащий данные:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <Table> <Record BarCodeBase64="MjAwMDAwMDAwMDA1Mw==" Quantity="1" AlcoholExciseStamp="20N00001CKO68OY4QYX3T1731224004002671B1IEHLWKNFXFO8FPMERND09WMB8FYV7"/> <Record BarCodeBase64="MjAwMDAwMDAwMDA1Mw==" Quantity="2"/> </Table>
Поддержка: тонкий клиент, web-клиент, мобильный клиент, толстый клиент, мобильное приложение.
Проверка маркированного товара на ККТ реализована по следующему сценарию:
Описание методов | |||||
---|---|---|---|---|---|
Название (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] | Выходные параметры операции | |||
ЗакрытьСмену (CloseShift) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Закрывает открытую ранее смену и печатает на ККТ отчет о закрытии смены. |
ВходныеПараметры (InputParameters) XML таблица |
STRING [IN] | Входные параметры операции | |||
ВыходныеПараметры (OutputParameters) XML таблица |
STRING [OUT] | Выходные параметры операции | |||
СформироватьЧек (ProcessCheck) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Формирование чека в пакетном режиме. Передается структура, описывающая тип открываемого чека, фискальные и текстовые строки, штрихкоды, которые будут напечатаны. Также передаются суммы оплат для закрытия чека. В случае наличия КМ в передаваемых данных ККТ также формирует уведомление о реализации маркированного товара. Такие КМ должны быть проверены ранее. Метод считается выполненным успешно если чек был фискализирован. Если при печати бумажной формы чека произошла ошибка - метод возвращает True, а в атрибуте выходных параметров возвращается флаг ошибки печати PrintError = True. |
Электронно (Electronically) | BOOL (IN) | Формирование чека только в электронном виде. Печать чека не осуществляется. | |||
ДанныеЧека (CheckPackage) XML таблица |
STRING [IN] | XML структура - описание чека. | |||
ВыходныеПараметрыДокумента (DocumentOutputParameters XML таблица |
STRING [OUT] | Выходные параметры операции | |||
СформироватьЧекКоррекции (ProcessCorrectionCheck) |
ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Формирование чека коррекции в пакетном режиме. Передается структура, описывающая тип открываемого чека и атрибуты чека.
Метод считается выполненным успешно если чек был фискализирован. Если при печати бумажной формы чека произошла ошибка - метод возвращает True, а в атрибуте выходных параметров возвращается флаг ошибки печати PrintError = True. |
ДанныеЧека (CheckPackage) XML таблица |
STRING [IN] | XML структура - описание чека коррекции. | |||
ВыходныеПараметрыДокумента (DocumentOutputParameters XML таблица |
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] | Входные параметры операции | |||
НапечататьКопиюЧека (PrintCheckCopy) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Печатает печатный дубликат ранее фискализированного чека |
НомерЧека (CheckNumber) | STRING [IN] | Номер фискального чека | |||
ПолучитьТекущееСостояние (GetCurrentStatus) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Получение текущего состояния ККТ. |
ВходныеПараметры (InputParameters) XML таблица |
STRING [IN] | Входные параметры операции | |||
ВыходныеПараметры (OutputParameters) XML таблица |
STRING [OUT] |
XML структура - описание параметров состояния. | |||
ОтчетОТекущемСостоянииРасчетов (ReportCurrentStatusOfSettlements) |
ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Формирует отчет о текущем состоянии расчетов |
ВходныеПараметры (InputParameters) XML таблица |
STRING [IN] | Входные параметры операции | |||
ВыходныеПараметры (OutputParameters) XML таблица |
STRING [OUT] | Выходные параметры операции | |||
ОткрытьДенежныйЯщик (OpenCashDrawer) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Производит открытие денежного ящика, подключенного к фискальному регистратору. |
ПолучитьШиринуСтроки (GetLineLength) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Получает ширину строки чека в символах. |
ШиринаСтроки (LineLength) | LONG [OUT] | Ширина строки в символахах | |||
ОткрытьСессиюРегистрацииКМ(OpenSessionRegistrationKM) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Открывает сессию регистрации контрольных марок |
ЗакрытьСессиюРегистрацииКМ(CloseSessionRegistrationKM) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Закрывает сессию регистрации контрольных марок |
ЗапросКМ (RequestKM) |
ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Метод производит локальную проверку КМ фискальным накопителем и формирование запроса о коде маркировки в ОИСМ. Метод возвращает результаты локальной проверки КМ фискальным накопителем. |
ЗапросКМ(RequestKM) XML таблица |
STRING [IN] | Входные параметры запроса | |||
РезультатЗапросаКМ(RequestKMResult) XML таблица |
STRING [OUT] | Результат запроса | |||
ПолучитьРезультатыЗапросаКМ (GetProcessingKMResult) |
ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Метод запрашивает результаты проверки кода маркировки в ОИСМ. |
РезультатЗапросаКМ(ProcessingKMResult) XML таблица |
STRING [OUT] | Результат запроса | |||
СтатусЗапроса (RequestStatus) | LONG [OUT] | Статус запроса: 0 – результат получен 1 – результат еще не получен 2 – результата не может быть получен | |||
ПодтвердитьКМ (ConfirmKM) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Подтверждает или отменяет к выбытию проверенную ранее КМ в составе документа о реализации маркированного товара. КМ должна быть ранее проверена методом ЗапросКМ (RequestKM) |
ИдентификаторЗапроса (GUID) | STRING [IN] | Уникальный идентификатор запроса КМ, который ранее был произведен методом ЗапросКМ (RequestKM) | |||
ТипПодтверждения (ConfirmationType) | LONG [IN] | 0 - КМ будет реализована в составе документа о реализации маркированного товара. 1 - КМ не будет реализована. НЕ войдет в документ о реализации маркированного товара. |
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута |
---|---|---|---|
KKTNumber | Нет* | string | Регистрационный номер ККТ |
KKTSerialNumber | Да | string | Заводской номер ККТ |
FirmwareVersion | Нет | string | Версия прошивки |
Fiscal | Да | boolean | Признак регистрации фискального накопителя |
FFDVersionFN | Нет* | string | Версия ФФД ФН (одно из следующих значений "1.0","1.1", "1.2") |
FFDVersionKKT | Нет* | string | Версия ФФД ККТ (одно из следующих значений "1.0","1.0.5","1.1", "1.2") |
FNSerialNumber | Да | string | Заводской номер ФН |
DocumentNumber | Нет* | string | Номер документа регистрации фискального накопителя |
DateTime | Нет* | datetime | Дата и время операции регистрации фискального накопителя |
CompanyName | Нет* | string | Название организации |
INN | Нет* | string | ИНН организация |
SaleAddress | Нет* | string | Адрес проведения расчетов |
SaleLocation | Нет* | string | Место проведения расчетов |
TaxationSystems | Нет* | string | Коды системы налогообложения через разделитель ",". Коды системы налогообложения приведены в таблице "Системы налогообложения" |
IsOffline | Нет* | boolean | Признак автономного режима |
IsEncrypted | Нет* | boolean | Признак шифрование данных |
IsService | Нет* | boolean | Признак расчетов за услуги |
IsExcisable | Нет* | boolean | Признак продажи подакцизного товара |
IsGambling | Нет* | boolean | Признак проведения азартных игр |
IsLottery | Нет* | boolean | Признак проведения лотереи |
BSOSing | Нет* | boolean | Признак формирования АС БСО |
IsOnline | Нет* | boolean | Признак ККТ для расчетов в Интернет |
IsAutomaticPrinter | Нет* | boolean | Признак установки принтера в автомате |
IsAutomatic | Да | boolean | Признак автоматического режима |
IsMarking | Нет* | boolean | Признак применения при осуществлении торговли товарами, подлежащими обязательной маркировке средствами идентификации |
IsPawnshop | Нет* | boolean | Признак применения при осуществлении ломбардами кредитования граждан |
IsAssurance | Нет* | boolean | Признак применения при осуществлении деятельности по страхованию |
IsVendingMachine | Нет* | boolean | Признак применения в автоматическом торговом автомате |
IsCateringServices | Нет* | boolean | Признак применения при оказании услуг общественного питания |
IsWholesaleTrade | Нет* | boolean | Признак применения о оптовой торговле с организациями и ИП |
AgentTypes | Нет* | string | Коды признаков агента через разделитель ",". Коды приведены в таблице №10 документа ФФД. |
AutomaticNumber | Нет* | string | Номер автомата для автоматического режима |
OFDCompany | Нет* | string | Название организации ОФД |
OFDCompanyINN | Нет* | string | ИНН организации ОФД |
FNSURL | Нет | string | Адрес сайта уполномоченного органа (ФНС) в сети «Интернет» |
SenderEmail | Нет | string | Адрес электронной почты отправителя чека |
* Данные поля обязательны для фискализированных ФН.
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Данная таблица расширяет таблицу ТаблицаПараметровККТ (TableParametersKKT) следующими атрибутами:
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута |
---|---|---|---|
CashierName | Да | string | ФИО и должность уполномоченного лица для проведения операции |
CashierINN | Да | string | ИНН уполномоченного лица для проведения операции |
FFDVersion | Да | string | Версия ФФД на который регистрируется ФН (одно из следующих значений "1.0","1.0.5","1.1", "1.2") |
RegistrationLabelCodes | Нет* | string | Коды причин изменения сведений о ККТ через разделитель ". (Коды приведены в таблице 93 форматов фискальных данных) |
* Данное поле обязательно при процедуре изменение параметров регистрации.
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
InputParameters | ||||
Parameters | CashierName | Да | string | ФИО и должность уполномоченного лица для проведения операции |
CashierINN | Нет | string | ИНН уполномоченного лица для проведения операции | |
SaleAddress | Нет | string | Адрес проведения расчетов | |
SaleLocation | Нет | string | Место проведения расчетов | |
PrintRequired | Нет | bool | Необходима печать требуемого документа |
Пример текстового XML:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <InputParameters> <Parameters CashierName="Иванов И.П." CashierINN="32456234523452"/> </InputParameters>
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | ||||
---|---|---|---|---|---|---|---|
Открытие смены | Закрытие смены | Получить текущее состояние | Отчет о текущем состоянии расчетов | ||||
OutputParameters | |||||||
Parameters | ShiftNumber | Да | Да | Да | int | Номер открытой смены/Номер закрытой смены | |
CheckNumber | Да | int | Номер последнего фискального документа | ||||
ShiftClosingCheckNumber | Да | int | Номер последнего чека за смену | ||||
DateTime | Да | Да | datetime | Дата и время формирования фискального документа | |||
ShiftState | Да | Да | Да | Да | int | Состояние смены 1 - Закрыта 2 - Открыта 3 - Истекла | |
CountersOperationType1 | Да | OperationCounters | Счетчики операций по типу "приход" | ||||
CountersOperationType2 | Да | OperationCounters | Счетчики операций по типу "возврат прихода" | ||||
CountersOperationType3 | Да | OperationCounters | Счетчики операций по типу "расход" | ||||
CountersOperationType4 | Да | OperationCounters | Счетчики операций по типу "возврат расхода" | ||||
CashBalance | Да | Да | Да | double | Остаток наличных денежных средств в кассе | ||
BacklogDocumentsCounter | Да | Да | Да | int | Количество непереданных документов | ||
BacklogDocumentFirstNumber | Да | Да | Да | int | Номер первого непереданного документа | ||
BacklogDocumentFirstDateTime | Да | Да | Да | datetime | Дата и время первого из непереданных документов | ||
FNError | Да | Да | bool | Признак необходимости срочной замены ФН | |||
FNOverflow | Да | Да | bool | Признак переполнения памяти ФН | |||
FNFail | Да | Да | bool | Признак исчерпания ресурса ФН | |||
FNValidityDate | Да | Да | datetime | Срок действия ФН |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
OperationCounters | ||||
Parameters | CheckCount | Да | int | Количество чеков по операции данного типа |
TotalChecksAmount | Да | double | Итоговая сумма чеков по операциям данного типа | |
CorrectionCheckCount | Да | int | Количество чеков коррекции по операции данного типа | |
TotalCorrectionChecksAmount | Да | double | Итоговая сумма чеков коррекции по операциям данного типа |
Наименование атрибута | -Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
DocumentOutputParameters | ||||
Parameters | ShiftNumber | Да | int | Номер открытой смены/Номер закрытой смены |
CheckNumber | Да | int | Номер фискального документа | |
ShiftClosingCheckNumber | Да | int | Номер чека за смену | |
AddressSiteInspections | Да | string | Адрес сайта проверки | |
FiscalSign | Да | string | Фискальный признак | |
DateTime | Да | datetime | Дата и время формирования документа | |
MTNumber | Нет | int | Номер документа "Уведомление о реализации МТ" в который включается данные чека. | |
PrintError | Нет | bool | Ошибка при печати бумажной формы чека |
Пример текстового XML:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <DocumentOutputParameters> <Parameters CheckNumber="5" ShiftClosingCheckNumber="1" ShiftNumber="2" AddressSiteInspections="www.nalog.ru" DateTime="2021-09-02T12:59:00" FiscalSign="2721313672"/> </DocumentOutputParameters>
Текст в формате XML содержит описание передаваемого для формирования чека. Структура описывает параметры и последовательность формирования фискального чека.
Секцияя | Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | Описание | ||
---|---|---|---|---|---|---|---|
CheckPackage | |||||||
Parameters |
CashierName | Да | string | ФИО и должность уполномоченного лица для проведения операции | Формирование нового чека с заданными атрибутами. При формировании чека ККТ должна проверять, что передаваемый код системы налогообложения доступен для данного фискализированного ФН. | ||
CashierINN | Нет | string | ИНН уполномоченного лица для проведения операции | ||||
OperationType | Да | int | Тип операции (Таблица 25 документа ФФД): 1 - приход денежных средств 2 - возврат прихода денежных средств 3 - расход денежных средств 4 - возврат расхода денежных средств | ||||
CorrectionData | Да* | Вложенная структура | Данные по операции коррекции. Данное поле обязательно только для чека коррекции. | ||||
TaxationSystem | Да | int | Код системы налогообложения. Коды системы налогообложения приведены в таблице "Системы налогообложения". | ||||
CustomerDetail | Нет | Вложенная структура | Cведения о покупателе (клиенте) | ||||
CustomerEmail | Нет | string | Email покупателя (клиента) | ||||
CustomerPhone | Нет | string | Телефонный номер покупателя (клиента) | ||||
SenderEmail | Нет | string | Адрес электронной почты отправителя чека | ||||
SaleAddress | Нет | string | Адрес проведения расчетов | ||||
SaleLocation | Нет | string | Место проведения расчетов | ||||
AutomatNumber | Нет | string | Номер автомата | ||||
AgentType | Нет | int | Признак агента. См. таблицу "Признаки агента" | ||||
AgentData | Нет | Вложенная структура | Данные агента | ||||
VendorData | Нет | Вложенная структура | Данные поставщика | ||||
UserAttribute | Нет | Вложенная структура | Дополнительный реквизит пользователя | ||||
AdditionalAttribute | Нет | string | Дополнительный реквизит чека | ||||
OperationalAttribute | Нет | Вложенная структура | Операционный реквизит чека | ||||
IndustryAttribute | Нет | Вложенная структура | Отраслевой реквизит чека | ||||
GroupingPositionsWhenPrinting | Нет | bool | Признак сворачивание одинаковых строк на печатной форме документа | ||||
Positions |
FiscalString | Name | Да | string | Наименование товара | Регистрирует фискальную строку с переданными реквизитами. При печати длинных фискальных строк необходимо делать перенос на следующую строку. | |
Quantity | Да | double | Количество товара | ||||
PriceWithDiscount | Да | double | Цена единицы товара с учетом скидок/наценок | ||||
AmountWithDiscount | Да | double | Конечная сумма по предмету расчета с учетом всех скидок/наценок | ||||
DiscountAmount | Нет | double | Сумма скидок и наценок (если значение > 0 то в чеке выводиться скидка, если значение < 0 то наценка | ||||
Department | Нет | int | Отдел, по которому ведется продажа | ||||
VATRate | Да | string | Ставка НДС: "none" - БЕЗ НДС "20" - НДС 20 "18" - НДС 18 "10" - НДС 10 "0" - НДС 0 "20/120" - расчетная ставка 20/120 "18/118" - расчетная ставка 18/118 "10/110" - расчетная ставка 10/110 | ||||
VATAmount | Да** | double | Сумма НДС за предмет расчета. В ККТ должен быть отключен расчет налогов, и в чеке выводиться сумма НДС рассчитанная в 1С. Итоговые суммы НДС по чеку должны рассчитывать по строкам. В случае когда ставка = "БЕЗ НДС" сумма позиций без НДС для чека должна рассчитываться по значением атрибута "AmountWithDiscount" позиций со ставкой "БЕЗ НДС". | ||||
PaymentMethod | Нет | int | Признак способа расчета. См. таблицу "Признаки способа расчета" | ||||
CalculationSubject | Нет | int | Признак предмета расчета. См. таблицу "Признаки предмета расчета" | ||||
CalculationAgent | Нет | int | Признак агента по предмету расчета См. таблицу "Признаки агента по предмету расчета" | ||||
AgentData | Нет | Вложенная структура | Данные агента | ||||
VendorData | Нет | Вложенная структура | Данные поставщика | ||||
MeasureOfQuantity | Нет | int | Мера количества предмета расчета. Значение из таблицы 114 (ФФД) | ||||
FractionalQuantity | Numerator | Нет | int | Дробное количество маркированного товара | |||
Denominator | Нет | int | |||||
GoodCodeData | Нет | Вложенная структура | Код товара | ||||
MarkingCode | Нет | string | Код контрольной марки. Кодируется текстом в кодировке Base64. | ||||
CountryOfOrigin | Нет | string | Цифровой код страны происхождения товара в соответствии с Общероссийским классификатором стран мира | ||||
CustomsDeclaration | Нет | string | Регистрационный номер таможенной декларации | ||||
AdditionalAttribute | Нет | string | Дополнительный реквизит предмета расчета | ||||
ExciseAmount | Нет | double | Сумма акциза с учетом копеек, включенная в стоимость предмета расчета | ||||
IndustryAttribute | Нет | Вложенная структура | Отраслевой реквизит предмета расчета для предмета расчета. Данные реквизиты так же включаются в документ "Уведомление о реализации МТ" | ||||
TextString | Text | Нет | string | Строка с произвольным текстом | Печать текстовой строки. | ||
Barcode | Type | Нет | string | Строка, определяющая тип штрихкода | Печать штрихкода. Осуществляется с автоматическим размером с выравниванием по центру чека. Тип штрихкода может иметь одно из следующих значений: EAN8, EAN13, CODE39, QR. В случае, если модель устройства не поддерживает печать штрихкода вышеуказанных типов, драйвер должен вернуть ошибку. | ||
ValueBase64 | Нет | string | Значение штрихкода. Штрихкод кодируется текстом в кодировке Base64. | ||||
Payments |
Cash | Нет | decimal | Сумма оплаты наличными денежными средствами | Параметры закрытия чека. Сумма всех видов оплат должна быть больше суммы открытого чека. | ||
ElectronicPayment | Нет | decimal | Сумма оплаты безналичными средствами платежа | ||||
PrePayment | Нет | decimal | Сумма зачтенной предоплаты или аванса | ||||
PostPayment | Нет | decimal | Сумма оплаты в кредит (постоплаты) | ||||
Barter | Нет | decimal | Сумма оплаты встречным предоставлением |
* Данное поле обязательно только для чека коррекции. Передается только при вызове метода СформироватьЧекКоррекции (ProcessCorrectionCheck).
** В случае когда ставка "БЕЗ НДС", сумма НДС не заполняется. Сумма позиций без НДС рассчитывается по значениям атрибута "AmountWithDiscount" позиций со ставкой "БЕЗ НДС".
Пример текстового XML:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <CheckPackage> <Parameters CashierName="Администратор" OperationType="1" TaxationSystem="0" SaleAddress="г.Москва, Дмитровское ш. д.9" SaleLocation="г.Москва, Дмитровское ш. д.9" CustomerEmail="" CustomerPhone=""> <AgentData/> <VendorData/> <CustomerDetail/> <OperationalAttribute/> <IndustryAttribute/> </Parameters> <Positions> <FiscalString Name="Товарная позиция" Quantity="1" PriceWithDiscount="200" AmountWithDiscount="200" Department="0" VATRate="none" VATAmount="" PaymentMethod="4" CalculationSubject="1"> <IndustryAttribute/> <AgentData/> <VendorData/> </FiscalString> </Positions> <Payments Cash="0" ElectronicPayment="200" PrePayment="0" PostPayment="0" Barter="0"/> </CheckPackage>
CorrectionData - Данные коррекции. XML Структура.
Наименование атрибута | Типы данных | Описание атрибута | |
---|---|---|---|
CorrectionData | |||
Type | int | Тип коррекции 0 - самостоятельно 1 - по предписанию | |
Description | string | Описание коррекции | |
Datе | datetime | Дата совершения корректируемого расчета | |
Number | string | Номер предписания налогового органа |
CustomerDetail - Cведения о покупателе (клиенте). XML Структура.
Наименование атрибутаа | Типы данных | Описание атрибута | |
---|---|---|---|
CustomerDetail | |||
Info | string | Наименование организации или фамилия, имя, отчество (при наличии) | |
INN | string | ИНН организации или покупателя (клиента) | |
DateOfBirth | string | Дата рождения покупателя (клиента) в формате "DD.MM.YYYY" | |
Citizenship | string | Числовой код страны, гражданином которой является покупатель (клиент). Код страны указывается в соответствии с Общероссийским классификатором стран мира ОКСМ. | |
DocumentTypeCode | int | Числовой код вида документа, удостоверяющего личность (ФФД, Таблица 116) | |
DocumentData | string | Данные документа, удостоверяющего личность | |
Address | string | Адрес покупателя (клиента) |
AgentData - Данные агента. XML Структура.
Наименование атрибута | Типы данных | Описание атрибута | |
---|---|---|---|
AgentData | |||
AgentOperation | string | Операция платежного агента | |
AgentPhone | string | Телефон платежного агента. Допустимо несколько значений через разделитель ",". | |
PaymentProcessorPhone | string | Телефон оператора по приему платежей. Допустимо несколько значений через разделитель ",". | |
AcquirerOperatorPhone | string | Телефон оператора перевода. Допустимо несколько значений через разделитель ",". | |
AcquirerOperatorName | string | Наименование оператора перевода | |
AcquirerOperatorAddress | string | Адрес оператора перевода | |
AcquirerOperatorINN | string | ИНН оператора перевода |
VendorData - Данные поставщика. XML Структура.
Наименование атрибутаа | Типы данных | Описание атрибута | |
---|---|---|---|
VendorData | |||
VendorPhone | string | Телефон поставщика. Допустимо несколько значений через разделитель ",". | |
VendorName | string | Наименование поставщика | |
VendorINN | string | ИНН поставщика |
OperationalAttribute - Операционный реквизит. XML Структура.
Наименование атрибутаа | Типы данных | Описание атрибута | |
---|---|---|---|
OperationalAttribute | |||
DateTime | datetime | Дата, время операции | |
OperationID | int | Идентификатор операции | |
OperationData | string | Данные операции |
IndustryAttribute - Отраслевой реквизит. XML Структура.
Наименование атрибутаа | Типы данных | Описание атрибута | |
---|---|---|---|
IndustryAttribute | |||
IdentifierFOIV | string | Идентификатор ФОИВ | |
DocumentDate | string | Дата документа основания в формате "DD.MM.YYYY" | |
DocumentNumber | string | Номер документа основания | |
AttributeValue | string | Значение отраслевого реквизита |
GoodCodeData - Код товарной номенклатуры. XML Структура. Значение всех элементов передаются в Base64.
Наименование атрибута | Обязательное наличие в структуре |
Типы данных | Описание атрибута | |
---|---|---|---|---|
GoodCodeData | ||||
NotIdentified | Нет | string | Код товара, формат которого не идентифицирован в Base64 | |
EAN8 | Нет | string | Код товара в формате EAN-8 в Base64 | |
EAN13 | Нет | string | Код товара в формате EAN-13 в Base64 | |
ITF14 | Нет | string | Код товара в формате ITF-14 в Base64 | |
GS1.0 | Нет | string | Код товара в формате GS1, нанесенный на товар, не подлежащий маркировке средствами идентификации в Base64 | |
GS1.M | Нет | string | Код товара в формате GS1, нанесенный на товар, подлежащий маркировке средствами идентификации в Base64 | |
KMK | Нет | string | Код товара в формате короткого кода маркировки, нанесенный на товар, подлежащий маркировке средствами идентификации в Base64 | |
MI | Нет | string | Контрольно-идентификационный знак мехового изделия | |
EGAIS20 | Нет | string | Код товара в формате ЕГАИС-2.0 в Base64 | |
EGAIS30 | Нет | string | Код товара в формате ЕГАИС-3.0 в Base64 | |
F1 | Нет | string | Код товара в формате Ф.1 в Base64 | |
F2 | Нет | string | Код товара в формате Ф.2 в Base64 | |
F3 | Нет | string | Код товара в формате Ф.3 в Base64 | |
F4 | Нет | string | Код товара в формате Ф.4 в Base64 | |
F5 | Нет | string | Код товара в формате Ф.5 в Base64 | |
F6 | Нет | string | Код товара в формате Ф.6 в Base64 |
RequestKM - Запрос КМ. XML Структура.
Наименование атрибута | Обязательное наличие в структуре |
Типы данных | Описание атрибута | ||
---|---|---|---|---|---|
RequestKM | |||||
GUID | Да | string | Уникальный идентификатор запроса. Формирует 1С. | ||
NotSendToServer | Нет | bool | В случае передачи значения True-запрос КМ формируется локально и не отправляется на сервер ОИСМ. | ||
WaitForResult | Нет | bool | Будет ли ожидаться получение ответа от ОИСМ. True-ждать, False-не дожидаться ответа | ||
MarkingCode | Да | string | Код контрольной марки Кодируется текстом в кодировке Base64. | ||
PlannedStatus | Да | int | Планируемый статус товара. Значение от 1 до 5 из таблицы 105 (ФФД) | ||
Quantity | Нет | double | Количество | ||
MeasureOfQuantity | Нет | string | Мера количества предмета расчета. Значение из таблицы 114 (ФФД) | ||
FractionalQuantity | Numerator | Нет | int | Дробное количество маркированного товара | |
Denominator | Нет | int |
RequestKMResult - Результат запроса КМ. XML Структура.
Наименование атрибута | Обязательное наличие в структуре |
Типы данных | Описание атрибута | |
---|---|---|---|---|
RequestKMResult | ||||
Checking | Да | bool | True - Код маркировки проверен фискальным накопителем с использованием ключа проверки КП. False - Код маркировки не может быть проверен фискальным накопителем с использованием ключа проверки КП. | |
CheckingResult | Да | bool | True - Результат проверки КП КМ фискальным накопителем с использованием ключа проверки КП положительный False - Результат проверки КП КМ фискальным накопителем с использованием ключа проверки КП отрицательный. |
Пример текстового XML:
<?xml version="1.0" encoding="UTF-8"?>
<RequestKMResult Checking="True" CheckingResult="True"/>
ProcessingKMResult - Результат запроса о КМ в ОИСМ. XML Структура.
Наименование атрибута | Обязательное наличие в структуре |
Типы данных | Описание атрибута | |
---|---|---|---|---|
ProcessingKMResult | ||||
GUID | Да | string | Уникальный идентификатор запроса. | |
Result | Да | bool | True - Результат проверки КП КМ положительный False- Результат проверки КП КМ отрицательный | |
ResultCode | Да | int | Результат проверки сведений о товаре, тэг 2106, Таблица 110 | |
StatusInfo | Нет | int | Значение от 1 до 3 из таблицы 106 (ФФД) Статус товара корректен если атрибут имеет значение 1. | |
HandleCode | Да | int | Код обработки запроса. Значение от 0 до 2 из таблицы 132 (ФФД) |
Пример текстового XML:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <ProcessingKMResult GUID="193DDFC8-15DF-4B14-AE84-1D5B741BC0AC" Result="True" StatusInfo="1" HandleCode="0"/>
UserAttribute - Дополнительный реквизит пользователя, XML Структура.
Секция | Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута |
---|---|---|---|---|
UserAttribute |
Name | Да | string | Имя реквизита |
Value | Да | string | Значение реквизита |
Текст в формате XML содержит описание текстового документа. Структура описывает последовательность формирования текстового документа.
Все строки в данной секции нефискальные, и формируются как тестовые.
Секция | Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | Описание | |
---|---|---|---|---|---|---|
Document | Да | Описание чека | ||||
Positions | ||||||
TextString | Text | Да | string | Строка с произвольным текстом | Печать текстовой строки. | |
Barcode | Type | Да | string | Строка, определяющая тип штрихкода | Печать штрихкода. Осуществляется с автоматическим размером с выравниванием по центру чека. Тип штрихкода может иметь одно из следующих значений: EAN8, EAN13, CODE39, QR. В случае, если модель устройства не поддерживает печать штрихкода вышеуказанных типов, драйвер должен вернуть ошибку. | |
ValueBase64 | Да | string | Значение штрихкода. Штрихкод кодируется текстом в кодировке Base64. |
Код | Описание |
---|---|
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 | Иной предмет расчета |
14 | Имущественное право |
15 | Внереализационный доход |
16 | Страховые взносы |
17 | Торговый сбор |
18 | Курортный сбор |
19 | Залог |
20 | Расход |
21 | Взносы на обязательное пенсионное страхование ИП |
22 | Взносы на обязательное пенсионное страхование |
23 | Взносы на обязательное медицинское страхование ИП |
24 | Взносы на обязательное медицинское страхование |
25 | Взносы на обязательное социальное страхование |
26 | Платеж казино |
27 | Выдача денежных средств банковским платежным агентом |
30 | Подакцизный товар, подлежащий маркировке средством идентификации, не имеющем кода маркировки |
31 | Подакцизный товар, подлежащий маркировке средством идентификации, имеющем код маркировки |
32 | Товар подлежащей маркировке средством идентификации, не имеющем кода маркировки, за исключением подакцизного товара |
33 | Товар подлежащей маркировке средством идентификации, имеющем код маркировки, за исключением подакцизного товара |
Код | Описание |
---|---|
0 | Банковский платежный агент |
1 | Банковский платежный субагент |
2 | Платежный агент |
3 | Платежный субагент |
4 | Поверенный |
5 | Комиссионер |
6 | Агент |
Код | Описание |
---|---|
0 | Банковский платежный агент |
1 | Банковский платежный субагент |
2 | Платежный агент |
3 | Платежный субагент |
4 | Поверенный |
5 | Комиссионер |
6 | Агент |
Код | Описание |
---|---|
1 | Изделия из меха |
2 | Табачная продукция |
3 | Обувные товары |
4 | Товары легкой промышленности и одежды |
5 | Шины и автопокрышки |
6 | Молоко и молочная продукция |
7 | Фотокамеры и лампы-вспышки |
8 | Велосипеды |
9 | Кресла-коляски |
10 | Духи и туалетная вода |
11 | Альтернативный табак |
12 | Упакованная вода |
13 | Антисептики |
14 | БАД |
15 | Никотиносодержащая продукция |
16 | Пиво |
Поддержка: тонкий клиент, web-клиент, мобильный клиент, толстый клиент, мобильное приложение.
При работе с принтерами чеков поддерживаются следующие операции:
При подключении устройства командой "Подключить" драйвер инициализирует устройство печати, в том числе определяет кодировку для печати чеков.
При формировании чека конфигурация посылает команду "НапечататьТекстовыйДокумент" для печати текстового документа на принтере чеков. Содержимое печатаемого документа определяется структурой ДанныеДокумента.
Описание методов | |||||
---|---|---|---|---|---|
Название (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 | Type | Да | string | Строка, определяющая тип штрихкода |
Печать штрихкода. Осуществляется с автоматическим размером с выравниванием по центру чека. Тип штрихкода может иметь одно из значений: "EAN8","EAN13", "EAN128", "CODE39", "Code128","Code16k","Code93","PDF417","DataMatrix" ,"QR", "ITF14","EAN13Addon2","EAN13Addon5","GS1DataBarExpandedStacked". | |
ValueBase64 | Да | string | Значение штрихкода. Штрихкод кодируется текстом в кодировке Base64. |
Пример текстового XML:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <Document> <Positions> <TextString Text="Участие в дисконтной системе"/> <TextString Text="Дисконтная карта: 00002345"/> <Barcode BarcodeType="EAN13" Barcode="2000021262157"/> </Positions> </Document>
Поддержка: тонкий клиент, web-клиент, мобильный клиент, толстый клиент.
Работа с принтером печати этикеток заключается в выгрузке в драйвер сформированного пакета данных об этикетах. Пакет формируется средствами конфигурации и содержит описание форматирования шаблона этикетки и набора данных для формирования этикеток. Драйвер печати этикеток должен предусматривать обработку сформированного массива этикеток несколькими итерациями, путем последовательных вызовов метода «ПечатьЭтикеток (PrintLabels)» с пакетами данных определенного размера (например, по 100 этикеток) и с дополнительным параметром, определяющим статус пакета ("first" - первый пакет, "regular" - очередной, "last" - последний пакет).
Описание методов | |||||
---|---|---|---|---|---|
Название (alias) | Параметры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
ИнициализацияПринтера (InitializePrinter) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Первичная инициализация принтера этикеток (загрузка шрифтов, установка параметров печати, установка нужной кодовой страницы) |
ПечатьЭтикеток (PrintLabels) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Печать набора этикеток на принтере этикеток |
ТаблицаЭтикеток (LabelsTable) XML таблица |
STRING [IN] |
Таблица этикеток | |||
СтатусПакета (PackageStatus) |
STRING [IN] |
Статус пакета * * |
* - Строка, определяющая статус пакета, имеет одно из значений: "first", "regular", "last".
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Структуру передаваемого пакета можно разделить на две составляющие секции:
Секция | Наименование атрибута |
Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|---|
Formatting |
Formatting |
Width |
Да | decimal | Ширина шаблона этикетки в миллиметрах. |
Height |
Да | decimal | Высота шаблона этикетки в миллиметрах. | ||
Text |
FieldName | Да | string | Уникальное имя поля в шаблоне этикетки. | |
Left | Да | decimal | Позиция левой границы поля по оси X (в миллиметрах). | ||
Top | Да | decimal | Позиция верхней границы поля по оси Y (в миллиметрах). | ||
Width | Да | decimal | Ширина поля в миллиметрах. | ||
Height | Да | decimal | Высота поля в миллиметрах. | ||
Orientation | Нет | long |
Ориентация содержимого поля. | ||
FontName | Нет | string | Имя шрифта (не имя файла-шрифта). По умолчанию предустановленный на принтере шрифт. | ||
FontSize | Да | long | Размер шрифта в кеглях. | ||
FontStyle | Нет | string | Стиль шрифта. Имеет одно или несколько значений через разделитель -пробел: "Bold", "Italic", "Underline" и "StrikeOut". По умолчанию "". | ||
Border | Нет | string | Строка, определяющая рамки поля. Имеет одно или несколько значений через разделитель - пробел: "Left", "Top", "Right" и "Bottom". По умолчанию "". | ||
BorderWidth | Нет | long | Толщина рамки в пикселах, по умолчанию 1. | ||
BorderStyle | Нет | string | Стиль рамки. Имеет одно из значений: "Dotted", "Dashed", "Solid" или "Double". По умолчанию "Solid". | ||
Align | Нет | string | Горизонтальное выравнивание текста. Имеет одно из значений: "Left", "Center" или "Right". По умолчанию = "Left". | ||
VAlign | Нет | string | Вертикальное выравнивание текста. Имеет одно из значений: "Top", "Center" или "Bottom". По умолчанию = "Top". | ||
Multiline | Нет | boolean | Многострочность. По умолчанию "false". | ||
Static | Нет | boolean | Статичность (одинаковое значение для всех экземпляров этикетки). По умолчанию "false". | ||
Value | При Static = "true" | string | В случае когда Static = "true", выступает в роли общего значения. Иначе как значение по умолчанию, т.е. используется когда для Labels.Label.Record.Value не установлено значение. | ||
Barcode |
FieldName | Да | string | Уникальное имя поля в шаблоне этикетки | |
Type | Да | string | Тип штрихкода. Имеет одно из значений: "EAN8","EAN13", "EAN128", "Code39", "Code128","Code16k","Code93","PDF417","DataMatrix" ,"QRCode", "ITF14","EAN13Addon2","EAN13Addon5","GS1DataBarExpandedStacked". | ||
Left | Да | decimal | Позиция левой границы поля по оси X (в миллиметрах). | ||
Top | Да | decimal | Позиция верхней границы поля по оси Y (в миллиметрах). | ||
Width | Нет | decimal | Ширина поля в миллиметрах. | ||
Height | Да | decimal | Высота поля в миллиметрах. | ||
Orientation | Нет | long | Ориентация содержимого поля. Имеет одно из следующих значений: 0, 90, 180, 270. По умолчанию 0. | ||
PrintHRI | Нет | boolean | Флаг наличия подписи в штрихкоде. По умолчанию "true". | ||
FontSize | При PrintHRI = "true" | long | Размер шрифта в кеглях. | ||
CheckSymbol | Нет | boolean | Наличие контрольного символа для тех типов штрихкодов, для которых возможно управление его наличием. По умолчанию "true". | ||
Static | Нет | boolean | Статичность. По умолчанию "false". | ||
ValueBase64 | При static = "true" | string | Значение штрихкода. Штрихкод кодируется текстом в кодировке Base64. В случае когда Static = "true", значение кода является общим для всех этикеток. | ||
Image | FieldName | Да | string | Уникальное имя поля в шаблоне этикетки. | |
Left | Да | decimal | Позиция левой границы поля по оси X (в миллиметрах). | ||
Top | Да | decimal | Позиция верхней границы поля по оси Y (в миллиметрах). | ||
Width | Нет | decimal | Ширина поля в миллиметрах. | ||
Height | Нет | decimal | Высота поля в миллиметрах. | ||
Orientation | Нет | long | Ориентация содержимого поля. Имеет одно из следующих значений: 0, 90, 180, 270. По умолчанию 0. | ||
Border | Нет | string | Строка, определяющая рамки поля. Имеет одно или несколько значений через разделитель - пробел: "Left", "Top", "Right" или "Bottom". По умолчанию "". | ||
BorderWidth | Нет | long | Толщина рамки в пикселах, по умолчанию 1. | ||
BorderStyle | Нет | string | Стиль рамки. Имеет одно из значений: "Dotted", "Dashed", "Solid", "Double". По умолчанию "Solid". | ||
Static | Нет | boolean | Статичность. По умолчанию "false". | ||
Value | При Static = "true" | string | В случае когда Static = "true", выступает в роли общего значения. Кодируется текстом в кодировке Base64. | ||
UserData |
FieldName | Да | string | Уникальное имя поля в шаблоне этикетки. | |
Static | Нет | boolean | Статичность. По умолчанию "false". | ||
Value | При Static = "true" | string | В случае когда Static = "true", выступает в роли общего значения. Иначе как значение по умолчанию, т.е. используется когда для Labels.Label.Record.Value не установлено значение. | ||
Labels |
Label | Quantity | Нет | long | Указывает необходимое для этикетки количество копий для печати. По умолчанию 1. |
Record | FieldName | Да | string | Уникальное имя поля в шаблоне этикетки. | |
Value | При Formatting.Static = "false" | string | Значение поля в шаблоне этикетки. Для элемента "Image" картинка кодируется текстом в кодировке Base64. |
Пример текстового XML, содержащий данные:
Копировать в буфер обмена<?xml version="1.0"?> <Data> <Formatting Width = "60" Height="40"> <Text FieldName="Наименование" Left="1" Top="1" Width="55" Height="10" FontName="Tahoma" FontSize="8" FontStyle="Italic"/> <Text FieldName="Цена" Left="1" Top="11" Width="55" Height="10" FontName="Tahoma" FontSize="8" FontStyle="Bold Italic" Border="Left Top Right Bottom"/> <Barcode FieldName="Штрихкод" Type="EAN13" Left="1" Top="22" Height="10" PrintHRI="true" FontSize="8"/> </Formatting> <Labels> <Label Quantity="2"> <Record FieldName="Наименование" Value="Блокнот для заметок"/> <Record FieldName="Цена" Value="43,5"/> <Record FieldName="Штрихкод" Value="4008110271538"/> </Label> <Label Quantity="3"> <Record FieldName="Наименование" Value="Яблоки антоновка в банке"/> <Record FieldName="Цена" Value="78,5"/> <Record FieldName="Штрихкод" Value="2900001355679"/> </Label> </Labels> </Data>
Поддержка: тонкий клиент, web-клиент, мобильный клиент, толстый клиент, мобильное приложение.
Данные устройства реализуют функцию автоматического считывания закодированной различными способами информации и асинхронной передачи ее в конфигурацию "1С:Предприятия". Драйвера устройств такого типа не предусматривают специфических для оборудования методов, которые можно вызывать из конфигураций.
Работа с драйвером строится следующим образом:
Описание методов, доступных для асинхронного вызова из драйвера*
Описание методов | |||||
---|---|---|---|---|---|
Название (alias) | Параметрыры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
ExternalEvent | bstrWho | BSTR [IN] | Уникальный идентификатор подключенного устройства ** |
HRESULT |
Помещает данные, полученные от сканера/считывателя в очередь сообщений |
bstrWhat | BSTR [IN] | Тип сообщения/тип данных *** | |||
bstrData | BSTR [IN] | Считанные устройством данные | |||
SetEventBufferDepth | lDepth | BSTR [IN] | Максимальное число сообщений в очереди |
HRESULT |
Устанавливает длину очереди сообщений |
* - Описание остальных функций, доступных для вызова из драйвера, см. в документе «Технология создания внешних компонент»
** - В параметре bstrWho драйвер передает уникальный идентификатор подключенного устройства.
*** - Параметр bstrWhat используется для поддержки событий различных типов. Допустимо как EN так RU написание.
Список возможных значение приведены в таблице:
Строка | Описание |
---|---|
Штрихкод | Данные получаемые со сканеров в виде простой стоки |
Barcode | |
ШтрихкодBase64 | Данные получаемые со сканеров в виде текста в кодировке Base64 |
BarcodeBase64 | |
ДанныеКарты | Данные получаемые от считывателей магнитных карт в виде простой стоки |
TracksData | |
ДанныеКартыBase64 | Данные получаемые от считывателей магнитных карт в виде текста в кодировке Base64 |
TracksDataBase64 | |
НажатиеКлавиши | Данные получаемые от встроенной клавиатура терминала сбора данных. В этом случае параметр bstrData должен содержать текстовое представление нажатой клавиши. |
KeyPress | |
ОшибкаДрайвера | В случае ошибки устройства. В этом случае параметр bstrData должен содержать описание ошибки. |
DriverError |
Поддержка: тонкий клиент, web-клиент, мобильный клиент, толстый клиент, мобильное приложение.
При работе с эквайринговыми системами поддерживаются следующие операции:
ВНИМАНИЕ: По требованиям банка эквайринговый терминал полный номер карты может не предоставлять, в таком случае часть цифр номера карты заменяется звездочками.
При необходимости оплатить покупку платежной картой Система вызывает метод "ОплатитьПлатежнойКартой", передавая во входном параметре сумму к оплате для списания с карты и номер считанной карты. Если считывание карты будет производиться на терминале (PIN-Pad’e) банка, то в параметре номера считанной карты передается пустая строка. Драйвер в ответ возвращает результат выполнения функции, код RRN, код авторизации и текст слип-чека. Текст слип-чека может быть самостоятельно распечатан терминалом на встроенном принтере или распечатан на ККТ (определяется методом ПараметрыТерминала). После выполнения функции в параметре номера считанной карты возвращается номер прочитанной на терминале (PIN-Pad’e) банка карты.
Если происходит отмена платежа, то Система вызывает метод "ОтменитьПлатежПоПлатежнойКарте", передавая во входных параметрах сумму, которая была указана для списания с карты, номер считанной карты, код RRN операции, по которой совершается отмена, и код авторизации. Драйвер в ответ возвращает результат выполнения функции. Если считывание карты будет производиться на терминале (PIN-Pad’e) банка, то в параметре номера считанной карты передается пустая строка. После выполнения функции в параметре номера считанной карты возвращается номер прочитанной на терминале (PIN-Pad’e) банка карты.
При возврате платежа Система вызывает метод "ВернутьПлатежПоПлатежнойКарте", передавая во входном параметре сумму к возврату на карту, номер считанной карты, код RRN операции, по которой совершается возврат, и код авторизации. Драйвер в ответ возвращает результат выполнения функции, а в выходные параметры записывает код RRN, код авторизации. Если считывание карты будет производиться на терминале (PIN-Pad’e) банка, то в параметре номера считанной карты передается пустая строка. После выполнения функции в параметре номера считанной карты возвращается номер прочитанной на терминале (PIN-Pad’e) банка карты.
При необходимости заблокировать сумму на счете платежной карты Система вызывает метод "ПреавторизацияПоПлатежнойКарте", передавая во входном параметре сумму для блокировки и номер считанной карты. Если считывание карты будет производиться на терминале (PIN-Pad’e) банка, то в параметре номера считанной карты передается пустая строка. Драйвер в ответ возвращает результат выполнения функции, код RRN, код авторизации и текст слип-чека. Текст слип-чека может быть самостоятельно распечатан терминалом на встроенном принтере или распечатан на ККТ (определяется методом ПараметрыТерминала). После выполнения функции в параметре номера считанной карты возвращается номер прочитанной на терминале (PIN-Pad’e) банка карты.
При необходимости списания заблокированной суммы со счета платежной карты Система вызывает метод "ЗавершитьПреавторизациюПоПлатежнойКарте", передавая во входном параметре сумму для списания с карты, номер считанной карты, код RRN операции блокировки и код авторизации. Если считывание карты будет производиться на терминале (PIN-Pad’e) банка, то в параметре номера считанной карты передается пустая строка. Драйвер в ответ возвращает результат выполнения функции, код RRN, код авторизации и текст слип-чека. Текст слип-чека может быть самостоятельно распечатан терминалом на встроенном принтере или распечатан на ФР (определяется методом ПараметрыТерминала). После выполнения функции в параметре номера считанной карты возвращается номер прочитанной на терминале (PIN-Pad’e) банка карты.
Для отмены блокирования суммы на счете платежной карты Система вызывает метод "ОтменитьПреавторизациюПоПлатежнойКарте", передавая во входном параметре сумму для списания с карты, номер считанной карты, код RRN операции блокировки и код авторизации. Если считывание карты будет производиться на терминале (PIN-Pad’e) банка, то в параметре номера считанной карты передается пустая строка. Драйвер в ответ возвращает результат выполнения функции, код RRN, код авторизации и текст слип-чека. Текст слип-чека может быть самостоятельно распечатан терминалом на встроенном принтере или распечатан на ФР (определяется методом ПараметрыТерминала). После выполнения функции в параметре номера считанной карты возвращается номер прочитанной на терминале (PIN-Pad’e) банка карты.
Метод "ОплатитьЭлектроннымСертификатом" осуществляет оплату с применением электронного сертификата ФЭС НСПК.
Метод "ВернутьЭлектроннымСертификатом" осуществляет возврат оплаты с применением электронного сертификата ФЭС НСПК.
Метод "ОплатитьПлатежнойКартойCВыдачейНаличных" осуществляет операцию оплату по карте с выдачей наличных денежных средств.
Операция выдачи наличных не является самостоятельной операцией и сопровождается обязательной оплатой покупки по карте.
Если операция по платежной карте прошла успешно и слип-чек должен быть распечатан на ФР (определяется методом ПараметрыТерминала), но возникла ошибка печати, то операция по карте должна быть аварийно отменена.
Для получения текста отчета Система вызывает метод "ИтогиДняПоКартам". Драйвер возвращает результат выполнения функции и текст отчета.
Описание методов | |||||
---|---|---|---|---|---|
Название (alias) | Параметры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
ПараметрыТерминала (TerminalParamters) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства |
BOOL |
Возвращает параметры работы терминала |
STRING [OUT] |
Параметры работы терминала | ||||
ОплатитьПлатежнойКартой (PayByPaymentCard) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Метод осуществляет авторизацию оплаты по карте |
НомерМерчанта (MerchantNumber) | LONG [IN] | Номер мерчанта, доступного для данного эквайрингового терминала. | |||
РеквизитыКартыQR (ConsumerPresentedQR) | STRING [IN] | Отсканированный QR-код с мобильном устройства держателя карты, в котором содержатся EMV-реквизиты карты или токена. | |||
Сумма (Amount) | DOUBLE [IN] | Сумма операции по карте | |||
НомерКарты (CardNumber) | STRING [IN/OUT] | Номер Карты / Данные карты / Маскированный номер карты* | |||
НомерЧека (ReceiptNumber) | STRING [IN/OUT] | Номер чека | |||
КодRRN (RRNCode) | STRING [OUT] | Уникальный код транзакции RRN | |||
КодАвторизации (AuthorizationCode) | STRING [OUT] | Код авторизации транзакции | |||
ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанции по операции сформированный эквайринговым ПО **. В случае отказа по операции возвращается текст квитанции отказа. | |||
ВернутьПлатежПоПлатежнойКарте (ReturnPaymentByPaymentCard) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Метод осуществляет возврат платежа по карте |
НомерМерчанта (MerchantNumber) | LONG [IN] | Номер мерчанта, доступного для данного эквайрингового терминала | |||
РеквизитыКартыQR (ConsumerPresentedQR) | STRING [IN] | Отсканированный QR-код с мобильном устройства держателя карты, в котором содержатся EMV-реквизиты карты или токена. | |||
Сумма (Amount) | DOUBLE [IN] | Сумма операции по карте | |||
НомерКарты (CardNumber) | STRING [IN/OUT] | Номер Карты / Данные карты / Маскированный номер карты* | |||
НомерЧека (ReceiptNumber) | STRING [IN/OUT] | Номер чека | |||
КодRRN (RRNCode) | STRING [IN/OUT] | Уникальный код транзакции RRN | |||
КодАвторизации (AuthorizationCode) | STRING [IN] | Код авторизации транзакции | |||
ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанции по операции сформированный эквайринговым ПО **. В случае отказа по операции возвращается текст квитанции отказа. | |||
ОтменитьПлатежПоПлатежнойКарте (CancelPaymentByPaymentCard) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Метод осуществляет отмену платежа по карте. Допускается частичная отмена, на сумму меньшую оригинальной операции, если терминал поддерживает данную операцию. |
НомерМерчанта (MerchantNumber) | LONG [IN] | Номер мерчанта, доступного для данного эквайрингового терминала | |||
РеквизитыКартыQR (ConsumerPresentedQR) | STRING [IN] | Отсканированный QR-код с мобильном устройства держателя карты, в котором содержатся EMV-реквизиты карты или токена. | |||
Сумма (Amount) | DOUBLE [IN] | Сумма операции по карте. Допускается частичная отмена, если терминал поддерживает данную операцию. | |||
СуммаОригинальнойОперации (AmountOriginalTransaction) | DOUBLE [IN] | Сумма оригинальной операции по карте. Передается в случае частичный отмены, если терминал поддерживает данную операцию. | |||
НомерКарты (CardNumber) | STRING [IN/OUT] | Номер Карты / Данные карты / Маскированный номер карты* | |||
НомерЧека (ReceiptNumber) | STRING [IN/OUT] | Номер чека | |||
КодRRN (RRNCode) | STRING [IN] | Уникальный код транзакции RRN | |||
КодАвторизации (AuthorizationCode) | STRING [IN] | Код авторизации транзакции | |||
ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанции по операции сформированный эквайринговым ПО **. В случае отказа по операции возвращается текст квитанции отказа. | |||
ПреавторизацияПоПлатежнойКарте (AuthorisationByPaymentCard) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Метод осуществляет пре-авторизацию – блокирование суммы на счете карты |
НомерМерчанта (MerchantNumber) | LONG [IN] | Номер мерчанта, доступного для данного эквайрингового терминала | |||
РеквизитыКартыQR (ConsumerPresentedQR) | STRING [IN] | Отсканированный QR-код с мобильном устройства держателя карты, в котором содержатся EMV-реквизиты карты или токена. | |||
Сумма (Amount) | DOUBLE [IN] | Сумма операции по карте | |||
НомерКарты (CardNumber) | STRING [IN/OUT] | Номер Карты / Данные карты / Маскированный номер карты* | |||
НомерЧека (ReceiptNumber) | STRING [IN/OUT] | Номер чека | |||
КодRRN (RRNCode) | STRING [OUT] | Уникальный код транзакции RRN | |||
КодАвторизации (AuthorizationCode) | STRING [OUT] | Код авторизации транзакции | |||
ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанции, сформированный Эквайринговым ПО **. В случае отказа по операции возвращается текст квитанции отказа. | |||
ЗавершитьПреавторизациюПоПлатежнойКарте (AuthConfirmationByPaymentCard) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Метод завершает пре-авторизацию – списывает сумму со счета карты |
НомерМерчанта (MerchantNumber) | LONG [IN] | Номер мерчанта, доступного для данного эквайрингового терминала | |||
РеквизитыКартыQR (ConsumerPresentedQR) | STRING [IN] | Отсканированный QR-код с мобильном устройства держателя карты, в котором содержатся EMV-реквизиты карты или токена. | |||
Сумма (Amount) | DOUBLE [IN] | Сумма операции по карте | |||
НомерКарты (CardNumber) | STRING [IN/OUT] | Номер Карты / Данные карты / Маскированный номер карты* | |||
НомерЧека (ReceiptNumber) | STRING [IN/OUT] | Номер чека | |||
КодRRN (RRNCode) | STRING [IN] | Уникальный код транзакции RRN | |||
КодАвторизации (AuthorizationCode) | STRING [IN] | Код авторизации транзакции | |||
ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанции, сформированный Эквайринговым ПО **. В случае отказа по операции возвращается текст квитанции отказа. | |||
ОтменитьПреавторизациюПоПлатежнойКарте (CancelAuthorisationByPaymentCard) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Метод отменяет пре-авторизацию – разблокирует сумму на счете карты |
НомерМерчанта (MerchantNumber) | LONG [IN] | Номер мерчанта, доступного для данного эквайрингового терминала | |||
РеквизитыКартыQR (ConsumerPresentedQR) | STRING [IN] | Отсканированный QR-код с мобильном устройства держателя карты, в котором содержатся EMV-реквизиты карты или токена. | |||
Сумма (Amount) | DOUBLE [IN] | Сумма операции по карте | |||
НомерКарты (CardNumber) | STRING [IN/OUT] | Номер Карты Маскированный номер карты* | |||
НомерЧека (ReceiptNumber) | STRING [IN/OUT] | Номер чека | |||
КодRRN (RRNCode) | STRING [IN] | Уникальный код транзакции RRN | |||
КодАвторизации (AuthorizationCode) | STRING [IN] | Код авторизации транзакции | |||
ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанции, сформированный Эквайринговым ПО ** | |||
ОплатитьПлатежнойКартойCВыдачейНаличных (PayByPaymentCardWithCashWithdrawal) |
ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Метод осуществляет операцию оплаты по карте с выдачей наличных денежных средств. Операция выдачи наличных не является самостоятельной операцией и сопровождается обязательной оплатой по карте. |
НомерМерчанта (MerchantNumber) | LONG [IN] | Номер мерчанта, доступного для данного эквайрингового терминала. | |||
РеквизитыКартыQR (ConsumerPresentedQR) | STRING [IN] | Отсканированный QR-код с мобильном устройства держателя карты, в котором содержатся EMV-реквизиты карты или токена. | |||
СуммаОперации (AmountPayment) | DOUBLE [IN] | Сумма оплаты по платежной карте. Всегда более 0. | |||
СуммаНаличных (AmountCash) | DOUBLE [IN] | Сумма выдаваемых наличных в рамках операции. | |||
НомерКарты (CardNumber) | STRING [OUT] | Номер Карты / Данные карты / Маскированный номер карты* | |||
НомерЧека (ReceiptNumber) | STRING [OUT] | Номер чека | |||
КодRRN (RRNCode) | STRING [OUT] | Уникальный код транзакции RRN | |||
КодАвторизации (AuthorizationCode) | STRING [OUT] | Код авторизации транзакции | |||
ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанции по операции сформированный эквайринговым ПО **. В случае отказа по операции возвращается текст квитанции отказа. | |||
ПолучитьПараметрыКарты (GetCardParametrs) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства |
BOOL |
Получает параметры карты. |
РеквизитыКартыQR (ConsumerPresentedQR) | STRING [IN] | Отсканированный QR-код с мобильном устройства держателя карты, в котором содержатся EMV-реквизиты карты или токена. | |||
ОтПоследнейОперации (FromLastOperation) | BOOLEAN [IN] | Определяет метод получения параметров карты. Если передается значение False эквайринговый терминал запрашивает чтение карты, иначе возвращаются параметры последней произведенной операции. | |||
НомерКарты (CardNumber) | STRING [OUT] | Номер Карты / Данные карты. | |||
ХешНомерКарты (CardNumberHash) | STRING [OUT] | Возвращает PAN карты хешированном по алгоритму SHA256 виде. | |||
СсылкаНаПлатежныйСчет (PaymentAccountReference) | STRING [OUT] | При использовании мобильного устройства передается значение Payment Account Reference (при его наличии). | |||
ТипКарты (CardType) | STRING [OUT] | Название платежной системы карты (например Visa) | |||
СвояКарта (IsOwnCard) |
LONG [OUT] | Карта банка эквайрера 0 - Неопределенно 1 - Карта принадлежит банку эквайрера 2 - Карта НЕ принадлежит банку эквайрера | |||
ОплатитьЭлектроннымСертификатом (PayElectronicCertificate) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Метод осуществляет оплату с применением электронного сертификата ФЭС НСПК |
НомерМерчанта (MerchantNumber) | LONG [IN] | Номер мерчанта, доступного для данного эквайрингового терминала. | |||
РеквизитыКартыQR (ConsumerPresentedQR) | STRING [IN] | Отсканированный QR-код с мобильном устройства держателя карты, в котором содержатся EMV-реквизиты карты или токена. | |||
ИдентификаторКорзины (BasketID) | STRING [IN/OUT] | Передается BasketID – Уникальный идентификатор операции в ФЭС НСПК. | |||
СуммаЭлектроногоСертификата (ElectronicCertificateAmount) | DOUBLE [IN] | Сумма операции за счет электронных сертификатов. | |||
СуммаСобственныхСредств (OwnFundsAmount) | DOUBLE [IN] | Сумма операции за счет собственных средств по карте | |||
НомерКарты (CardNumber) | STRING [OUT] | Номер Карты / Данные карты / Маскированный номер карты* | |||
НомерЧека (ReceiptNumber) | STRING [OUT] | Номер чека | |||
КодRRN (RRNCode) | STRING [OUT] | Уникальный код транзакции RRN | |||
КодАвторизации (AuthorizationCode) | STRING [OUT] | Код авторизации транзакции | |||
СтатусОперации (OperationStatus) | LONG [OUT] | Статус операции 0 - Операция выполнена полностью 1 - Оплата личными средствами по карте не выполнен | |||
ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанции по операции сформированный эквайринговым ПО **. В случае отказа по операции возвращается текст квитанции отказа. | |||
ВернутьЭлектроннымСертификатом (ReturnElectronicCertificate) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Метод осуществляет возврат оплаты с применением электронного сертификата ФЭС НСПК |
НомерМерчанта (MerchantNumber) | LONG [IN] | Номер мерчанта, доступного для данного эквайрингового терминала. | |||
РеквизитыКартыQR (ConsumerPresentedQR) | STRING [IN] | Отсканированный QR-код с мобильном устройства держателя карты, в котором содержатся EMV-реквизиты карты или токена. | |||
ИдентификаторКорзины (BasketID) | STRING [IN/OUT] | Передается BasketID – Уникальный идентификатор операции в ФЭС НСПК. Возможна передача BasketID оригинальной операции оплаты - в таком случае происходит возврат без требования банковской карты. | |||
СуммаЭлектроногоСертификата (ElectronicCertificateAmount) | DOUBLE [IN] | Сумма операции за счет электронных сертификатов. | |||
СуммаСобственныхСредств (OwnFundsAmount) | DOUBLE [IN] | Сумма операции за счет собственных средств по карте | |||
НомерКарты (CardNumber) | STRING [IN/OUT] | Номер Карты / Данные карты / Маскированный номер карты* | |||
НомерЧека (ReceiptNumber) | STRING [IN/OUT] | Номер чека | |||
КодRRN (RRNCode) | STRING [IN/OUT] | Уникальный код транзакции RRN | |||
КодАвторизации (AuthorizationCode) | STRING [OUT] | Код авторизации транзакции | |||
СтатусОперации (OperationStatus) | LONG [OUT] | Статус операции 0 - Операция выполнена полностью 1 - Возврат личных средств по карте не выполнен | |||
ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанции по операции сформированный эквайринговым ПО **. В случае отказа по операции возвращается текст квитанции отказа. | |||
АварийнаяОтменаОперации (EmergencyReversal) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Метод отменяет последнюю транзакцию |
ПолучитьОперацииПоКартам (GetOperationByCards) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Получения отчета содержащий операции по картам за день |
ТаблицаОпераций (TableOperations) XML таблица |
STRING [OUT] | Список операций | |||
ИтогиДняПоКартам (Settlement) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Производится сверка итогов дня |
ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанции, сформированный Эквайринговым ПО ** |
* - Если информация, считанная с карты, передается в эквайринговую систему из конфигурации "1С:Предприятия", содержание этого поля должно отвечать требованиям конкретной эквайринговой системы.
** - Если при печати необходимо формировать несколько отдельных документов, в тексте для их разделения должна присутствовать строка "[отрезка]" или "[cut]".
Текст не должен содержать управляющие символы с кодами 1-8, 11-12, 14-31.
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Наименование атрибута | Обязательное наличие в структуре |
Типы данных | Описание атрибута |
---|---|---|---|
TerminalID | Нет | string | Идентификатор терминала или другого технического средства, предназначенного для совершения операций с использованием платежных карт. |
PrintSlipOnTerminal | Да | bool | Будет ли терминал самостоятельно печатать квитанции на своем принтере для операций. |
ShortSlip | Да | bool | Терминал возвращает короткие слип-чеки, которые будут выводиться в теле фискального чека. |
CashWithdrawal | Да | bool | Терминал поддерживает функцию выдачи наличных денежных средств. |
ElectronicCertificates | Да | bool | Терминал поддерживает оплату электронными сертификатами ФЭС НСПК. |
PartialCancellation | Да | bool | Терминал поддерживает частичную отмену. |
ConsumerPresentedQR | Да | bool | Терминал поддерживает Consumer-Presented QR-операций на стороне Эквайреров. |
ListCardTransactions | Да | bool | Терминал поддерживает получение список операций по картам. |
ReturnElectronicCertificateByBasketID | Нет | bool | Терминал поддерживает операцию возврата ЭС без карты по BasketID оригинальной операции оплаты. |
Пример XML:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <TerminalParameters PrintSlipOnTerminal="true" ShortSlip="true" CashWithdrawal="true" ElectronicCertificates="true" ConsumerPresentedQR="true" PartialCancellation="false" ListCardTransactions="true" />
Текст в формате XML, передаваемый с помощью параметра типа STRING. Содержит список всех операции по картам за день.
Наименование атрибута | Обязательное наличие в структуре |
Типы данных | Описание атрибута |
---|---|---|---|
MerchantNumber | Да | LONG | Номер мерчанта доступного для данного эквайрингового терминала |
CardNumber | Да | STRING | Маскированный номер карты* |
CardNumberHash | Нет | STRING | Хеш номера карты. Возвращает PAN карты хешированном по алгоритму SHA256 виде. |
Amount | Да | DOUBLE | Сумма операции по карте |
AmountCash | Нет | DOUBLE | Сумма выдаваемых наличных в рамках операции. Обязательное для операции "PayByPaymentCardWithCashWithdrawal". |
ElectronicCertificateAmount | Нет | DOUBLE | Сумма операции за счет электронных сертификатов. Обязательное для операции "PayElectronicCertificate" и "ReturnElectronicCertificate". |
ReturnElectronicCertificate | Нет | DOUBLE | Сумма операции за счет собственных средств по карте. Обязательное для операции "PayElectronicCertificate" и "ReturnElectronicCertificate". |
TypeOperation | Да | STRING | Тип операции. Одно из следующих значений: "PayByPaymentCard", "ReturnPaymentByPaymentCard", "CancelPaymentByPaymentCard", "AuthorisationByPaymentCard", "AuthConfirmationByPaymentCard", "CancelAuthorisationByPaymentCard", "PayByPaymentCardWithCashWithdrawal", "PayElectronicCertificate", "ReturnElectronicCertificate" |
AuthorizationCode | Нет | STRING | Код авторизации транзакции |
RRNCode | Нет | STRING | Уникальный код транзакции RRN |
DateTime | Да | STRING | Дата и время проведения операции |
Пример текстового XML возвращающий список операций по картам за день:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8" ?> <Table> <Record MerchantNumber="1" CardNumber="353445ХХХХХХ2345" Amount="195,50" TypeOperation="PayByPaymentCard" AuthorizationCode="2357" RRNCode="54632455" OperationDate=""/> <Record MerchantNumber="1" CardNumber="353445ХХХХХХ2345" Amount="293,30" TypeOperation="PayByPaymentCard" AuthorizationCode="2357" RRNCode="45634533" OperationDate=""/> </Table>
* - Если информация, считанная с карты, передается в эквайринговую систему из конфигурации "1С:Предприятия", содержание этого поля должно отвечать требованиям конкретной эквайринговой системы.
Поддержка: тонкий клиент, web-клиент, мобильный клиент, толстый клиент, мобильное приложение.
Работа с RFID считывателями в "1С:Предприятие" осуществляется в асинхронном режиме. Открытие новой сессии считывания меток осуществляется командой «ОткрытьСессиюRFID». О всех новых метках попадающих в зону действия антенны считывателя передаются уведомление в "1С:Предприятие" внешним событием. Внешним событием передается идентификатор пакета, содержащий данные меток. После обработки внешнего события "1С:Предприятие" получает данные меток вызовом метода «ПолучитьДанныеМетокRFID» по идентификатору пакета (вызов данного метода служит подтверждением, что данные были доставлены).
Закрытие сессии считывания меток осуществляется командой «ЗакрытьСессиюRFID». Запись данных в метку осуществляется в рамках открытой сессии методом «ЗаписатьДанныеВМеткуRFID». Метка идентифицируется по TID и EPC. В метод передаются данные для записи и необходимый банк памяти (EPC или USERMEMORY), куда будут записываться данные.
Описание методовв | |||||
---|---|---|---|---|---|
Название (alias) | Параметры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
ОткрытьСессиюRFID (OpenSessionRFID) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Открывает новую сессию для чтения данных из меток, попадающих в зону действия антенны считывателя |
ЗакрытьСессиюRFID (CloseSessionRFID) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Закрывает открытую ранее сессию |
ПолучитьДанныеМетокRFID (GetDataTagsRFID) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства | BOOL | Получение пакета c данными считанных меток |
ИДПакета (PackageID) | STRING [IN] | Идентификатор пакета данных | |||
ТаблицаМеток (TagsTable) XML таблица |
STRING [OUT] | Пакет с данными меток | |||
ЗаписатьДанныеВМеткуRFID (SaveDataTagRFID) | ИДУстройства (DeviceID) | STRING [IN] | Идентификатор устройства |
BOOL |
Записывает данные в RFID метку, находящуюся в зоне действия антенны считывателя. |
TID (TID) | STRING [IN/OUT] | TID метки для записи | |||
EPC (EPC) | STRING [IN/OUT] | EPC метки для записи | |||
Данные (Data) | STRING [IN] | Данные для записи в банк памяти | |||
БанкПамяти (MemoryBank) | LONG [IN] | Банк памяти для записи. Одно из следующих значений: 1 - EPC 2 – USER MEMORY | |||
Таймаут (Timeout) | LONG [IN] | Таймаут, по которому операция прерывается |
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Секция | Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута |
---|---|---|---|---|
Table | Да | Таблица меток | ||
Tag |
TID | Да | string | Значение банка TID. Данные в шестнадцатеричном представлении. |
EPC | Да | string | Значение банка EPC. Данные в шестнадцатеричном представлении. | |
USER | Нет | string | Значение банка USER. Данные в шестнадцатеричном представлении. |
Пример текстового XML, содержащий данные:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <Table> <Tag TID="E28011002000589616B408A1" EPC="3074367C34001E880A6D6168" USER=""/> <Tag TID="E28011002000589216B308A1" EPC="30751BD15C35BC0508B59F22" USER=""/> </Table>
Описание методов, доступных для асинхронного вызова из драйвера*
Описание методов | |||||
---|---|---|---|---|---|
Название (alias) | Параметры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
ExternalEvent | bstrWho | BSTR [IN] | Уникальный идентификатор подключенного устройства ** |
HRESULT |
Помещает идентификатор пакета данных, полученных от RFID считывателя, в очередь сообщений. |
bstrWhat | BSTR [IN] | Тип сообщения/тип данных. | |||
bstrData | BSTR [IN] | Идентификатор пакета, сформированный драйвером и содержащий данные меток | |||
SetEventBufferDepth | lDepth | LONG [IN] | Максимальное число сообщений в очереди |
HRESULT |
Устанавливает длину очереди сообщений |
* - Описание остальных функций, доступных для вызова из драйвера, см. в документе «Технология создания внешних компонент»
** - В параметре bstrWho драйвер передает уникальный идентификатор подключенного устройства.
*** - Параметр bstrWhat используется для поддержки событий различных типов. Для RFID считывателей должен содержать строку «RFID».
В случае ошибки этот параметр должен содержать значение "ОшибкаДрайвера" («DriverError»). В этом случае параметр bstrData должен содержать описание ошибки.
Поддержка: тонкий клиент, web-клиент, мобильный клиент, толстый клиент, мобильное приложение.
Конфигурациями поддерживаются следующие возможности:
Таблица формируется на основе базы данных средствами конфигурации. Выгрузка таблицы товаров в устройство распознавания должно предусматривать выгрузку несколькими итерациями путем последовательных вызовов метода «ВыгрузитьТовары (UploadGoods)» с пакетами данных определенного размера (например, по 100 записей) с дополнительным параметром, определяющим статус пакета ("first" - первый пакет, "regular" - очередной, "last" - последний пакет).
Описание методов | |||||
---|---|---|---|---|---|
Название (alias) | Параметры | Тип возвращаемого значения | Описание метода | ||
Имя | Тип | Описание | |||
ВыгрузитьТовары (UploadGoods) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Выгружает товары |
ТаблицаТоваров (GoodsTable) XML таблица |
STRING [IN] |
Таблица товаров | |||
СтатусПакета (PackageStatus) |
STRING [IN] |
Статус пакета * | |||
ОчиститьТовары (ClearGoods) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Удаляет ранее загруженные товары |
Распознать (Recognize) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Выполняет распознавание и возвращает таблицу распознанных товаров в виде XML |
Обучение (Training) |
BOOL [IN] |
FALSE - не ожидать подтверждение от пользователя TRUE - ждать с последующим дообучением | |||
Варианты (Variants) |
LONG [IN] |
Количество вариантов распознанного товара | |||
ТаблицаРаспознанныхТоваров (GoodsRecognizeTable) XML таблица |
STRINT [OUT] |
Таблица распознанных товаров | |||
ПодтвердитьРаспознавание (ConfirmRecognize) | ИДУстройства (DeviceID) |
STRING [IN] |
Идентификатор устройства |
BOOL |
Передает весам правильный код товара, если при распозновании используется подтверждение |
Код (Code) |
LONG [IN] |
Код товара |
* - Строка, определяющая статус пакета, имеет одно из значений: "first", "regular", "last".
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Секция | Наименование атрибута | Обязательное наличие | Типы данных | Описание атрибута | |
---|---|---|---|---|---|
Table | Да | Таблица товаров | |||
Record | |||||
Code | Да | long | Код весового товара | ||
Name | Да | string | Наименование товара |
Пример текстового XML, содержащий данные:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <Table> <Record Code="1003" Name="Яблоки Антоновка"/> <Record Code="1023" Name="Салат Болгарский"/> </Table>
Текст в формате XML, передаваемый с помощью параметра типа STRING.
Секция | Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|---|
Table | Да | Таблица товаров | |||
Record |
Code | Да | long | Код товара | |
RecognizePercent | Да | decimal | Вероятность распознавания (1 = 100% вероятность) |
Пример текстового XML, содержащий данные:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?> <Table> <Record Code="1003" RecognizePercent="0.95"/> <Record Code="1023" RecognizePercent="0.15"/> </Table>
Поддержка: тонкий клиент, толстый клиент.
В конфигурации БПО существует возможность подключения новых драйверов, разработанных по стандарту «1С: Совместимо».
Предоставляется возможность:
* -Только для драйверов, разработанных по COM технологии. В данном режиме не поддерживается работа в web-клиенте и Linux клиенте.
Подготовка драйвера, поставляемого в виде архива внешней компоненты для загрузки в конфигурацию БПО, осуществляется согласно разделу "Подготовка внешних компонент для загрузки в конфигурацию" документа "Технология создания внешних компонент". Кроме того, в архиве должен присутствовать XML файл c именем "INFO.XML", содержащий информацию для загрузки драйвера.
XML файл должен иметь следующую структуру:
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута |
---|---|---|---|
progid | Да | string | Идентификатор объекта драйвера. |
type | Да | string | Строка определяющая тип оборудования. Имеет одно из значений и таблицы "Тип оборудования". Допустимо одно как RU там и EN, рекомендуется использовать EN написание. Может иметь несколько значений разделенных "," |
name | Да | string | Наименование драйвера, отображаемое пользователю. |
version | Да | string | Поставляемая версия драйвера. |
Пример файла "INFO.XML", описывающего информацию о драйвере:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?>
<drivers>
<component progid="AddIn.EmulatorFP1C" type="KKT" name="1C: Эмулятор фискального регистратора" version="1.0.21.1"/>
</drivers>
Поддержка: тонкий клиент, толстый клиент.
Для загрузки подготовленного драйвера необходимо перейти в раздел "Подключаемое оборудование\Драйверы оборудования".
В форме списка драйверов нажать "Подключить новый\Загрузить в информационную базу" и в отрывшемся диалоге выбора файла выбрать подготовленный для загрузки файл драйвера.
После открытия формы загружаемого драйвера необходимо проверить корректность заполнения информации о драйвере (поля: Тип оборудования, Наименование, Идентификатор объекта) и нажать кнопку "Записать и закрыть".
Для подключения драйвера, предварительного установленного на локальном компьютере, необходимо перейти в раздел "Подключаемое оборудование\Драйверы оборудования".
В форме списка драйверов нажать "Подключить новый\Установленный на локальный компьютере, и в открывшейся форме создаваемого драйвера ввести необходимые параметры драйвера в поля: Тип оборудования, Наименование, Идентификатор объекта.
После заполнения необходимых данных нажать кнопку "Записать и закрыть". Данная возможность предусмотрена только для драйверов разработанных по COM технологии.
В данном режиме не поддерживается работа в web клиенте и Linux клиенте.
Поддержка: тонкий клиент, web-клиент, мобильный клиент, толстый клиент.
Тип офлайн оборудования: ККМ
Работа с программно-аппаратными POS-системами (активными системными контрольно-кассовыми машинами) в режиме "Офлайн" заключается в файловом обмене информацией. В POS-систему из конфигурации выгружаются данные (настройки, прайс-лист, заказы), в конце рабочего дня в конфигурацию загружаются данные о продажах (формируются в разрезе кассовых смен с детализацией по чекам), зарегистрированных POS-системой в течение смены.
Выгружаемые на ККМ данные формируются на основе данных информационной базы средствами конфигурации (драйвер "1С:Офлайн оборудование"). Имена файлов и пути размещения задаются пользовательскими настройками.
Операция | Данные | Описание операции |
---|---|---|
Выгрузить данные | Данные выгрузки (ExportData) | Выгружает данные на ККМ |
Загрузить данные | Данные загрузки (ImportData) | Загружает данные из ККМ |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
ExportData | ||||
FormatVersion | Да | int | Версия формата обмена | |
Processed | Нет | datetime | Признак обработки файла | |
Settings | Нет | Settings | Секция настроек | |
PriceList | Нет | PriceList | Секция прайс-листа | |
Orders | Нет | Orders | Секция заказов |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
CompanyName | Нет | string | Наименование организации | |
StoreName | Нет | string | Наименование магазина | |
<TaxationSystems> | Нет | список элементов TaxationSystem | Системы налогообложения | |
TaxationSystem | Да | int | Система налогообложения См. таблицу: Системы налогообложения | |
SenderEmail | Нет | string | Адрес электронной почты отправителя чека | |
INN | Нет | string | ИНН организации | |
KPP | Нет | string | КПП организации | |
SaleAddress | Нет | string | Адрес проведения расчетов | |
SaleLocation | Нет | string | Место проведения расчетов | |
AllowDiscounts | Нет | boolean | Использование скидок | |
AllowPaymentCards | Нет | boolean | Использование платежных карт при оплате | |
<ElectronicPaymentOptions> | Нет | список элементов ElectronicPaymentOption | Виды электронной оплаты |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
ElectronicPaymentOption | Code | Да | string | Код, идентификатор вида оплаты |
ElectronicPaymentType | Да | int | 1 - Платежная карта 2 - Банковский кредит 3 - Подарочный сертификат 4 - Бонусы | |
Name | Да | string | Наименование вида оплаты | |
UUID | Нет | string | Уникальный идентификатор UUID вида оплаты |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
FullExport | Да | boolean | Признак выгрузки "Частичная/Полная". При полной выгрузке предполагается полная очистка товаров в смежной POS-системе | |
<Groups> | Нет | список элементов Group | Группы товаров | |
Group | Code | Да | string | Код, идентификатор группы |
Name | Да | string | Наименование группы | |
UUID | Да | string | Уникальный идентификатор UUID группы | |
ParentGroupCode | Нет | string | Код группы товаров, в которую вложена текущая группа | |
ParentGroupUUID | Нет | string | Уникальный идентификатор группы товаров, в которую вложена текущая группа | |
<Extension> | Нет | список элементов Extension | Таблица дополнительных реквизитов | |
<AgentsData> | Нет | список элементов AgentsData |
Данные агентов | |
<VendorsData> | Нет | список элементов VendorsData |
Данные поставщиков | |
<Units> | Нет | список элементов Unit |
Единицы измерения | |
<Goods> | Нет | список элементов Good | Таблица товаров | |
Good | Code | По условию | string | Код, идентификатор товарной позиции |
Barcodes | По условию | список элементов Barcode | Список штрихкодов | |
Price | По условию | decimal | Цена товара | |
Balance | По условию | decimal | Товарный остаток | |
UUID | Да | string | Уникальный идентификатор UUID товара | |
Name | Да | string | Наименование | |
TaxRate | Да | string | Значение ставки НДС: "none" - БЕЗ НДС "20" - НДС 20 "18" - НДС 18 "10" - НДС 10 "0" - НДС 0 | |
CalculationSubject | Да | int | Признак предмета расчета См.таблицу Признаки предмета расчета | |
UnitCode | Нет | string | Код базовой единицы измерения см.секцию Units | |
UnitUUID | Нет | string | Уникальный идентификатор UUID базовой единицы измерения см.секцию Units | |
GroupCode | Нет | string | Код группы товаров | |
GroupUUID | Нет | string | Уникальный идентификатор UUID группы товаров | |
Article | Нет | string | Артикул товара | |
Description | Нет | string | Описание товара | |
IsWeight | Нет | boolean | Весовой товар | |
Department | Нет | int | Отдел (секция), по которому ведется продажа | |
HasCharacteristics | По условию | boolean | Признак наличия характеристик у товара | |
<Characteristics> | По условию | список элементов Characteristic | Список характеристик | |
HasPacks | По условию | boolean | Признак наличия упаковок у товара | |
<Packs> | По условию | список элементов Pack | Список упаковок | |
AgentDataCode | Нет | string | Код данных агента см. секцию AgentsData | |
AgentDataUUID | Нет | string | Уникальный идентификатор UUID данных агента см. секцию AgentsData | |
VendorDataCode | Нет | string | Код данных поставщика см. секцию VendorsData | |
VendorDataUUID | Нет | string | Уникальный идентификатор UUID данных поставщика см. секцию VendorsData | |
IsAlcohol | Нет | boolean | Признак алкогольной продукции | |
<Alcohol> | Нет | список алкогольных атрибутов | Секция алкогольных реквизитов | |
IsMarked | Нет | boolean | Признак маркированной продукции | |
MarkedGoodTypeCode | Да* | int | Код типа маркированной продукции. См. таблицу: Код типа маркированной продукции Данное поле обязательно только если IsMarked - Истина. | |
<Extensions> | Нет | список элементов Extension | Таблица дополнительных реквизитов |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута |
---|---|---|---|
IsExcisable | Да | boolean | Маркируемый акцизной или специальной маркой |
AlcoholKindCode | Да | string | Код вида алкогольной продукции |
AlcoholContainerSize | Да | decimal | Ёмкость тары в литрах |
AlcoholStrength | Да | decimal | Крепость алкоголя |
VendorINN | Да | string | ИНН производителя |
VendorKPP | Да | string | КПП производителя |
IsDraught | Да | boolean | Продажа в розлив |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
Characteristic | Code | По условию | string | Код, идентификатор товарной позиции |
Barcodes | По условию | список элементов Barcode | Список штрихкодов | |
Price | По условию | decimal | Цена характеристики | |
Balance | По условию | decimal | Товарный остаток | |
UUID | Да | string | Уникальный идентификатор UUID характеристики | |
Name | Да | string | Наименование | |
HasPacks | По условию | boolean | Наличие упаковок у характеристики | |
<Packs> | По условию | список элементов Pack | Список упаковок | |
<Extensions> | Нет | список элементов Extension | Таблица дополнительных реквизитов |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
Pack | Code | Да | string | Код, идентификатор товарной позиции |
Name | Да | string | Наименование | |
UnitsPerPack | Да | decimal | Количество товара (в базовых единицах) в упаковке | |
UUID | Да | string | Уникальный идентификатор UUID упаковки | |
Barcodes | Нет | список элементов Barcode | Список штрихкодов | |
Price | Нет | decimal | Цена за упаковку | |
Balance | Нет | decimal | Товарный остаток | |
<Extensions> | Нет | список элементов Extension | Таблица дополнительных реквизитов |
Таблица товаров имеет древовидную структуру. Товар может иметь иметь набор характеристик и набор упаковок.
Упаковки могут быть описаны как в секции товаров, так и в секции характеристик в случае, если учет товаров ведется в разрезе характеристик.
Атрибуты "Code", "Barcodes", "Price", "Balance" указываются для последнего (нижнего) уровня иерархии.
Например, для товара "Майка дет." вида "Одежда" необходимо вводить характеристику "Размер". Товар может продаваться как упаковкой по 3 шт., так и поштучно.
В этом случае формируются записи во всех трех секциях, код присваивается записям: "Майка дет."+"р-р. 22" в секции "Характеристики"
и для "Майка дет."+"р-р. 22"+"Уп." в секции "Упаковки".
Товар | Секция товар (Good) | Секция характеристика (Characteristic) |
Секция упаковка (Pack) | |||||
---|---|---|---|---|---|---|---|---|
HasCharacteristics | HasPacks | Code | Barcodes Price Balance |
HasPacks | Code | Barcodes Price Balance | ||
без характеристик без упаковок |
** false |
** false |
* | ** | - | - | ||
без характеристик с упаковками |
** false |
* true |
** для базовой ЕИ (unit) |
** для базовой ЕИ (unit) |
- | * | ||
с характеристиками с упаковками |
* true |
** false |
- | - | * true |
** для базовой ЕИ (unit) |
** для базовой ЕИ (unit) |
* |
с характеристиками без упаковок |
* true |
** false |
- | - | ** false |
* | ** | - |
* обязательный атрибут/секция
** может присутствовать, но не обязательно
- атрибут/секция должны отсутствовать
для базовой ЕИ (unit) - значения указываются только для базовой единицы измерения, значения для упаковок должны указываться в секции упаковок
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
Unit | ||||
Code | Да | string | Код | |
Name | Да | string | Наименование | |
UUID | Нет | string | Уникальный идентификатор UUID единицы измерения | |
OKEICode | Нет | int | Код ОКЕИ |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
Barcode | ||||
Value | Да | string | Штрихкод | |
Type | Нет | string | Тип штрихкода: CODE128, CODE39, EAN128, EAN13, EAN8, ITF14, QR |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
AgentData | ||||
Code | Да | string | Код | |
UUID | Нет | string | Уникальный идентификатор UUID сущности | |
AgentType | Нет | int | Признака агента по предмету расчета См.таблицу Признаки агента по предмету расчета | |
AgentOperation | Нет | string | Операция платежного агента | |
AgentPhone | Нет | string | Телефон платежного агента | |
PaymentProcessorPhone | Нет | string | Телефон оператора по приему платежей | |
AcquirerOperatorPhone | Нет | string | Телефон оператора перевода | |
AcquirerOperatorName | Нет | string | Наименование оператора перевода | |
AcquirerOperatorAddress | Нет | string | Адрес оператора перевода | |
AcquirerOperatorINN | Нет | string | ИНН оператора перевода |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
VendorData | ||||
Code | Да | string | Код | |
UUID | Нет | string | Уникальный идентификатор UUID сущности | |
VendorPhone | Нет | string | Телефон поставщика | |
VendorName | Нет | string | Наименование поставщика | |
VendorINN | Нет | string | ИНН поставщика |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
<Orders> | Нет | Список элементов Order | Заказы | |
Order | Date | Да | string | Дата заказа |
Number | Да | datetime | Номер заказа | |
UUID | Да | string | Уникальный идентификатор UUID заказа | |
AddressCity | Нет | string | Город доставки | |
AddressStreet | Нет | string | Улица доставки | |
AddressBuilding | Нет | string | Номер дома доставки | |
AddressApartment | Нет | string | Номер квартиры/офиса доставки | |
AddressEntrance | Нет | string | Номер подъезда доставки | |
AddressFloor | Нет | string | Номер этажа доставки | |
Phone | Нет | string | Номер телефона клиента | |
DeliveryDate | Нет | datetime | Адрес Email клиента | |
Status | Нет | string | Статус заказа "НеСогласован", "Согласован", "Отменен" | |
Comment | Нет | string | Комментарий | |
FirstName | Нет | string | Имя клиента | |
LastName | Нет | string | Фамилия клиента | |
<Goods> | Нет | список элементов Good | Список заказанных товаров | |
<Payments> | Нет | список элементов Payment | Список оплат | |
<Extensions> | Нет | список элементов Extension | Таблица дополнительных реквизитов |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
Good | ||||
Code | Да | string | Код | |
Quantity | Да | decimal | Количество заказанного товара | |
Price | Да | decimal | Цена, по которой продан товар (без учета скидки/наценки) | |
Sum | Да | decimal | Сумма (с учетом скидки/наценки) | |
GoodUUID | Нет | string | Уникальный идентификатор UUID товара | |
CharacteristicUUID | Нет | string | Уникальный идентификатор UUID характеристики | |
PackUUID | Нет | string | Уникальный идентификатор UUID упаковки | |
<Extensions> | Нет | список элементов Extension | Таблица дополнительных реквизитов |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
ImportData | ||||
FormatVersion | Да | int | Версия формата обмена | |
Processed | Нет | datetime | Признак обработки файла | |
<SaleReports> | Нет | Список элементов SaleReport |
Секция отчетов о продажах | |
<AlcoholTareOpenings> | Нет | Список элементов AlcoholTareOpening |
Секция документов вскрытия алкогольной тары |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
ShiftNumber | Нет | string | Номер кассовой смены | |
ShiftState | Да | int | Состояние смены 1 - Закрыта 2 - Открыта | |
OpeningDate | Да | datetime | Дата открытия кассовой смены | |
ClosingDate | Нет | datetime | Дата и время закрытия кассовой смены | |
UUID | Нет | string | Уникальный идентификатор UUID отчета/кассовой смены | |
<Checks> | Нет | список элементов Check | Список чеков | |
Check | Date | Да | datetime | Дата чека |
Number | Да | string | Номер чека | |
TaxationSystem | Да | int | Система налогообложения См. таблицу Системы налогообложения | |
OperationType | Да | int | Тип операции: 1 - приход денежных средств 2 - возврат прихода денежных средств 3 - расход денежных средств 4 - возврат расхода денежных средств | |
UUID |
Нет |
string |
Уникальный идентификатор UUID чека | |
RefDocumentUUID |
Нет |
string |
Уникальный идентификатор UUID документа, связанного с текущим чеком | |
RefDocumentType |
Нет |
string |
Тип документа, связанного с текущим чеком: "Check", "Order" | |
<Goods> |
Нет |
список элементов Good |
Список товаров | |
<Payments> |
Да |
список элементов Payment |
Список оплат | |
<Extensions> |
Нет |
список элементов Extension |
Таблица дополнительных реквизитов | |
<IncomeOutcomeChecks> |
Нет |
список элементов IncomeOutcomeCheck |
Чеки внесения и выемки наличных из денежного ящика кассы | |
IncomeOutcomeCheck |
Date |
Да |
datetime |
Дата документа |
Number |
Да |
string |
Номер документа | |
Sum |
Да |
decimal |
Сумма | |
Type |
Да |
string |
Тип движения: | |
UUID |
Нет |
string |
Уникальный идентификатор UUID чека внесения и выемки денежных средств | |
<Extensions> |
Нет |
список элементов Extension |
Таблица дополнительных реквизитов |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | ||
---|---|---|---|---|---|
Good | |||||
Code | Да | string | Код, идентификатор товарной позиции | ||
Quantity | Да | decimal | Количество проданного товара | ||
Price | Да | decimal | Цена, по которой продан товар (без учета скидок и наценок) | ||
Sum | Да | decimal | Сумма (с учетом скидки) | ||
TaxRate | Да | string | Ставка НДС: "none" - БЕЗ НДС "20" - НДС 20 "18" - НДС 18 "10" - НДС 10 "0" - НДС 0 "20/120" - расчетная ставка 20/120 "18/118" - расчетная ставка 18/118 "10/110" - расчетная ставка 10/110 | ||
PaymentMethod | Да | int | Признак способа расчета См. таблицу Признаки способа расчета | ||
<ExciseStamps> | Нет | список элементов ExciseStamp | Список контрольных идентификационных знаков (КM) | ||
ExciseStamp | Да | string | Контрольный идентификационный знак (КM) | ||
GoodUUID | Нет | string | Уникальный идентификатор товара | ||
CharacteristicUUID | Нет | string | Уникальный идентификатор характеристики | ||
PackUUID | Нет | string | Уникальный идентификатор упаковки | ||
<Extensions> | Нет | список элементов Extension | Таблица дополнительных реквизитов |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | ||
---|---|---|---|---|---|
AlcoholTareOpening | |||||
Date | Да | string | Дата документа | ||
Number | Да | string | Номер документа | ||
UUID | Нет | string | Уникальный идентификатор UUID документа | ||
<Goods> | Да | Список элементов Good | Список алкогольной продукции | ||
Good | Code | Да | string | Код, идентификатор товара | |
Quantity | Да | decimal | Количество вскрытых тар | ||
AlcoholExciseStamp | Нет | string | Строка, закодированная в штрихкоде PDF417 акцизной или спец. марки алкогольной продукции | ||
GoodUUID | Нет | string | Уникальный идентификатор товара | ||
CharacteristicUUID | Нет | string | Уникальный идентификатор характеристики | ||
PackUUID | Нет | string | Уникальный идентификатор упаковки |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
Payment | ||||
Cash | Да | decimal | Сумма оплаты наличными денежными средствами | |
ElectronicPayment | Да | decimal | Сумма оплаты электронными средствами платежа | |
PrePayment | Да | decimal | Сумма зачтенной предоплаты или аванса | |
PostPayment | Да | decimal | Сумма оплаты в кредит (постоплаты) | |
Barter | Да | decimal | Сумма оплаты встречным предоставлением | |
ElectronicPaymentOptionCode | Нет | string | Код вида электронной оплаты См. секцию видов электронной оплаты | |
ElectronicPaymentOptionUUID | Нет | string | Уникальный идентификатор вида электронной оплаты См. секцию видов электронной оплаты | |
<Extensions> | Нет | список элементов Extension | Таблица дополнительных реквизитов |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
Extension | ||||
Name | Да | string | Наименование реквизита | |
Value | Да | string | Значение реквизита | |
ValueType | Да | string | Тип значения: “String“, “Number“, “Boolean” | |
UUID | Нет | string | Уникальный идентификатор UUID дополнительного реквизита |
Поддержка: тонкий клиент, web-клиент, толстый клиент.
Библиотека поддерживает обмен со сторонними программно-аппаратными комплексами различного назначения с помощью web-сервиса.
Для осуществления обмена необходимо опубликовать web-сервис "EquipmentService", входящий в состав библиотеки.
Имя метода | Обязательно | Примечание |
---|---|---|
Connect | Да | |
GetVersion | Да | |
GetSettings | Нет | |
GetPriceList или PreparePriceList GetPriceListPackage |
Да | Рекомендуется использовать метод PreparePriceList и GetPriceListPackage |
GetDocs | Нет | Если на ККМ поддерживаются заказы клиентов (Order) |
PostDocs | Да | Тип документа SaleReport - обязательно |
Требования поддержки методов:
Имя метода | Обязательно | Примечание |
---|---|---|
Connect | Да | |
GetVersion | Да | |
GetPriceList или PreparePriceList GetPriceListPackage или GetGood |
Да | Рекомендуется использовать метод PreparePriceList и GetPriceListPackage или GetGood |
PostDocs | Нет | Тип документа PriceCheckerReport |
Имя метода | Параметры | Тип возвращаемого значения | Описание метода | ||
---|---|---|---|---|---|
Имя | Тип | Описание | |||
Connect | DeviceID | string | Идентификатор устройства | boolean | Проверка регистрации оборудования в ИБ по уникальному идентификатору оборудования |
GetVersion | DeviceID | string | Идентификатор устройства | int | Получение версии формата обмена. В формате возвращенной версии должен производиться обмен данными |
GetSettings | DeviceID | string | Идентификатор устройства | Settings | Получение настроек для оборудования. Возвращается структура в XML, в соответствии с описанием секции Settings |
GetPriceList | DeviceID | string | Идентификатор устройства | PriceList | Получение списка товаров и цен для оборудования. Возвращается структура в XML, в соответствии с описанием секции PriceList |
PreparePriceList | DeviceID | string | Идентификатор устройства | UUID | Возвращается идентификатор передачи (TransferID), который в последующем должен использоваться при вызове метода GetPriceListPackage |
GetPriceListPackage | DeviceID | string | Идентификатор устройства | PriceListPackage | Возвращает пакет прайс-листа. Если в пакете ответа элемент IsFormed = Ложь, значит подготовка пакетов на стороне сервера еще не завершилась. Если признак перезапуска Restart = Истина, то очередь пакетов по переданному TransferID сбросится и выгрузка начнется с первого пакета прайс-листа. |
TransferID | string | Идентификатор передачи | |||
Restart | boolean | Признак перезапуска выгрузки | |||
PostDocs | DeviceID | string | Идентификатор устройства | PostDocsResponse | Передача от устройства документа в конфигурацию 1С. См. описание PostDocs |
DocType | string | Тип документа | |||
Document | string | Данные документа в XML | |||
GetDocs | DeviceID | string | Идентификатор устройства | См. описание GetDocs | Получение из конфигурации 1С документов определенного типа (DocType). Тип возвращаемого значения зависит от переданного типа документа. |
DocType | string | Тип документа | |||
GetGood | DeviceID | string | Идентификатор устройства | PriceList | Прайс-лист с отбором по штрихкоду |
Barсode | string | Штрихкод |
DocType | Document | Примечание |
---|---|---|
SaleReport | SaleReports | Передача отчетов о розничных продажах |
AlcoholTareOpening | AlcoholTareOpenings | Передача данных о вскрытиях алкогольной тары |
PriceCheckerReport | PriceCheckerReports | Передача отчетов прайс-чекера |
DocType | Возвращаемый тип | Примечание |
---|---|---|
Order | Получение заказов |
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута |
---|---|---|---|
IsFormed | Да | boolean | Признак формирования пакета |
PackageNumber | Нет | int | Номер пакета |
PackageTotal | Нет | int | Количество пакетов всего |
PriceList | Нет | PriceList | Данные прайс-листа |
Пример текстового XML:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?>
<PriceListPackage xmlns="http://www.1c.ru/EquipmentService/2.0.0.3" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" PackageTotal="2" PackageNumber="1">
<IsFormed>true</IsFormed>
<PriceList>
...
</PriceList>
</PriceListPackage>
Элемент PriceCheckerReport:
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута | |
---|---|---|---|---|
Number | Нет | string | Номер отчета | |
Date | Нет | datetime | Дата отчета | |
UUID | Нет | string | Уникальный идентификатор UUID отчета | |
<Goods> | Да | список элементов Good |
Список товаров | |
Good | Code | Да | string | Код, идентификатор товарной позиции |
Barcode | Нет | string | Штрихкод товара | |
GoodUUID | Нет | string | Уникальный идентификатор товара | |
CharacteristicUUID | Нет | string | Уникальный идентификатор характеристики | |
PackUUID | Нет | string | Уникальный идентификатор упаковки | |
<Extensions> | Нет | список элементов Extension | Таблица дополнительных реквизитов |
Пример текстового XML:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?>
<PriceCheckerReports xmlns="http://www.1c.ru/EquipmentService/2.0.0.3" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<PriceCheckerReport Date="2017-09-11T12:00:00" Number="505" UUID="986cb877-1272-4d15-ada7-692473a40717">
<Goods>
<Good Code="100" Barcode="2100020307795" GoodUUID="1918351e-9327-445e-a648-893700731916"/>
</Goods>
</PriceCheckerReport>
</PriceCheckerReports>
Наименование атрибута | Обязательное наличие в структуре | Типы данных | Описание атрибута |
---|---|---|---|
IsSuccess | Да | boolean | Признак успешного получения данных |
Description | Нет | string | Описание от принимающей стороны |
Пример текстового XML:
Копировать в буфер обмена<?xml version="1.0" encoding="UTF-8"?>
<PostDocsResponse xmlns="http://www.1c.ru/EquipmentService/2.0.0.3" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<IsSuccess>true</IsSuccess>
<Description>Данные успешно загружены</Description>
</PostDocsResponse>