Вимоги до розробки драйверів підключеного обладнання (версія 1.1)
Схема підключення обладнання до автоматизованих систем на платформі "1С:Підприємство 8.2" мінімізує кількість проміжних компонентів між пристроєм і конфігурацією системи програм "1С:Підприємство 8.2", що підвищує надійність автоматизованої системи. Вступ. 1. Загальні вимоги до драйвера, що розробляється, та його архітектури. 2. Обов'язкові функції та методи, пов'язані з використанням драйвера підключеного обладнання в системі. 3. Опис методів, специфічних для типів підключеного обладнання. 3.1. Вимоги до розробки драйверів для електронних ваг. 3.2. Вимоги до розробки драйверів для електронних ваг із друком етикеток у режимі "OFFLINE". 3.3. Вимоги до розробки драйверів для дисплеїв покупця. 3.4. Вимоги до розробки драйверів для терміналів збору даних. 3.5. Вимоги до розробки драйверів для фіскальних реєстраторів. 3.6. Вимоги до розробки драйверів для контрольно-касових машин у режимі "OFFLINE". 3.7. Вимоги до розробки драйверів пристроїв введення (сканери штрихкоду, зчитувачі магнітних карток тощо). 3.8. Вимоги до розробки драйверів для еквайрингових терміналів
1. Загальні вимоги до драйвера, що розробляється, та його архітектури
3. Опис методів, специфічних для типів підключеного обладнання
3.1. Вимоги до розробки драйверів для електронних ваг
3.2. Вимоги до розробки драйверів для електронних ваг із друком етикеток у режимі "OFFLINE"
3.3. Вимоги до розробки драйверів для дисплеїв покупця
3.4. Вимоги до розробки драйверів для терміналів збору даних
3.5. Вимоги до розробки драйверів для фіскальних реєстраторів
3.6. Вимоги до розробки драйверів для контрольно-касових машин у режимі "OFFLINE"
3.8. Вимоги до розробки драйверів для еквайрингових терміналів
Зміни у стандарті
| Версія | Розділ | Зміни |
|---|---|---|
| 1.1 | Загальні вимоги до драйвера, що розробляється, та його архітектури | Реорганізація розділу. Оновлено загальні вимоги до драйвера, що розробляється. |
| 1.1 | Обов'язкові функції та методи, пов'язані з використанням драйвера підключеного обладнання в системі | - Для методу "ПолучитьОписание" додано додаткові параметри "ИнтеграционнаяБиблиотека", "ОсновнойДрайверУстановлен" - Додано методи "ПолучитьДополнительныеДействия", "ВыполнитьДополнительноеДействие" |
| 1.1 | Вимоги до розробки драйверів для еквайрингових терміналів | - Для методів, що відповідають за роботу з еквайринговими операціями, додано параметр "НомерЧека" - Додано функцію "ПечатьКвитанцийНаТерминале" |
Вступ
Схема підключення обладнання до автоматизованих систем на платформі «1С:Підприємство 8.2» мінімізує кількість проміжних компонентів між пристроєм і конфігурацією системи програм «1С:Підприємство 8.2», що підвищує надійність автоматизованої системи.
Вимоги до драйверів підключеного обладнання описують єдині методи та властивості, які використовуються як конфігурацією, так і драйвером обладнання. Конфігурації безпосередньо взаємодіють із драйверами обладнання низького рівня, використовуючи стандартні команди, завдяки чому досягається стандартний результат (рис. 1).

Рис. 1. Зміна схеми взаємодії конфігурацій системи програм «1С:Підприємство 8.2» із підключеним обладнанням (праворуч) порівняно зі схемою підключення обладнання для «1С:Підприємства 8.1»
Обладнання підключається до системи за допомогою драйвера, розробленого за технологією створення зовнішніх компонент. Технологія визначає інтерфейс взаємодії між платформою та драйвером. Реалізація драйвера можлива за технологією створення зовнішніх компонент із використанням стандартних компонентних об'єктів для Windows (COM-інтерфейс) і власної технології фірми 1С – NativeaPI (динамічна бібліотека для Windows або Linux). За допомогою технології NativeaPI можна створювати зовнішні компоненти, які можуть підключатися як у клієнтському застосунку, так і на сервері "1С:Підприємства", зокрема й у версіях для Linux.
Інтерфейс зовнішньої компоненти можна умовно поділити на три частини.
- Перша частина - загальні вимоги до драйвера, що розробляється, та його архітектури.
- Друга частина - системна, визначає набір службових функцій і методів, пов'язаних із використанням драйвера підключеного обладнання в системі – його підключення та налаштування, отримання опису, тестування й обслуговування помилок.
- Третя частина - функціональна, визначає обов'язковий набір функцій і методів, специфічний для цього типу підключеного обладнання.
1. Загальні вимоги до драйвера, що розробляється, та його архітектури
Драйвер, що розробляється, повинен:
- бути розроблений у вигляді зовнішньої компоненти за технологією створення зовнішніх компонент, наведеною у статті "Технология создания внешних компонент";
- зовнішня компонента для роботи з підключеним обладнанням повинна містити лише один об'єкт, що реалізує розширення вбудованої мови, і повертати методом «RegisterExtensionas» ім'я розширення, що збігається з другою частиною ProgID компоненти. Приклад: для компоненти з ProgID «addIn.Scanner» функція повинна повертати «Scanner»;
- під час створення компонент із використанням технології COM об'єкт повинен бути некерованим (Unmanaged Component), тобто написаним некерованим кодом;
- забезпечити можливість реалізації функціоналу в повному обсязі (мають бути реалізовані та працювати всі методи) для підключеного типу обладнання;
- надавати російськомовні та англомовні назви методів (наприклад ПолучитьВес() - GetWeight() тощо);
- підтримувати роботу з кількома екземплярами пристроїв у межах процедур, у яких використовується це обладнання;
- у разі виникнення помилки в роботі надавати докладний опис помилки, що сталася, який дає змогу користувачеві зрозуміти причину її виникнення та можливий спосіб усунення;
- у разі виникнення позаштатних ситуацій (некоректні дії користувача, відсутність запитуваного методу або функції, передавання некоректних значень тощо) коректно їх обробляти. Не повинно бути аварійних завершень роботи драйвера та інших дій драйвера, які можуть призвести до порушення нормальної роботи користувача.
- приймати/повертати й обробляти таблиці значень у вигляді XML-документа (текст у форматі XML з кодуванням UTF-8, що передається за допомогою параметра типу STRING). Цей спосіб передавання складних масивів даних обрано для забезпечення незалежності від технології, на якій реалізується зовнішня компонента драйвера (Windows COM або NativeaPI).
Драйвер може бути розроблений у вигляді одного файлу або поділений на дві частини:
- Інтеграційна бібліотека - проміжна бібліотека для зв'язку "1С Підприємства" з основною поставкою драйвера. Має інтерфейс, розроблений відповідно до викладених нижче загальних вимог до драйвера та технології розробки зовнішніх компонент, але не реалізує функціоналу драйвера підключеного обладнання. Інтеграційна бібліотека реалізує функціонал пошуку встановленої основної поставки драйвера, його ініціалізацію та переадресацію викликів.
- Основна поставка драйвера - драйвер постачальника, реалізований за довільною технологією. Протокол взаємодії драйвера з інтеграційною бібліотекою не регламентується цими вимогами. Поставка драйвера здійснюється за допомогою інсталяції з дистрибутива.
Під час поставки драйвера одним файлом використовувані run-time бібліотеки повинні статично включатися до компоненти, оскільки на комп'ютері користувача їх може не бути або вони можуть бути іншої версії. Також усі інші необхідні бібліотеки повинні бути включені до драйвера.
У разі поставки драйвера у вигляді кількох файлів наявність інтеграційної бібліотеки є необхідною умовою роботи драйвера з програмами "1С:Підприємство".
2. Обов'язкові функції та методи, пов'язані з використанням драйвера підключеного обладнання в системі
Цей розділ містить список обов'язкових функцій і методів, пов'язаних із використанням драйвера підключеного обладнання в системі – його підключення та налаштування, отримання опису, тестування й обслуговування помилок.
Драйвер підтримує два основні етапи роботи з обладнанням у конфігурації:
- Реєстрація та налаштування обладнання
- Використання обладнання користувачем у процесі роботи
Реєстрація та налаштування обладнання
- Отримання опису драйвера викликом методу «ПолучитьОписание(GetDescription)».
- Отримання доступних параметрів для налаштування драйвера методом «ПолучитьПараметры(GetParameters)».
- Побудова форми налаштування драйвера на підставі списку доступних параметрів.
- Збереження параметрів налаштування драйвера в базі даних конфігурації.
Використання обладнання користувачем у процесі роботи
- Ініціалізація пристрою збереженими в базі параметрами методом «УстановитьПараметр(SetParameter)».
- Підключення обладнання за допомогою методу «Подключить(Open)» з поточними значеннями параметрів, установлених викликами методу «УстановитьПараметр(SetParameter)». Метод «Подключить(Open)» повертає ідентифікатор підключеного екземпляра пристрою
- Виклик обов'язкових функцій і методів, специфічних для цього типу підключеного обладнання, із використанням ідентифікатора підключеного екземпляра пристрою.
- Отримання коду помилки та опису помилки методом «ПолучитьОшибку(GetLastError)» у разі її виникнення.
- Відключення пристрою методом «Отключить(Close)» за ідентифікатором підключеного екземпляра пристрою.
| Опис методів | |||||
|---|---|---|---|---|---|
| Назва (alias) | Параметри | Тип значення, що повертається | Опис методу | ||
| Ім'я | Тип | Опис | |||
| ПолучитьНомерВерсии (GetVersion) |
- |
- |
- |
STRING |
Повертає номер версії драйвера. |
| ПолучитьОписание (GetDescription) | Найменування (Name) | STRING [OUT] | Найменування драйвера |
BOOL |
Повертає інформацію про драйвер, таку як назва й опис, підтримуваний тип обладнання. |
| Опис (Description) | STRING [OUT] | Опис драйвера | |||
| ТипОборудования (EquipmentType) | STRING [OUT] | Рядок, що визначає тип обладнання* | |||
| РевизияИнтерфейса (InterfaceRevision) | LONG [OUT] | Підтримувана версія вимог** для цього типу обладнання | |||
| ИнтеграционнаяБиблиотека (IntegrationLibrary) |
BOOL [OUT] | Прапорець повертає, чи є компонента інтеграційною бібліотекою драйвера або самостійним драйвером | |||
| ОсновнойДрайверУстановлен (MainDriverInstalled) |
BOOL [OUT] | Для інтеграційної бібліотеки повертає прапорець установлення основної поставки драйвера | |||
| ПолучитьURLCкачивания (GetDownloadURL) | STRING [OUT] | Повертає адресу для завантаження основної поставки драйвера | |||
| ПолучитьОшибку (GetLastError) | ОписаниеОшибки (ErrorDescription) |
STRING [OUT] |
Опис помилки |
LONG |
Повертає код і опис останньої помилки, що сталася. |
| ПолучитьПараметры (GetParameters) | ТаблицаПараметров (TableParameters) XML-таблиця |
STRING [OUT] |
Список параметрів |
BOOL |
Повертає список параметрів налаштування драйвера та їхні типи, значення за замовчуванням і можливі значення. |
| УстановитьПараметр (SetParameter) | Ім'я (Name) |
STRING [IN] |
Ім'я параметра |
BOOL |
Установлення значення параметра за іменем |
| Значення (Value) |
VaRIaNT [IN] |
Значення параметра | |||
| Подключить (Open) | ИДУстройства (DeviceID) |
STRING [OUT] |
Ідентифікатор пристрою |
BOOL |
Підключає обладнання з поточними значеннями параметрів, установленими функцією «УстановитьПараметр». Повертає ідентифікатор підключеного екземпляра пристрою |
| Отключить (Close) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою |
BOOL |
Відключає обладнання |
| ТестУстройства (DeviceTest) | Опис (Description) | STRING [OUT] | Опис результату виконання тесту |
BOOL |
Виконує пробне підключення та опитування пристрою з поточними значеннями параметрів, установленими функцією «УстановитьПараметр». У разі успішного виконання підключення в описі повертається інформація про пристрій |
| АктивированДемоРежим (DemoModeIsactivated) | STRING [OUT] | Повертає опис обмежень демонстраційного режиму за його наявності та порожній результат за його відсутності. Приклад: драйвер є платним, і для повноцінної роботи потрібен ключ захисту. | |||
| ПолучитьДополнительныеДействия (Getadditionalactions) | ТаблицаДействий (Tableactions) XML-таблиця |
STRING [OUT] |
Список додаткових дій |
BOOL |
Отримує список додаткових дій, які відображатимуться як додаткові пункти меню у формі налаштування обладнання. Якщо додаткові дії не потрібні, повертає порожній рядок. |
| ВыполнитьДополнительноеДействие (Doadditionalaction) | ИмяДействия (actionName) | STRING [IN] | Ім'я дії |
BOOL |
Команда на виконання додаткової дії з визначеним іменем |
* - Рядок, що визначає тип обладнання, має одне зі значень: “СканерШтрихкода“, “СчитывательМагнитныхКарт“, “ФискальныйРегистратор“, “ДисплейПокупателя“, “ТерминалСбораДанных“, “ЭквайринговыйТерминал“, “ЭлектронныеВесы“, “ВесыСПечатьюЭтикеток“, “ККМOffline“.
** - Версія вимог – версія поточного документа (Версія 1.00 відповідає числу 1000. Версія 1.12 відповідає числу 1012. Поточна версія 1.1 відповідає числу 1001).
ТаблицаПараметров (TableParameters)
Текст у форматі XML з кодуванням UTF-8, що передається за допомогою параметра типу STRING. Містить опис усіх параметрів драйвера й опис візуального інтерфейсу налаштування драйвера.
Необхідні для роботи параметри можуть бути структуровані для виведення на форму конфігурації "1С:Підприємства" - розподілені за вкладками та групами на вкладці. Вкладки та групи можуть мати найменування, які відображатимуться на формі. Для параметрів можуть бути задані певні значення, які сформують розкривний список для вибору. Нарешті, поля параметрів, залежних від інших параметрів, можуть активуватися за потреби.
| Найменування атрибута | Наявність у структурі | Типи даних | Опис атрибута |
|---|---|---|---|
| Ім'я (Name) | Обов'язкове | STRING | Ім'я параметра, для якого створюється поле введення, не повинно містити пробілів і недопустимих символів відповідно до правил формування імен об'єктів "1С:Підприємства" та бути унікальним у межах таблиці параметрів |
| Заголовок (Caption) | Обов'язкове | STRING | Довільний напис перед полем введення |
| ТипЗначение (TypeValue) | Обов'язкове | STRING | Один із наведених нижче типів даних: “String“, “Number“, “Boolean” |
| ФорматПоля (FieldFormat) | Необов'язкове | STRING | Рядок форматування значення параметра |
| ЗначениеПоУмолчанию (DefaultValue) | Необов'язкове | STRING | Значення параметра за замовчуванням |
| СписокВыбора (ChoiceList) | Необов'язкове | LIST | Містить список доступних для вибору значень параметра |
| ЗаголовокЗакладки (PageCaption) | Необов'язкове | STRING | Найменування вкладки, за яким групуватимуться поля введення |
| ЗаголовокГруппы (GroupCaption) | Необов'язкове | STRING | Найменування групи, за яким групуватимуться поля введення |
| ИмяМастерПараметра (MasterParameterName) | Необов'язкове | STRING | Ім'я параметра, що керує активністю цього поля |
| ОперацияСМастерПараметром (MasterParameterOperation) | Необов'язкове | STRING | Операція порівняння з майстер-параметром: Equall, NotEqual |
| ЗначениеМастерПараметра (MasterParameterValue) | Необов'язкове | STRING | Значення майстер-параметра, за якого виконується умова операції ОперацияСМастерПараметром. За виконання умови поле введення стає доступним. Якщо ИмяМастерПараметра та ЗначениеМастерПараметра не визначені, поле завжди активне |
Приклад текстового XML, що описує параметри драйвера
<?xml version="1.0" encoding="UTF-8" ?>
<Settings>
<Parameter Name="Model" Caption="Модель" />
<Page Caption="Параметри">
<Group Caption="Параметри підключення">
<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="Number"DefaultValue="True"/>
<Parameter Name="Speed" Caption="Швидкість" TypeValue="Number" FieldFormat=""
DefaultValue="1" MasterParameterOperation="" ParameterMasterName="" ParameterMasterValue=""/>
</Group>
</Page>
</Settings>
У результаті буде сформовано таку форму для введення параметрів:

ТаблицаДействий (Tableactions)
Текст у форматі XML з кодуванням UTF-8, що передається за допомогою параметра типу STRING. Міститься опис додаткових можливих дій для налаштування та керування драйвером.
Ці дії відображатимуться пунктами меню в розділі "Функції" після пункту меню "Тест пристрою" у формі налаштування екземпляра підключеного обладнання. У разі вибору певного пункту меню буде викликано метод драйвера "ВыполнитьДополнительноеДействие" з параметром "ИмяДействия", що відповідає цьому пункту меню. Під час виконання цієї дії драйвер може створювати додаткові діалогові вікна відповідно до "Технологии создания внешних компонент".
| Найменування атрибута | Наявність у структурі | Типи даних | Опис атрибута |
|---|---|---|---|
| Ім'я (Name) | Обов'язкове | STRING | Ім'я дії, для якої створюється пункт меню, не повинно містити пробілів і недопустимих символів відповідно до правил формування імен об'єктів "1С:Підприємства" та бути унікальним у межах таблиці параметрів |
| Заголовок (Caption) | Обов'язкове | STRING | Заголовок пункту меню |
Приклад текстового XML, що описує параметри драйвера
<?xml version="1.0" encoding="UTF-8" ?> <actions> <action Name="SettingLog" Caption="Параметри журналювання" /> </actions>
У результаті буде сформовано такі пункти меню для форми введення параметрів:

3. Опис методів, специфічних для типів підключеного обладнання
3.1. Вимоги до розробки драйверів для електронних ваг
Конфігураціями підтримуються такі можливості роботи з вагами online:
- Введення значення ваги тари, що використовується для пакування товару, який зважується.
- Отримання значення ваги товару за вирахуванням ваги тари.
| Опис методів | |||||
|---|---|---|---|---|---|
| Назва (alias) | Параметри | Тип значення, що повертається | Опис методу | ||
| Ім'я | Тип | Опис | |||
| УстановитьВесТары (Calibrate) | ИДУстройства (DeviceID) |
STRING [IN] |
Ідентифікатор пристрою |
BOOL |
Виконує встановлення ваги тари на вагах. Якщо значення «ВесТары» має значення 0 – як значення приймається поточне значення ваги на вагах |
| ВесТары (TareWeight) |
DOUBLE [IN] |
Вага тари | |||
| ПолучитьВес (GetWeight) | ИДУстройства (DeviceID) |
STRING [IN] |
Ідентифікатор пристрою |
BOOL |
Отримує поточну вагу товару на вагах |
| ТекущийВес (Weight) |
DOUBLE [IN] |
Поточна вага товару на вагах | |||
3.2. Вимоги до розробки драйверів для електронних ваг із друком етикеток у режимі "OFFLINE"
Робота з електронними вагами з друком етикеток полягає у вивантаженні таблиці товарів. Таблиця формується на основі бази даних засобами конфігурації. Обробка вивантаження таблиці товарів в електронні ваги повинна передбачати вивантаження кількома ітераціями шляхом послідовних викликів методу «ВыгрузитьТовары (UploadGoods)» з пакетами даних.
| Опис методів | |||||
|---|---|---|---|---|---|
| Назва (alias) | Параметри | Тип значення, що повертається | Опис методу | ||
| Ім'я | Тип | Опис | |||
| ВыгрузитьТовары (UploadGoods) | ИДУстройства (DeviceID) |
STRING [IN] |
Ідентифікатор пристрою |
BOOL |
Вивантажує товари у ваги |
| ТаблицаТоваров (ProductsTable) XML-таблиця |
STRING [IN] |
Таблиця товарів | |||
| ОчиститьТовары (ClearGoods) | ИДУстройства (DeviceID) |
STRING [IN] |
Ідентифікатор пристрою |
BOOL |
Видаляє товари у вагах |
ТаблицаТоваров (ProductsTable)
Текст у форматі XML з кодуванням UTF-8, що передається за допомогою параметра типу STRING.
| Найменування атрибута | Наявність у структурі | Типи даних | Опис атрибута |
|---|---|---|---|
| ПЛУ (PLU) | Обов'язкове | LONG | PLU товару (індекс товару у вагах) |
| КодТовара (Code) | Обов'язкове | LONG | Код вагового товару |
| НаименованиеТовара (Name) | Обов'язкове | STRING | Найменування товару |
| Цена (Price) | Обов'язкове | DOUBLE | Ціна за кілограм (у форматі <Рублі>,<Копійки>) |
| ОписаниеТовара (Description) | Необов'язкове | STRING | Текстовий опис товару (склад товару, список інгредієнтів тощо) |
| СрокХранения (ShelfLife) | Необов'язкове | LONG | Тривалість зберігання/термін придатності товару, у днях |
Приклад текстового XML
<?xml version="1.0" encoding="UTF-8"?>
<Table>
<Record PLU="1" Code="1003" Name="Яблука Антонівка" Price="95,50" ShelfLife="7"/>
<Record PLU="2" Code="1023" Name="Салат Болгарський" Price="500,00"
Description="Склад: буряк, морква, шинка, м'ясо, сир, яйце, цибуля ріпчаста, майонез" ShelfLife="5"/>
</Table>
3.3. Вимоги до розробки драйверів для дисплеїв покупця
Під час оформлення документів продажу необхідна інформація може відображатися на дисплеї покупця. Склад інформації визначається в конфігурації. Підтримуються багаторядкові дисплеї та поділ рядків на області.
| Опис методів | |||||
|---|---|---|---|---|---|
| Назва (alias) | Параметри | Тип значення, що повертається | Опис методу | ||
| Ім'я | Тип | Опис | |||
| ВывестиСтрокуНаДисплейПокупателя (StringOutputOnCustomerDisplay) | ИДУстройства (DeviceID) |
STRING [IN] |
Ідентифікатор пристрою |
BOOL |
Виводить передані рядки на дисплей покупця. Один рядок відповідає одному рядку дисплея. Якщо рядок порожній, інформація в цьому рядку на дисплеї не змінюється |
| Строки (Strings) |
STRING [IN] |
Рядки, що містять інформацію для відображення на дисплеї | |||
| ОчиститьДисплейПокупателя (ClearCustomerDisplay) | ИДУстройства (DeviceID) |
STRING [IN] |
Ідентифікатор пристрою |
BOOL |
Очищає дисплей покупця |
| ПолучитьПараметрыВывода (GetOutputOptions) | ИДУстройства (DeviceID) |
STRING [IN] |
Ідентифікатор пристрою |
BOOL |
Отримати розмірність дисплея покупця |
| СтолбцовНаДисплее (DeviceColumn) |
LONG [OUT] |
Повертає кількість стовпців на дисплеї (символів у рядку) | |||
| СтрокНаДисплее (DeviceRows) |
LONG [OUT] |
Повертає кількість рядків на дисплеї | |||
3.4. Вимоги до розробки драйверів для терміналів збору даних
Робота з терміналами збору даних полягає у вивантаженні таблиці товарів із конфігурації та завантаженні таблиці даних про відібрані товари. Таблиця формується на основі бази даних засобами конфігурації. Обробка вивантаження таблиці товарів повинна передбачати вивантаження кількома ітераціями шляхом послідовних викликів методу «ВыгрузитьТаблицу (UploadTable)» з пакетами даних визначеного розміру (наприклад, по 100 записів). Завантаження таблиці товарів виконується одноразово методом «ЗагрузитьТаблицу (DownloadTable)».
| Опис методів | |||||
|---|---|---|---|---|---|
| Назва (alias) | Параметри | Тип значення, що повертається | Опис методу | ||
| Ім'я | Тип | Опис | |||
| ВыгрузитьТаблицу (UploadTable) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Вивантажує таблицю товарів у ТЗД |
| ТаблицаТоваров (UploadTable) XML-таблиця |
STRING [IN] | Таблиця, що вивантажується | |||
| ЗагрузитьТаблицу (DownloadTable) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Завантажує таблицю з ТЗД |
| ТаблицаЗагрузки (DownloadTable) XML-таблиця |
STRING [OUT] | Таблиця, що завантажується | BOOL | Очищає завантажену раніше таблицю товарів у ТЗД | |
| ОчиститьТаблицу (ClearTable) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | ||
ТаблицаТоваров (UploadTable)
Текст у форматі XML з кодуванням UTF-8, що передається за допомогою параметра типу STRING.
| Найменування атрибута | Наявність у структурі | Типи даних | Опис атрибута |
|---|---|---|---|
| Штрихкод (BarCode) | Обов'язкове | STRING | Штрихкод номенклатури |
| Найменування (Name) | Необов'язкове | STRING | Найменування товару |
| ЕдиницаИзмерения (UnitOfMeasurement) | Необов'язкове | STRING | Одиниця вимірювання номенклатури |
| ХарактеристикаНоменклатуры (CharacteristicOfNomenclature) | Необов'язкове | STRING | Характеристика номенклатури |
| СерияНоменклатуры (SeriesOfNomenclature) | Необов'язкове | STRING | Серія номенклатури |
| Качество (Quality) | Необов'язкове | STRING | Якість товару |
| Цена (Price) | Необов'язкове | DOUBLE | Ціна товару |
| Количество(Quantity) | Необов'язкове | DOUBLE | Кількість товару |
Приклад текстового XML
<?xml version="1.0" encoding="UTF-8"?>
<Table>
<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>
ТаблицаЗагрузки (DownloadTable)
Текст у форматі XML з кодуванням UTF-8, що передається за допомогою параметра типу STRING.
| Найменування атрибута | Наявність у структурі | Типи даних | Опис атрибута |
|---|---|---|---|
| Штрихкод (BarCode) | Обов'язкове | STRING | Штрихкод номенклатури |
| Кількість (Quantity) | Обов'язкове | DOUBLE | Кількість товару |
Приклад текстового XML
<?xml version="1.0" encoding="UTF-8"?>
<Table>
<Record BarCode="4008110271538" Quantity="4"/>
<Record BarCode="2900001355643" Quantity="2"/>
</Table>
3.5. Вимоги до розробки драйверів для фіскальних реєстраторів
Під час роботи з фіскальними реєстраторами (принтерами чеків для ЄПВД) підтримуються основні операції:
- Друк чеків внесення/вилучення грошових коштів
- Друк чека ККМ
- Друк звітів за зміну з гасінням (Z-звіт) і без гасіння (X-звіт)
Алгоритм друку чека ККМ.
Під час формування чеків ККМ конфігурація надсилає команду на відкриття нового чека. Залежно від переданого параметра чек відкривається у фіскальному або нефіскальному режимі.
У режимі відкритого чека виконується друк фіскального або нефіскального рядка. Під час друку фіскального рядка розраховуються знижки. Якщо розраховане за формулою "Ціна*Кількість – Сума за рядком" значення відрізняється від 0, то в чеку друкується абсолютне значення знижки в грошовому вираженні. Якщо значення знижки менше нуля, замість слова "Знижка" виводиться слово «Націнка».
Підтримується анулювання раніше відкритого чека за допомогою параметра "АннулироватьОткрытыйЧек" методу "ОткрытьЧек".
Підтримується друк штрихкоду у відкритому чеку, якщо це дає змогу зробити модель пристрою.
Після завершення друку рядків чека виконується розрахунок за чеком. Розрахунок за чеком може виконуватися кількома видами оплат. За відкритого фіскального чека відбувається друк підсумків і сум оплати.
| Опис методів | |||||
|---|---|---|---|---|---|
| Назва (alias) | Параметри | Тип значення, що повертається | Опис методу | ||
| Ім'я | Тип | Опис | |||
| ОткрытьЧек (OpenCheck) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Відкриває новий чек |
| ФискальныйЧек (IsFiscalCheck) | BOOL [IN] | Ознака фіскального чека | |||
| ЧекВозврата (IsReturnCheck) |
BOOL [IN] |
Ознака чека повернення | |||
| АннулироватьОткрытыйЧек (CancelOpenedCheck) | BOOL [IN] | Ознака автоматичного анулювання раніше відкритого чека | |||
| НомерЧека (CheckNumber) | LONG [OUT] | Номер нового чека | |||
| НомерСмены (SessionNumber) | LONG [OUT] | Номер відкритої зміни | |||
| НапечататьФискСтроку (PrintFiscalString) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Друкує рядок товарної позиції з переданими реквізитами. |
| Найменування (Name) | STRING [IN] | Найменування товару | |||
| Кількість (Quantity) | DOUBLE [IN] | Кількість товару | |||
| Ціна (Price) | DOUBLE [IN] | Ціна одиниці товару (у форматі <Рублі,Копійки>) | |||
| Сума (amount) | DOUBLE [IN] | Кінцева сума за позицією чека (з урахуванням усіх знижок/націнок; у форматі <Рублі,Копійки>) | |||
| Відділ (Department) | LONG [IN] | Відділ, за яким ведеться продаж | |||
| ПДВ (Tax) | DOUBLE [IN] | ПДВ у відсотках (від 0 до 99,99) | |||
| НапечататьНефискСтроку (PrintNonFiscalString) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Виводить довільний текстовий рядок на чекову стрічку |
| СтрокаТекста (TextString) | STRING [IN] | Рядок із довільним текстом | |||
| НапечататьШтрихКод (PrintBarCode) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Друк штрихкоду виконується з автоматичним розміром із вирівнюванням по центру чека. Тип штрихкоду може мати одне з таких значень: EaN8,EaN13. Якщо модель пристрою не підтримує друк штрихкоду, видається помилка. |
| ТипШтрихкода (BarcodeType) | STRING [IN] | Рядок, що визначає тип штрихкоду | |||
| Штрихкод (Barcode) | STRING [IN] | Значення штрихкоду | |||
| ЗакрытьЧек (CloseCheck) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Закриває чек. Сума всіх видів оплат має бути більшою за суму відкритого чека. |
| НаличнаяОплата (Cash) | DOUBLE [IN] | Сума готівкової оплати | |||
| ОплатаКартой (PayByCard) | DOUBLE [IN] | Сума оплати карткою | |||
| ОплатаКредитом (PayByCredit) | DOUBLE [IN] | Сума оплати кредитом | |||
| ОплатаСертификатом (PayByCertificate) | DOUBLE [IN] | Сума оплати сертифікатом | |||
| ОтменитьЧек (CancelCheck) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Скасовує раніше відкритий чек (потребує адміністративних привілеїв) |
| НапечататьЧекВнесенияВыемки (CashInOutcome) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Друкує на ФР чек внесення/вилучення (залежить від переданої суми). Сума >= 0 - внесення, Сума < 0 - вилучення. |
| Сума (amount) | DOUBLE [IN] | Сума внесення /вилучення у форматі <Рублі,Копійки> | |||
| НапечататьОтчетБезГашения (PrintXReport) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Друкує на ФР звіт за зміну без гасіння (не закриває касову зміну) |
| НапечататьОтчетСГашением (PrintZReport) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Друкує на ФР звіт за зміну з гасінням (закриває касову зміну, потребує адміністративних привілеїв) |
| ОткрытьДенежныйЯщик (OpenCashDrawer) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Виконує відкриття грошової скриньки, підключеної до фіскального реєстратора. |
| ПолучитьШиринуСтроки (GetLineLength) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Отримати ширину рядка чека в символах |
| ШиринаСтроки (LineLength) | LONG [OUT] | Ширина рядка в символах | |||
3.6. Вимоги до розробки драйверів для контрольно-касових машин у режимі "OFFLINE"
Робота з контрольно-касовими машинами в режимі "OFFLINE" полягає у вивантаженні таблиці товарів із конфігурації та завантаженні таблиці даних про продажі, зареєстровані на касі протягом зміни. Таблиця товарів формується на основі бази даних засобами конфігурації. Обробка вивантаження таблиці товарів у каси ККМ повинна передбачати вивантаження кількома ітераціями шляхом послідовних викликів методу «ВыгрузитьТовары (UploadGoods)» з пакетами даних. Завантаження таблиці товарів виконується одноразово методом «ЗагрузитьОтчет (DownloadReport)».
| Опис методів | |||||
|---|---|---|---|---|---|
| Назва (alias) | Параметри | Тип значення, що повертається | Опис методу | ||
| Ім'я | Тип | Опис | |||
| ВыгрузитьТовары (UploadGoods) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Вивантажує товари в ККМ |
| ТаблицаТоваров (GoodsTable) XML-таблиця |
STRING [IN] | Таблиця значень з інформацією про товари | |||
| ЗагрузитьОтчет (DownloadReport) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Завантажує звіт про продані товари з ККМ |
| ТаблицаПродаж (ReportTable) XML-таблиця |
STRING [OUT] | Таблиця значень з інформацією про продажі | |||
| ОтчетЗагружен (LoadSuccess) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Для драйвера встановлюється прапорець у «Істина», якщо звіт було успішно оброблено, і в «Неправда» в іншому разі. |
| ФлагСостояния (StateFlag) | BOOL [IN] | Ознака успіху обробки звіту | |||
| ОчиститьТаблицу (ClearTable) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Очищає базу товарів ККМ |
ТаблицаТоваров (GoodsTable)
Текст у форматі XML з кодуванням UTF-8, що передається за допомогою параметра типу STRING.
| Найменування атрибута | Наявність у структурі | Типи даних | Опис атрибута |
|---|---|---|---|
| PLU | Обов'язкове | LONG | PLU товару |
| Штрихкод (BarCode) | Обов'язкове | STRING | Штрихкод. Допускається кілька штрихкодів через кому. |
| Найменування (Name) | Обов'язкове | STRING | Найменування номенклатури |
| Група (Group) | Необов'язкове | STRING | Група номенклатури |
| ЕдиницаИзмерения (UnitOfMeasurement) | Необов'язкове | STRING | Одиниця вимірювання номенклатури |
| ХарактеристикаНоменклатуры (CharacteristicOfNomenclature) | Необов'язкове | STRING | Характеристика номенклатури |
| СерияНоменклатуры (SeriesOfNomenclature) | Необов'язкове | STRING | Серія номенклатури |
| Качество (Quality) | Необов'язкове | STRING | Якість товару |
| Цена (Price) | Обов'язкове | DOUBLE | Ціна товару |
| Остаток (Remainder) | Необов'язкове | DOUBLE | Залишок товарів |
| ВесовойТовар (IsWeightGoods) | Необов'язкове | BOOL | Ознака вагового товару |
Приклад текстового XML
<?xml version="1.0" encoding="UTF-8"?>
<Table>
<Record PLU="40" BarCode="4008110271538" Name="Блокнот для нотаток" Group="Різне"UnitOfMeasurement="Штуки"
CharacteristicOfNomenclature="" SeriesOfNomenclature="" Quality="" Price="25,30" Remainder="7" />
<Record PLU="423" BarCode="2900001355643,2900001355679" Name="Яблука антонівка" Group="Фрукти"UnitOfMeasurement="Штуки"
CharacteristicOfNomenclature="" SeriesOfNomenclature="" Quality="Зелені" Price="95,50" Remainder="7" IsWeightGoods="True"/>
</Table>
ТаблицаПродаж (ReportTable)
Текст у форматі XML з кодуванням UTF-8, що передається за допомогою параметра типу STRING.
| Найменування атрибута | Наявність у структурі | Типи даних | Опис атрибута |
|---|---|---|---|
| PLU | Обов'язкове | LONG | PLU товару |
| Ціна (Price) | Обов'язкове | DOUBLE | Ціна, за якою продано товар |
| Кількість (Quantity) | Обов'язкове | DOUBLE | Кількість проданого товару |
| Знижка (Discount) | Обов'язкове | DOUBLE | Відсоток наданої знижки |
| Сума (amount) | Обов'язкове | DOUBLE | Сума проданого товару (кінцева ціна з урахуванням усіх знижок/націнок |
Приклад текстового XML
<?xml version="1.0" encoding="UTF-8"?>
<Table>
<Record PLU="40" Price="20" Quantity="2" Discount="0" Сума="40"/>
<Record PLU="423" Price="100" Quantity="1" Discount="5" Сума="95"/>
</Table>
3.7. Вимоги до розробки драйверів пристроїв введення (сканери штрихкоду, зчитувачі магнітних карток тощо)
Ці пристрої реалізують функцію автоматичного зчитування закодованої різними способами інформації та асинхронного передавання її до конфігурації "1С:Підприємства". Драйвери пристроїв такого типу не передбачають специфічних для обладнання методів, які можна викликати з конфігурацій.
Робота з драйвером будується таким чином:
- Під час ініціалізації об'єкта компоненти йому передається покажчик на інтерфейс "1С:Підприємства", за допомогою якого можна викликати метод:
HRESULT ExternalEvent(BSTR bstrWho, BSTR bstrWhat, BSTR bstrData) - За кожного успішного зчитування коду сканером або зчитувачем драйвер повинен викликати метод HRESULT ExternalEvent(BSTR bstrWho, BSTR bstrWhat, BSTR bstrData).
- Передані дані розміщуються в черзі повідомлень. Повідомлення з черги обробляються лише після обробки всіх системних повідомлень "1С:Підприємства". У разі переповнення черги отримані повідомлення ігноруються.
Опис методів, доступних для асинхронного виклику з драйвера*
| Опис методів | |||||
|---|---|---|---|---|---|
| Назва (alias) | Параметри | Тип значення, що повертається | Опис методу | ||
| Ім'я | Тип | Опис | |||
| ExternalEvent | bstrWho | BSTR [IN] | Унікальний ідентифікатор підключеного пристрою ** |
HRESULT |
Поміщає дані, отримані від сканера/зчитувача, у чергу повідомлень |
| bstrWhat | BSTR [IN] | Тип повідомлення/тип даних *** | |||
| bstrData | BSTR [IN] | Зчитані пристроєм дані | |||
| SetEventBufferDepth | lDepth | BSTR [IN] | Максимальна кількість повідомлень у черзі |
HRESULT |
Установлює довжину черги повідомлень |
* Опис інших функцій, доступних для виклику з драйвера, див. у документі «Технология создания внешних компонент»
** У параметрі bstrWho драйвер передає унікальний ідентифікатор підключеного пристрою.
*** Параметр bstrWhat використовується для підтримки подій різних типів. Для сканерів повинен містити рядок «Штрихкод» («IsBarcode»). Для зчитувачів магнітних карток, відповідно: «ДанныеКарты» («IsTracksData»). У разі помилки цей параметр повинен містити значення "ОшибкаДрайвера" («DriverError»). У цьому разі параметр bstrData повинен містити опис помилки.
3.8. Вимоги до розробки драйверів для еквайрингових терміналів
Під час роботи з еквайринговими системами підтримуються такі операції:
- Оплата карткою
- Скасування платежу за карткою
- Повернення платежу за карткою
- Блокування суми на рахунку картки
- Списання заблокованої суми з рахунку картки
- Скасування блокування суми на рахунку картки
- Аварійне скасування операції
- Отримання підсумків дня за картками
Оплата карткою
За потреби оплатити покупку платіжною карткою Система викликає метод "ОплатитьПлатежнойКартой", передаючи у вхідному параметрі суму до оплати для списання з картки та номер зчитаної картки. Якщо зчитування картки виконуватиметься на терміналі (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) банку картки*.
Аварійне скасування операції
Якщо операція за платіжною карткою пройшла успішно і сліп-чек має бути роздрукований на ФР (визначається методом ПечатьКвитанцийНаТерминале), але виникла помилка друку, то операцію за карткою має бути аварійно скасовано.
Отримання підсумків дня за картками
Для отримання тексту звіту Система викликає метод "ИтогиДняПоКартам". Драйвер повертає результат виконання функції та текст звіту.
* Якщо за вимогами банку повний номер не може бути наданий, то в параметрі частина цифр замінюється зірочками.
| Опис методів | |||||
|---|---|---|---|---|---|
| Назва (alias) | Параметри | Тип значення, що повертається | Опис методу | ||
| Ім'я | Тип | Опис | |||
| ОплатитьПлатежнойКартой (PayByPaymentCard) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Метод виконує авторизацію оплати за карткою |
| НомерКарты (CardNumber) | STRING [IN/OUT] | Номер картки / Дані картки* | |||
| Сума (amount) | STRING [IN] | Сума до оплати за карткою | |||
| НомерЧека (ReceiptNumber) | STRING [IN/OUT] | Номер чека | |||
| КодRRN (RRNCode) | STRING [OUT] | Унікальний код транзакції RRN | |||
| КодАвторизации (authorizationCode) | STRING [OUT] | Код авторизації транзакції | |||
| ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанції, сформований еквайринговим ПЗ | |||
| ВернутьПлатежПоПлатежнойКарте (ReturnPaymentByPaymentCard) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Метод виконує повернення платежу за карткою |
| НомерКарты (CardNumber) | STRING [IN/OUT] | Номер картки / Дані картки* | |||
| Сума (amount) | STRING [IN] | Сума до оплати за карткою | |||
| НомерЧека (ReceiptNumber) | STRING [IN/OUT] | Номер чека | |||
| КодRRN (RRNCode) | STRING [IN/OUT] | Унікальний код транзакції RRN | |||
| КодАвторизации (authorizationCode) | STRING [IN] | Код авторизації транзакції | |||
| ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанції, сформований еквайринговим ПЗ | |||
| ОтменитьПлатежПоПлатежнойКарте (CancelPaymentByPaymentCard) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Метод виконує скасування платежу за карткою |
| НомерКарты (CardNumber) | STRING [IN/OUT] | Номер картки / Дані картки* | |||
| Сума (amount) | STRING [IN] | Сума до оплати за карткою | |||
| НомерЧека (ReceiptNumber) | STRING [IN/OUT] | Номер чека | |||
| КодRRN (RRNCode) | STRING [IN] | Унікальний код транзакції RRN | |||
| КодАвторизации (authorizationCode) | STRING [IN] | Код авторизації транзакції | |||
| ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанції, сформований еквайринговим ПЗ | |||
| ПреавторизацияПоПлатежнойКарте (authorisationByPaymentCard) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Метод виконує преавторизацію – блокування суми на рахунку картки |
| НомерКарты (CardNumber) | STRING [IN/OUT] | Номер картки / Дані картки* | |||
| Сума (amount) | STRING [IN] | Сума до оплати за карткою | |||
| НомерЧека (ReceiptNumber) | STRING [IN/OUT] | Номер чека | |||
| КодRRN (RRNCode) | STRING [OUT] | Унікальний код транзакції RRN | |||
| КодАвторизации (authorizationCode) | STRING [OUT] | Код авторизації транзакції | |||
| ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанції, сформований еквайринговим ПЗ | |||
| ЗавершитьПреавторизациюПоПлатежнойКарте (authConfirmationByPaymentCard) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Метод завершує преавторизацію – списує суму з рахунку картки |
| НомерКарты (CardNumber) | STRING [IN/OUT] | Номер картки / Дані картки* | |||
| Сума (amount) | STRING [IN] | Сума до оплати за карткою | |||
| НомерЧека (ReceiptNumber) | STRING [IN/OUT] | Номер чека | |||
| КодRRN (RRNCode) | STRING [IN] | Унікальний код транзакції RRN | |||
| КодАвторизации (authorizationCode) | STRING [IN] | Код авторизації транзакції | |||
| ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанції, сформований еквайринговим ПЗ | |||
| ОтменитьПреавторизациюПоПлатежнойКарте (CancelauthorisationByPaymentCard) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Метод скасовує преавторизацію – розблоковує суму на рахунку картки |
| НомерКарты (CardNumber) | STRING [IN/OUT] | Номер картки / Дані картки* | |||
| Сума (amount) | STRING [IN] | Сума до оплати за карткою | |||
| НомерЧека (ReceiptNumber) | STRING [IN/OUT] | Номер чека | |||
| КодRRN (RRNCode) | STRING [IN] | Унікальний код транзакції RRN | |||
| КодАвторизации (authorizationCode) | STRING [IN] | Код авторизації транзакції | |||
| ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанції, сформований еквайринговим ПЗ | |||
| АварийнаяОтменаОперации (EmergencyReversal) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Метод скасовує останню транзакцію |
| ИтогиДняПоКартам (Settlement) | ИДУстройства (DeviceID) | STRING [IN] | Ідентифікатор пристрою | BOOL | Виконується звіряння підсумків дня |
| ТекстКвитанции (Slip) | STRING [OUT] | Текст квитанції, сформований еквайринговим ПЗ | |||
| ПечатьКвитанцийНаТерминале (PrintSlipOnTerminal) |
- |
- |
- |
BOOL |
Повертає, чи буде термінал самостійно друкувати квитанції на своєму принтері для операцій |
* Якщо інформація, зчитана з картки, передається до еквайрингової системи з конфігурації "1С:Підприємства", зміст цього поля повинен відповідати вимогам конкретної еквайрингової системи та може, крім безпосередньо номера картки, містити додаткову інформацію, зчитану з картки.