Меню


Курсы СтимулСправочникПолезные материалы1С:Предприятие 8.2Работа с торговым оборудова…Общее

1С:Предприятие 8.2 /
Работа с торговым оборудованием /
Общее

Оглавление

Требования к разработке драйверов подключаемого оборудования (версия 1.1)

Изменения в стандарте

Введение

1. Общие требования к разрабатываемому драйверу и его архитектуре

2. Обязательные функции и методы, связанные с использованием драйвера подключаемого оборудования в системе

3. Описание методов специфичных для типов подключаемого оборудования

3.1. Требования к разработке драйверов для электронных весов

3.2. Требования к разработке драйверов для электронных весов с печатью этикеток в режиме "OFFLINE"

3.3. Требования к разработке драйверов для дисплеев покупателя

3.4. Требования к разработке драйверов для терминалов сбора данных

3.5. Требования к разработке драйверов для фискальных регистраторов

3.6. Требования к разработке драйверов для контрольно-кассовых машин в режиме "OFFLINE"

3.7. Требования к разработке драйверов устройств ввода (сканеры штрихкода, считыватели магнитных карт и т.д.)

3.8. Требования к разработке драйверов для эквайринговых терминалов

 

Изменения в стандарте

ВерсияРазделИзменения
1.1Общие требования к разрабатываемому драйверу и его архитектуреРеорганизация раздела. Обновлены общие требования к разрабатываемому драйверу.
1.1Обязательные функции и методы, связанные с использованием драйвера подключаемого оборудования в системе- Для метода "ПолучитьОписание" добавлены дополнительные параметры "ИнтеграционнаяБиблиотека", "ОсновнойДрайверУстановлен"
- Добавлены методы "ПолучитьДополнительныеДействия", "ВыполнитьДополнительноеДействие"
1.1Требования к разработке драйверов для эквайринговых терминалов- Для методов отвечающие за работу с экваринговыми операциями добавлен параметр "НомерЧека"
- Добавлена функция "ПечатьКвитанцийНаТерминале"

Введение

Схема подключения оборудования к автоматизированным системам на платформе «1С: Предприятие 8.2» минимизирует количество промежуточных компонентов между устройством и конфигурацией системы программ «1С:Предприятие 8.2», что повышает надежность автоматизированной системы.

Требования к драйверам подключаемого оборудования описывают единые методы и свойства, используемые как конфигурацией, так и драйвером оборудования. Конфигурации непосредственно взаимодействуют с драйверами оборудования низкого уровня, используя стандартные команды, за счет чего достигается стандартный результат (рис. 1).

КОНФИГУРАЦИЯ 1С: ПРЕДПРИЯТИЕ 8 I мгмотм овслтжнвдиия _ ІИІШНІ1 КОМПОНІНТА ДРАЙВ1Р ОВГАВОТКА ОССЛ УЖИВАННЯ I і й ОБРАБОТКА ОБСЛУЖИВАНИЯ внешняя КОМПОНЕНТА ДРАЙВІ АРМ ПО І УСТРОЙСТВО і! I УСТРОЙСТВО УСТРОЙСТВО УСТРОЙСТВО УСТРОЙСТВО


Рис. 1. Изменение схемы взаимодействия конфигураций системы программ «1С:Предприятие 8.2» с подключаемым оборудованием (справа) по сравнению со схемой подключения оборудования для «1С:Предприятия 8.1»

Оборудование подключается к системе с помощью драйвера разработанного по технологии создания внешних компонент . Технология определяет интерфейс взаимодействия между платформой и драйвером. Реализация драйвера возможна по технологии создания внешних компонент с использованием стандартных компонентных объектов для Windows (COM-интерфейс) и собственной технологии фирмы 1С – NativeaPI (динамическая библиотека для Windows или Linux). С помощью технологии NativeaPI можно создавать внешние компоненты, которые могут подключаться как в клиентском приложении , так и на сервере "1С:Предприятия", в том числе и в версиях для Linux.

Интерфейс внешней компоненты можно условно разделить на три части.

1. Общие требования к разрабатываемому драйверу и его архитектуре

Разрабатываемый драйвер должен:

Драйвер может быть разработан в виде одного файла или разбит на две части:

При поставке драйвера одним файлом используемые run-time библиотеки должны статически включаться в компоненту, так как на компьютере пользователя их может не оказаться или они могут быть другой версии. Так же все другие необходимые библиотеки должны быть включены в драйвер.

В случае поставки драйвера в виде нескольких файлов наличие интеграционной библиотеки является необходимым условием работы драйвера с программами "1С:Предприятие".

2. Обязательные функции и методы, связанные с использованием драйвера подключаемого оборудования в системе

Данный раздел содержит список обязательных функций и методов, связанных с использованием драйвера подключаемого оборудования в системе – его подключение и настройка, получение описания, тестирование и обслуживание ошибок.

Драйвер поддерживает два основных этапа работы с оборудованием в конфигурации :

Регистрация и настройка оборудования

  1. Получение описания драйвера вызовом метода «ПолучитьОписание(GetDescription)».
  2. Получения доступных параметров для настройки драйвера методом «ПолучитьПараметры(GetParameters)».
  3. Построение формы настройки драйвера на основании списка доступных параметров.
  4. Сохранение параметров настройки драйвера в базе данных конфигурации .

Использование оборудования пользователем в процессе работы

  1. Инициализация устройства сохраненными в базе параметрами методом «УстановитьПараметр(SetParameter)».
  2. Подключение оборудования с помощью метода «Подключить(Open)» с текущими значениями параметровустановленых вызовами метода «УстановитьПараметр(SetParameter)». Метод «Подключить(Open)» возвращается идентификатор подключенного экземпляра устройства
  3. Вызов обязательных функций и методов, специфичных для данного типа подключаемого оборудования с использованием идентификатора подключенного экземпляра устройства.
  4. Получение кода ошибки и описания ошибки методом «ПолучитьОшибку(GetLastError)» в случае ее возникновения.
  5. Отключение устройства методом «Отключить(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>

В результате будет сформирована следующая форма для ввода параметров:

Драйвер и версия Драйвер: Версия: Параметры Параметры подключения Модель: Порт: Кратность: V Скорость:

ТаблицаДействий (Tableactions)

Текст в формате XML с кодировкой UTF-8 передаваемый с помощью параметра типа STRING. Содержится описание дополнительных возможных действий для настройки и управлением драйвером.
Данные действия будут отображаться пунктами меню в разделе "Функции" после пункта меню "Тест устройства" на форме настройке экземпляра подключаемого оборудования. При выборе определенного пункта меню будет вызван метод драйвера "ВыполнитьДополнительноеДействие" с параметром "ИмяДействия", соответвующему данному пункту меню. При выполнении данного действия драйвер может создавать дополнительные диалоговые окна в соответствии с "Технологией создания внешних компонент".

Наименование атрибутаНаличие в структуреТипы данныхОписание атрибута
Имя (Name)ОбязательноеSTRINGИмя действия, для которого создается пункт меню, не должно содержать пробелов и недопустимых символов, в соответствии с правилами формирования имен объектов "1С:Предприятия" и быть уникальным в рамках таблицы параметров
Заголовок (Caption)ОбязательноеSTRINGЗаголовок пункта меню

Пример текстового XML описывающего параметры драйвера

 <?xml version="1.0" encoding="UTF-8" ?>
 <actions>
 <action Name="SettingLog" Caption="Параметры журналирования" /> 
 </actions>

В результате будет сформирована следующие пункты меню для форма для ввода параметров:

СШК ' 1С: Сканеры штрихкода' на Поль: Записать и закрыть [Функции Н -Драйвер и версия- Тест устройства Драйвер: Установлен Параметры журналирования Установить драйвер Версия: 8.0.14.1

3. Описание методов специфичных для типов подключаемого оборудования

3.1. Требования к разработке драйверов для электронных весов

Конфигурациями поддерживаются следующие возможности работы с весами on-line:

  1. Ввод значения веса тары, используемой для упаковки взвешиваемого товара.
  2. Получение значения веса товара за вычетом веса тары.
Описание методов
Название (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)ОбязательноеLONGPLU товара (Индекс товара в весах)
КодТовара (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]

Cтроки, содержащий информацию для отображения на дисплее
ОчиститьДисплейПокупателя (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. Требования к разработке драйверов для фискальных регистраторов

При работе с фискальными регистраторами (принтерами чеков для ЕНВД) поддерживаются основные операции:

Алгоритм печати чека ККМ.

При формировании чеков ККМ, конфигурация посылает команду на открытие нового чека. В зависимости от переданного параметра чек открывается в фискальном или нефискальном режиме.

В режиме открытого чека производится печать фискальной или не фискальной строки. При печати фискальной строки рассчитываются скидки. Если рассчитанное по формуле "Цена*КоличествоСумма по строке" значение отлично от 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ОбязательноеLONGPLU товара
Штрихкод (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ОбязательноеLONGPLU товара
Цена (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. При инициализации объекта компоненты ему передается указатель на интерфейс "1С:Предприятия", с помощью которого можно вызывать метод:
    HRESULT ExternalEvent(BSTR bstrWho, BSTR bstrWhat, BSTR bstrData)
  2. При каждом успешном считывании кода сканером или считывателем драйвер должен вызывать метод HRESULT ExternalEvent(BSTR bstrWho, BSTR bstrWhat, BSTR bstrData).
  3. Переданные данные размещаются в очереди сообщений. Сообщения из очереди обрабатываются только после обработки всех системных сообщений "1С:Предприятия". При переполнении очереди полученные сообщения игнорируются.

Описание методов, доступных для асинхронного вызова из драйвера*

Описание методов
Название (alias)ПараметрыТип возвращаемого значенияОписание метода
ИмяТипОписание
ExternalEventbstrWhoBSTR [IN]Уникальный идентификатор подключенного устройства **

HRESULT

Помещает данные, полученные от сканера/считывателя в очередь сообщений
bstrWhatBSTR [IN]Тип сообщения/тип данных ***
bstrDataBSTR [IN]Считанные устройством данные
SetEventBufferDepthlDepthBSTR [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С:Предприятия", содержание этого поля должно отвечать требованиям конкретной эквайринговой системы и может, кроме непосредственно номера карты, содержать дополнительную информацию , считанную с карты.


Нас находят: Какое значение возвращает метод ВернутьПлатежПоПлатежнойКарте?, какое значение возвращает метод вернутьплатежпоплатежнойкарте в 1с, Какое значение возвращает метод ВернутьПлатежПоПлатежнойКарте, Некорректное значение параметра DeviceID, Требования к разработке драйверов подключаемого оборудования версия 1 2, метод ВернутьПлатежПоПлатежнойКарте, Некорректное значение параметра DeviceID Операция печати чека отменена , Объект Драйвер НапечататьОтчетБезГашения, требования к разработке драйверов подключаемого оборудования версия 1 1, 1c PrintSlipOnTerminal


Подписка на новости RSS     Добавьте в закладки Google fusion     Мы в Google+    

 

Мы ВКонтакте

 

Мы на Facebook