Требования к разработке внешних обработок обслуживания торгового оборудования
В данном разделе содержится описание структуры внешних обработок обслуживания торгового оборудования, используемых в текущих конфигурациях системы
"1С:Предприятие 8.1", в которых используется подключение торгового оборудования, и методика их создания. Также раздел содержит внешнюю обработку, которую можно использовать в качестве основы для создания обработок обслуживания конкретных экземпляров торгового оборудования.
ВАЖНО
Данная методика неприменима для более ранних редакций, разработанных для системы "1С:Предприятие 8.0"!
В данной статье рассмотренно следующее:
Общие сведения
Общие требования
Процедуры и функции
Общие
Функция "ПолучитьВерсиюAPI"
Функция "ПолучитьОписание"
Функция "СоздатьОбъектДрайвера"
Функция "ПолучитьОписаниеСобытий"
Функция "Подключить"
Функция "ТестУстройства"
Функция "ПолучитьИмяИсточникаВнешнегоСобытия"
Процедура "Отключить"
Процедура "НастроитьОборудование"
Дисплеи покупателя
Функция "Очистить"
Функция "Вывод"
ККМ в режиме Off-Line
Функция "ПолучитьПараметрыВыгрузки"
Функция "ВыгрузитьТовары"
Функция "ЗагрузитьОтчет"
Функция "ОтчетЗагружен"
ККМ в режиме On-Line
Функция "ОбработатьСобытие"
Функция "ОбработатьРезультатЗапроса"
Сканеры штрихкода
Функция "ОбработатьСобытиеСШК"
Процедура "СобытиеОбработано"
Терминалы сбора данных
Функция "НачатьВыгрузку"
Функция "ВыгрузитьСтроку"
Функция "ЗавершитьВыгрузку"
Функция "НачатьЗагрузку"
Функция "ЗагрузитьСтроку"
Функция "ЗавершитьЗагрузку"
Фискальные регистраторы
Функция "ПолучитьПараметрыНаличнойОплаты"
Функция "XОтчет"
Функция "ZОтчет"
Функция "Сумма"
Функция "ОткрытьЧек"
Функция "ПечататьСтроку"
Функция "АннулироватьЧек"
Функция "ЗакрытьЧек"
Функция "НапечататьСтроки"
Электронные весы
Функция "Тарирование"
Функция "Вес"
Устройства для считывания магнитных карт
Функция "ОбработатьСобытиеСМК"
Процедура "СобытиеОбработано"
Электронные весы Off-Line
Функция "НачатьВыгрузку"
Функция "Выгрузить"
Функция "ЗавершитьВыгрузку"
Считывателей RFID меток
Функция "ПолучитьКоличествоМетокRFID"
Функция "ПрочитатьДанныеИзМетокRFID"
Функция "ЗаписатьДанныеВМеткиRFID"
Функция "ОткрытьСессиюRFID"
Функция "ЗакрытьСессиюRFID"
Функция "ОбработатьСобытиеОтRFID"
Процедура "СобытиеОбработано"
Эквайринговые системы
Функция "ОплатитьПлатежнойКартой"
Функция "ВернутьПлатежПоПлатежнойКарте"
Функция "ОтменитьПлатежПоПлатежнойКарте"
Функция "ИтогиДняПоКартам"
Функция "ПоддерживаетсяСверкаИтогов"
Шаблон обработки обслуживания
Общие сведения
Обработка обслуживания представляет обработку системы "1С:Предприятие", предназначенную для работы с торговым оборудованием. Основным предназначением обработок обслуживания является локализация изменений в конфигурации при необходимости добавления новых моделей торгового оборудования (модели оборудования, не поддерживаемые конфигурацией) или при необходимости модификации существующего кода, осуществляющего взаимодействие с торговым оборудованием. В более ранних редакциях типовых конфигураций в основном разработанные для "1С:Предприятие 8.0" обработки обслуживания были реализованы в виде форм обработки "Торговое оборудования".
Общая схема взаимодействия с торговым оборудованием при помощи внешних обработок обслуживания приведена на рисунке. Конфигурация взаимодействует с обработками обслуживания посредством стандартизованного их интерфейса (API). Обработки обслуживания с помощью внешних компонент взаимодействуют с драйверами (или любым другим программным обеспечением) конкретного экземпляра подключенного торгового оборудования, таким образом, исполняя роль "посредника". В случае, когда возникает внешнее событие, конфигурация передаёт информацию о нём соответствующей обработке обслуживания, которая и обрабатывает это событие. Таким образом, для подключения новых моделей торгового оборудования нет более необходимости вносить изменения в саму конфигурацию. Настройка параметров работы устройств (порт, к которому подключено устройство, скорость передачи данных и т.д.) также выполняется средствами обработки обслуживания - каждая обработка обслуживания обязана иметь форму настройки параметров работы поддерживаемых ей моделей торгового оборудования (моделей оборудования, для которых эта обработка была создана).
ПРИМЕЧАНИЕ
Обработка обслуживания может поддерживать работу только с одной внешней компонентой торгового оборудования одного вида торгового оборудования (только фискальные регистраторы, только сканеры штрихкода и т.д.). В случае, если необходимо реализовать поддержку нескольких устройств разного вида или разных компонент одного вида, то для каждого из них необходимо будет создать собственную обработку обслуживания.Общие требования
ВАЖНО
Допускается изменение набора экспортируемых модулем обработки обслуживания процедур и функций (фактически, обязательной для всех обработок обслуживания является только эта функция), но с одним ограничением: конфигурация определяет состав экспортируемых процедур и функций по номеру версии API по следующему правилу - целая часть номера версии API определяет базовый набор процедур и функций, дробная часть - дополнения к базовому набору. Таким образом, в случае, если конфигурация поддерживает API версии X.0 она также будет работать со всеми обработками обслуживания с API версий X.YZ.
// Функция возвращает номер версии API, поддерживаемой обработкой обслуживания.
//
// Номер версии задаётся следующим образом: Ver = Vmajor + Vminor / 100.0.
// Например, в случае, если данная функция возвращает значение "2.01", это
// означает, что данная обработка имеет версию "2.1", полностью поддерживает
// версию "2.0" и содержит некоторые дополнительные элементы.
// В случае, если отличается целая часть версии (например, "1.1"), то это
// означает, что данная обработка несовместима с версией API "2.1".
//
// Функция является обязательной для любой версии API.
//
// Параметры:
// Нет
//
// Возвращаемое значение:
// <Число> - Версия API обработки обслуживания.
//
Функция ПолучитьВерсиюAPI() Экспорт
ВАЖНО
Следует отличать номер версии API от номера версии обработки обслуживания. В то время, как версия API определяет версию интерфейса взаимодействия обработки обслуживания, версия обработки определяет реализацию этого интерфейса. Пояснить сказанное можно на следующем примере: в опубликованной обработке обслуживания была обнаружена ошибка, которая впоследствии была исправлена. Для публикации исправленной обработки необходимо изменить номер её версии. Номер версии API при этом не изменяется. Также следует пояснить роль идентификатора: идентификатор позволяет конфигурации отличать одну обработку обслуживания от другой. Идентификатор не зависит от номера версии обработки: две обработки обслуживания с одинаковыми идентификаторами но разными версиями считаются одной и той же обработкой обслуживания. В качестве идентификатора необходимо использовать текстовое представление глобального уникального идентификатора (GUID).
// Функция возвращает описание текущей обработки обслуживания
// (API v2.0).
//
// Данная функция позволяет серверу получить информацию об обработке
// обслуживания. Функция является обязательной для версий 2.X API.
//
// Параметры:
// Нет
//
// Возвращаемое значение:
// <Структура> - Структура, содержащая описание текущей обработки.
// Структура имеет следующие поля:
//
// Вид - <ПеречислениеСсылка.ВидыТорговогоОборудования>
// - Вид торгового оборудования, поддерживаемый
// данной обработкой обслуживания.
//
// СписокМоделей - <Массив>
// - Список поддерживаемых обработкой моделей
// торгового оборудования.
//
// Наименование - <Строка>
// - Наименование обработки обслуживания.
//
// Описание - <Строка>
// - Описание обработки обслуживания.
//
// ВерсияОбработки - <Число>
// - Номер версии обработки обслуживания
// (не версии API!!!).
// Данный параметр используется при
// обновлении.
// Номер версии задаётся следующим образом:
// Ver = Vmajor + Vminor / 100.0.
//
// Идентификатор - <Строка>
// - Строковое представление уникального
// идентификатора, соответствующего данной
// обработке обслуживания.
//
//
Функция ПолучитьОписание() Экспорт
ВАЖНО
Следует отметить, что в обязанности данной функции не входит подключение оборудования, она создаёт лишь объект, необходимый для последующего с ним взаимодействия. Подключение оборудования осуществляется при помощи функции "Подключить"
// Функция создаёт объект драйвера.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Выходной параметр; объект драйвера торгового
// оборудования.
//
// Модель - <Строка>
// - Модель торгового оборудования, для которой
// создаётся экземпляр драйвера.
//
// Параметры - <Строка>
// - Параметры подключаемого торгового оборудования.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция СоздатьОбъектДрайвера(Объект, Модель, Параметры) Экспорт
ВАЖНО
В том случае, если при работе с оборудованием не возникают внешние события, функция обязана вернуть пустую таблицу.
// Функция возвращает набор событий драйвера и параметры их обработки для
// заданной модели торгового оборудования.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Возвращаемое значение:
// <ТаблицаЗначений> - Таблица значений, содержащая информацию о внешних
// событиях, генерируемых драйвером.
// Таблица имеет следующие колонки:
// "ИмяСобытия" - <Строка> - Имя внешнего события.
//
Функция ПолучитьОписаниеСобытий(Объект) Экспорт
// Функция осуществляет подключение устройства.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция Подключить(Объект) Экспорт
ВАЖНО
В обязанности данной функции входит проверка корректности подключения оборудования. В ходе её выполнения, безусловно, допускается его подключение, но до завершения работы функции оборудование необходимо отключить. Следует также отметить, что, в случае обнаружения ошибок, функция обязана записать описание ошибки и осмысленную рекомендацию для пользователя, как ему следует действовать дальше, параметр Объект.ОписаниеОшибки.
// Функция осуществляет проверку правильности настройки и подключения
// торгового оборудования.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера устройства, проверка
// которого предполагается.
//
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция ТестУстройства(Объект) Экспорт
// Возвращает имя источника внешнего события
// (API v2.1)
//
// Параметры:
// Объект - <*>
// - Объект драйвера устройства.
//
// Возвращаемое значение:
// <Строка> - Имя внешнего источника события.
//
Функция ПолучитьИмяИсточникаВнешнегоСобытия(Объект) Экспорт
ВАЖНО
Данная процедура не должна удалять объект драйвера. В её обязанности входит только разрыв соединения с устройством.
// Процедура осуществляет отключение устройства.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
Процедура Отключить(Объект) Экспорт
// Процедура осуществляет вызов формы настройки торгового оборудования.
// (API v2.0)
//
// Параметры:
// Модель - <Строка>
// - Модель настраиваемого оборудования.
//
// Параметры - <Структура>
// - Входной/выходной параметр; структура параметров.
//
Процедура НастроитьОборудование(Модель, Параметры) Экспорт
// Функция осуществляет очистку дисплея покупателя.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера дисплея покупателя, очистка
// которого предполагается.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция Очистить(Объект) Экспорт
ПРИМЕЧАНИЕ
Передаваемая строка может содержать символы перевода строки.
// Функция осуществляет вывод строк на дисплей покупателя.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера дисплея покупателя, очистка
// которого предполагается.
//
// Данные - <Массив>
// - Массив строк, выводимые на дисплей.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция Вывод(Объект, Данные) Экспорт
// Функция возвращает параметры выгрузки товаров в ККМ Off-Line.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Штрихкоды - <Булево>
// - Выходной параметр; данная модель
// ККМ позволяет выгружать только те товары,
// для которых назначены штрихкоды.
//
// ВесовойТовар - <Булево>
// - Данная модель ККМ поддерживает работу с
// весовыми товарами.
//
// ТипыШтрихкодов - <Массив>
// - Массив типов штрихкодов, поддерживаемых ККМ.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция ПолучитьПараметрыВыгрузки(Объект, Штрихкоды, ВесовойТовар, ТипыШтрихкодов) Экспорт
// Функция осуществляет выгрузку таблицы товаров в ККМ, подключенную в режиме Off-Line.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Товары - <ТаблицаЗначений>
// - Таблица товаров, подлежащих загрузке в ККМ.
// Таблица имеет следующие колонки:
// ПЛУ - <Число>
// - Идентификатор товара на кассе.
// Номенклатура - <СправочникСсылка.Номенклатура>
// - Номенклатура.
// ВесовойТовар - <Булево>
// - Товар является весовым.
// ЕдиницаИзмерения - <СправочникСсылка.ЕдиницыИзмерения>
// - Единица измерения номенклатуры.
// ХарактеристикаНоменклатуры - <СправочникСсылка.ХарактеристикиНоменклатуры>
// - Характеристика номенклатуры.
// СерияНоменклатуры - <СправочникСсылка.СерииНоменклатуры>
// - Серия номенклатуры.
// Цена - <Число>
// - Цена номенклатуры.
// КодТовара - <Число>, <Строка>
// - Код весового товара (для весовых товаров),
// или штрихкод (для штучного товара).
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция ВыгрузитьТовары(Объект, Товары) Экспорт
// Функция осуществляет загрузку отчёта о продажах из ККМ, подключаемой в режиме Off-Line.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Отчет - <ТаблицаЗначений>
// - Выходной параметр; таблица, содержащая данные
// о продажах за смену. Таблица содержит
// следующие колонки:
// ПЛУ - <Число>
// - Идентификатор проданного (возвращённого)
// товара.
// Количество - <Число>
// - Количество проданного (>0) или
// возвращённого (<0) товара.
// Цена - <Число>
// - Цена за единицу товара.
// Сумма - <Число>
// - Сумма позиции: >0 - продажа, <0 - возврат.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция ЗагрузитьОтчет(Объект, Отчет) Экспорт
ВАЖНО
Данная функция обязана закрыть смену на ККМ, или вывести предупреждение для пользователя о необходимости сделать это самостоятельно.
// Функция вызывается после того, как был загружен и обработан отчёт о продажах.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция ОтчетЗагружен(Объект) Экспорт
// Функция осуществляет обработку события ККМ, подключаемой в режиме On-Line.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Событие - <Строка>
// - Название события.
//
// Данные - <Строка>
// - Данные, связанные с событием.
//
// Параметры - <Структура>, <Неопределено>
// - Выходной параметр; структура, описывающая
// операцию, инициируемую данным событием.
// В случае, если событие не инициирует
// новую операцию, возвращается "Неопределено".
// Данная структура имеет следующие поля:
// Операция - <Строка>
// - Строка, содержащая одно из следующих
// значений: "ЗапросИнформации", "Чек".
// Операция "ЗапросИнформации" инициируется,
// когда ККМ необходимо получить информацию
// о некотором товаре. Операция "Чек"
// инициируется после закрытия чека на ККМ.
// Штрихкод - <Строка>
// - Данное поле существует в случае,
// если Операция = "ЗапросИнформации".
// Оно содержит штрихкод запрашиваемого
// товара.
// Товары - <ТаблицаЗначений>
// - Данное поле существует в случае,
// если Операция = "Чек".
// Оно содержит таблицу позиций чека.
// Таблица имеет следующие колонки:
// Штрихкод - <Строка>
// - Штрихкод продаваемого товара.
// Количество - <Число>
// - Количество товара.
// Цена - <Число>
// - Цена товара.
// Сумма - <Число>
// - Сумма позиции чека.
// Возврат - <Булево>
// - Данное поле существует в случае,
// если Операция = "Чек".
// Оно содержит признак того, что
// сформированный чек является чеком
// на возврат.
//
// Наличные - <Число>
// - Данное поле существует в случае,
// если Операция = "Чек".
// Оно содержит сумму оплаты наличными.
//
// Безнал - <Число>
// - Данное поле существует в случае,
// если Операция = "Чек".
// Оно содержит сумму оплаты безнал.
//
// НомЧека - <Число>
// - Данное поле существует в случае,
// если Операция = "Чек".
// Оно содержит номер текущего чека.
//
// НомСмены - <Число>
// - Данное поле существует в случае,
// если Операция = "Чек".
// Оно содержит номер текущей смены.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция ОбработатьСобытие(Объект, Событие, Данные, Параметры) Экспорт
// Функция осуществляет обработку запроса ККМ о товаре.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Данные - <Структура>, <Неопределено>
// - В случае, если товар не был найден,
// или его добавление в чек невозможно,
// данный параметр принимает значение
// Неопределено. Иначе данный параметр
// содержит структуру, описывающую товар,
// информация о котором запрашивается.
// Данная структура имеет следующие поля:
// Номенклатура - <СправочникСсылка.Номенклатура>
// - Номенклатура, которой соответствует
// отсканированный штрихкод.
// ЕдиницаИзмерения - <СправочникСсылка.ЕдиницыИзмерения>
// - Единица измерения номенклатуры.
// ХарактеристикаНоменклатуры - <СправочникСсылка.ХарактеристикиНоменклатуры>
// - Характеристика номенклатуры.
// СерияНоменклатуры - <СправочникСсылка.СерииНоменклатуры>
// - Серия номенклатуры.
// Качество - <СправочникСсылка.Качество>
// - Качество номенклатуры.
// Количество - <СправочникСсылка.Количество>
// - Количество номенклатуры.
// Цена - <Число>
// - Цена за единицу номенклатуры.
// Скидка - <Число>
// - Процент скидки (>0) или наценки (<0).
// НомерСекции - <Число>
// - Номер секции, которой соответствует
// данная продажа.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция ОбработатьРезультатЗапроса(Объект, Данные) Экспорт
ПРИМЕЧАНИЕ
Перед завершением работы функции желательно отключить генерацию внешних событий сканером.
// Функция осуществляет обработку внешних событий торгового оборудования.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Событие - <Строка>
// - Строка, идентифицирующая событие.
//
// Данные - <Строка>
// - Данные, связанные с событием.
//
// ШК - <Строка>
// - Выходной параметр; считанный сканером штрихкод.
//
// ТипШК - <ПланыВидовХарактеристикСсылка.ТипыШтрихкодов>
// - Тип штрихкода либо пустая ссылка в случае,
// если тип определить невозможно.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция ОбработатьСобытиеСШК(Объект, Событие, Данные, ШК, ТипШК) Экспорт
ВАЖНО
В случае, если в предыдущей функции генерация внешних событий была приостановлена, процедура обязана её возобновить.
// Процедура вызывается, когда система готова принять следующее событие от устройства.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
Процедура СобытиеОбработано(Объект) Экспорт
// Функция осуществляет инициализацию процедуры выгрузки данных в терминал
// сбора данных.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция НачатьВыгрузку(Объект) Экспорт
// Функция осуществляет выгрузку строки в терминал сбора данных.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Штрихкод - <Строка>
// - Штрихкод товара.
//
// Номенклатура - <СправочникСсылка.Номенклатура>
// - Номенклатура.
//
// ЕдиницаИзмерения - <СправочникСсылка.ЕдиницыИзмерения>
// - Единица измерения номенклатуры.
//
// ХарактеристикаНоменклатуры - <СправочникСсылка.ХарактеристикиНоменклатуры>
// - Характеристика номенклатуры.
//
// СерияНоменклатуры - <СправочникСсылка.СерииНоменклатуры>
// - Серия номенклатуры.
//
// Качество - <СправочникСсылка.Качество>
// - Качество.
//
// Цена - <Число>
// - Цена номенклатуры.
//
// Количество - <Число>
// - Количество номенклатуры.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции
//
Функция ВыгрузитьСтроку(Объект, Штрихкод, Номенклатура, ЕдиницаИзмерения,
ХарактеристикаНоменклатуры, СерияНоменклатуры,
Качество, Цена, Количество) Экспорт
// Функция осуществляет деинициализацию процедуры выгрузки данных в терминал
// сбора данных.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция ЗавершитьВыгрузку(Объект) Экспорт
// Функция осуществляет инициализацию процедуры загрузки данных из терминала
// сбора данных.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Количество - <Число>
// - Выходной параметр; количество записей в терминале
// сбора данных.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция НачатьЗагрузку(Объект, Количество) Экспорт
// Функция осуществляет загрузку строки из терминала сбора данных.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Штрихкод - <Строка>
// - Штрихкод, соответствующий данной номенклатуре.
//
// Количество - <Число>
// - Выходной параметр; количество номенклатуры.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция ЗагрузитьСтроку(Объект, Штрихкод, Количество) Экспорт
// Функция осуществляет деинициализацию процедуры загрузки данных из терминала
// сбора данных.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция ЗавершитьЗагрузку(Объект) Экспорт
// Функция возвращает параметры отражения в чеке наличной оплаты от юридических
// лиц.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера ФР.
//
// НомерОтдела - <Число>
// - Выходной параметр; номер отдела, используемый
// для вывода чека.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат выполнения операции.
//
Функция ПолучитьПараметрыНаличнойОплаты(Объект, НомерОтдела) Экспорт
// Функция осуществляет снятие X-отчёта на ФР.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера ФР.
//
// Пароль - <Число>
// - Пароль пользователя ФР.
//
// НомерЧека - <Число>
// - Выходной параметр; номер чека ФР.
//
// НомерСмены – <Число>
// - Выходной параметр; номер текущей смены ФР.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат выполнения операции.
//
Функция XОтчет(Объект, Пароль, НомерЧека, НомерСмены) Экспорт
// Функция осуществляет снятие Z-отчёта на ФР.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера ФР.
//
// Пароль - <Число>
// - Пароль пользователя ФР.
//
// НомерЧека - <Число>
// - Выходной параметр; номер чека ФР.
//
// НомерСмены – <Число>
// - Выходной параметр; номер текущей смены ФР.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат выполнения операции.
//
Функция ZОтчет(Объект, Пароль, НомерЧека, НомерСмены) Экспорт
// Функция осуществляет внесение (сумма > 0) или изъятие (сумма < 0) суммы на ФР.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера ФР.
//
// Пароль - <Число>
// - Пароль пользователя ФР.
//
// Сумма - <Число>
// - Вносимая сумма.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат выполнения операции.
//
Функция Сумма(Объект, Пароль, Сумма) Экспорт
// Функция осуществляет открытие чека на ФР.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера ФР.
//
// Пароль - <Число>
// - Пароль пользователя ФР.
//
// ЭтоВозврат - <Булево>
// - Истина в случае, если открывается чек на возврат.
//
// НомерЧека - <Число>
// - Выходной параметр; номер чека ФР.
//
// НомерСмены – <Число>
// - Выходной параметр; номер текущей смены ФР.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат выполнения операции.
//
Функция ОткрытьЧек(Объект, Пароль, ЭтоВозврат, НомерЧека, НомерСмены) Экспорт
// Функция осуществляет печать строки чека на ФР.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера ФР.
//
// Наименование - <Строка>
// - Описание товара, отображаемое в чеке.
//
// Количество - <Число>
// - Количество выводимой номенклатуры.
//
// Цена - <Число>
// - Цена выводимой номенклатуры за единицу.
//
// Скидка - <Число>
// - Скидка в % на выводимую номенклатуру.
// В случае, если это значение < 0, абсолютное
// значение данного параметра считается наценкой.
//
// Отдел - <Число>
// - Номер отдела (секции), которой соответствует данная строка.
//
// НДС - <Число>
// - Ставка НДС в %
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат выполнения операции.
//
Функция ПечататьСтроку(Объект, Наименование, Количество, Цена,
Скидка, Отдел, НДС) Экспорт
// Функция осуществляет аннулирование текущего открытого чека на ФР.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера ФР.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат выполнения операции.
//
Функция АннулироватьЧек(Объект) Экспорт
// Функция осуществляет закрытие текущего открытого чека на ФР.
// (API v1.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера ФР.
//
// СуммаНал - <Число>
// - Сумма, внесённая наличными.
//
// СуммаБезнал - <Число>
// - Сумма, внесённая при помощи карты.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат выполнения операции.
//
Функция ЗакрытьЧек(Объект, СуммаНал, СуммаБезнал) Экспорт
// Функция осуществляет построчную печать нефискального чека из переданного массива строк.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера ФР.
//
// МассивСтрок - <Массив>
// - Массив строк для печати.
//
// Ширина - <Число>
// - Ширина чековой ленты.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат выполнения операции.
//
Функция НапечататьСтроки(Объект, МассивСтрок, Ширина) Экспорт
// Функция задаёт вес тары на электронных весах.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// ВесТары - <Число>
// - Вес тары.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция Тарирование(Объект, ВесТары) Экспорт
// Функция получает текущий вес.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Вес - <Число>
// - Выходной параметр; текущий вес.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция Вес(Объект, Вес) Экспорт
ПРИМЕЧАНИЕ
Перед завершением работы функции желательно отключить генерацию внешних событий устройством.
// Функция осуществляет обработку внешних событий торгового оборудования.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Событие - <Строка>
// - Строка, идентифицирующая событие.
//
// Данные - <Строка>
// - Данные, связанные с событием.
//
// КодКарты - <Строка>
// - Выходной параметр; код считанной карты.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция ОбработатьСобытиеСМК(Объект, Событие, Данные, КодКарты) Экспорт
ВАЖНО
В случае, если в предыдущей функции генерация внешних событий была приостановлена, процедура обязана её возобновить.
// Процедура вызывается, когда система готова принять следующее событие от устройства.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
Процедура СобытиеОбработано(Объект) Экспорт
// Функция осуществляет инициализацию процедуры выгрузки данных в весы,
// подключенные в режиме Off-Line.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция НачатьВыгрузку(Объект) Экспорт
// Функция осуществляет выгрузку позиции в весы, подключенные в режиме Off-Line.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// PLU - <Число>
// - Номер PLU.
//
// КодТовара - <Число>
// - Код товара.
//
// Наименование - <Строка>
// - Наименование номенклатуры.
//
// Цена - <Число>
// - Цена номенклатуры.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция Выгрузить(Объект, PLU, КодТовара, Наименование, Цена) Экспорт
// Функция осуществляет деинициализацию процедуры выгрузки данных в весы,
// подключенные в режиме Off-Line.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция ЗавершитьВыгрузку(Объект) Экспорт
// Производит обнаружение меток в поле считывателя и возвращает в параметре количество обнаруженных меток.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера RFID.
//
// КоличествоМеток – <Число>
// - Возвращается количество меток в поле считывателя
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ОшибкиПриРаботеСТорговымОборудованием>
// - Результат работы функции.
//
Функция ПолучитьКоличествоМетокRFID(Объект, КоличествоМеток) Экспорт
//Считывает все данные из обнаруженных меток и возвращает в параметре структуру, содержащую идентификаторы меток и данные.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера RFID.
//
// КоличествоМеток – <Число>
// - Передается количество обнаруженных
// меток в поле считывателя
//
// Данные – <Структура>
// - Возвращаются данные, прочитанные из меток
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ОшибкиПриРаботеСТорговымОборудованием>
// - Результат работы функции.
//
Функция ПрочитатьДанныеИзМетокRFID(Объект, КоличествоМеток, Данные) Экспорт
// Записывает переданные данные в метки, находящиеся в поле считывателя.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера RFID.
//
// КоличествоМеток – <Число>
// - Передается количество обнаруженных
// меток в поле считывателя
//
// ДанныеДляЗаписи – <Строка>
// - Передается строка с данными, которые
// будут записаны во все обнаруженные метки
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ОшибкиПриРаботеСТорговымОборудованием>
// - Результат работы функции.
//
Функция ЗаписатьДанныеВМеткиRFID(Объект, КоличествоМеток, ДанныеДляЗаписи) Экспорт
// Открывает новую сессию для чтения данных из меток, попадающих в поле считывателя.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера RFID.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ОшибкиПриРаботеСТорговымОборудованием>
// - Результат работы функции.
//
Функция ОткрытьСессиюRFID(Объект) Экспорт
// Закрывает открытую ранее сессию.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера RFID.
//
// ИгнорироватьМеткиВПоле – <Строка>
// - Признак проверки меток в поле
// "Истина" - если есть метки в поле,
// то сессия не закрывается
// и возвращается ошибка
// "Ложь" - если есть метки в поле,
// то сессия закрывается и
// возвращается количество
// обнаруженных меток в поле
//
// КоличествоМеток – <Число>
// - Передается количество обнаруженных
// меток в поле считывателя
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ОшибкиПриРаботеСТорговымОборудованием>
// - Результат работы функции.
//
Функция ЗакрытьСессиюRFID(Объект, ИгнорироватьМеткиВПоле, КоличествоМеток) Экспорт
// Обрабатывает событие, пришедшее от считывателя RFID меток.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера RFID.
//
// Событие – <Строка>
// - Имя полученного события
//
// Данные – <Строка>
// - Данные полученные из компоненты
//
// ДанныеИзМеток – <Структура>
// - Возвращаются полученные данные,
// преобразованные во внутреннюю структуру
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ОшибкиПриРаботеСТорговымОборудованием>
// - Результат работы функции.
//
Функция ОбработатьСобытиеОтRFID(Объект, Событие, Данные, ДанныеИзМеток) Экспорт
// Процедура вызывается, когда система готова принять следующее событие от устройства.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера RFID.
//
// РезультатОбработки – <Булево>
// - Оповещает драйвер о том, что
// событие системой было получено.
// Параметр "ФлагСостояния" указывает
// на успешность обработки.
//
// Возвращаемое значение:
//
Процедура СобытиеОбработано(Объект, РезультатОбработки) Экспорт
// Функция осуществляет авторизацию (оплату) по карте.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера ЭС.
//
// Сумма - <Число>
// - Сумма к оплате по карте
//
// КодRRN - <Строка>
// - Уникальный код RRN транзакции
//
// КодАвторизации - <Строка>
// - Возвращается код авторизации транзакции
//
// КодОперации - <Строка>
// - Последовательный код операции
//
// МассивСтрокСлипЧека - <Структура>
// - Массив строк слип-чека, сформированного
// после успешного выполнения операции
//
// ШиринаЧека - <Число>
// - Ширина слип-чека, установленная в параметрах настройки
//
// КоличествоКопий - <Число>
// - Количество печатаемых копий слип-чека
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ОшибкиПриРаботеСТорговымОборудованием>
// - Результат работы функции.
//
Функция ОплатитьПлатежнойКартой(Объект, Сумма, КодRRN,
КодАвторизации, КодОперации,
МассивСтрокСлипЧека, ШиринаЧека, КоличествоКопий) Экспорт
// Функция осуществляет возврат платежа по карте.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера ЭС.
//
// Сумма - <Число>
// - Сумма к оплате по карте
//
// КодRRN - <Строка>
// - Уникальный код RRN транзакции
//
// КодАвторизации - <Строка>
// - Возвращается код авторизации транзакции
//
// КодОперации - <Строка>
// - Последовательный код операции
//
// МассивСтрокСлипЧека - <Структура>
// - Массив строк слип-чека, сформированного
// после успешного выполнения операции
//
// ШиринаЧека - <Число>
// - Ширина слип-чека, установленная в параметрах настройки
//
// КоличествоКопий - <Число>
// - Количество печатаемых копий слип-чека
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ОшибкиПриРаботеСТорговымОборудованием>
// - Результат работы функции.
//
Функция ВернутьПлатежПоПлатежнойКарте(Объект, Сумма, КодRRN,
КодАвторизации, КодОперации,
МассивСтрокСлипЧека, ШиринаЧека, КоличествоКопий) Экспорт
// Функция осуществляет отмену платежа по карте.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера ЭС.
//
// Сумма - <Число>
// - Сумма к оплате по карте
//
// КодRRN - <Строка>
// - Уникальный код RRN транзакции
//
// КодАвторизации - <Строка>
// - Возвращается код авторизации транзакции
//
// КодОперации - <Строка>
// - Последовательный код операции
//
// МассивСтрокСлипЧека - <Структура>
// - Массив строк слип-чека, сформированного
// после успешного выполнения операции
//
// ШиринаЧека - <Число>
// - Ширина слип-чека, установленная в параметрах настройки
//
// КоличествоКопий - <Число>
// - Количество печатаемых копий слип-чека
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ОшибкиПриРаботеСТорговымОборудованием>
// - Результат работы функции.
//
Функция ОтменитьПлатежПоПлатежнойКарте(Объект, Сумма, КодRRN,
КодАвторизации, КодОперации,
МассивСтрокСлипЧека, ШиринаЧека, КоличествоКопий) Экспорт
// Функция осуществляет сверку итогов по картам.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера ЭС.
//
// МассивСтрокСлипЧека - <Структура>
// - Массив строк слип-чека, сформированного
// после успешного выполнения операции
//
// ШиринаЧека - <Число>
// - Ширина слип-чека, установленная в параметрах настройки
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ОшибкиПриРаботеСТорговымОборудованием>
// - Результат работы функции.
//
Функция ИтогиДняПоКартам(Объект, МассивСтрокСлипЧека, ШиринаЧека) Экспорт
// Проверяется возможность выполнения операции "Сверка итогов"
// (API v2.0)
//
// Параметры:
//
// Возвращаемое значение:
// <Булево> - Признак поддержки операции "сверка итогов".
//
Функция ПоддерживаетсяСверкаИтогов() Экспорт
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua