Работа с торговым оборудованием
17.06.2009

Требования к разработке драйверов для фискальных регистраторов для платформы "1С:Предприятие 8.1"

Введение

Система программ 1С:Предприятие поддерживает обмен данными с различными моделями фискальных регистраторов по согласованной технологии (рис.1).

Рис.1

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

Обработки обслуживания фискальных регистраторов взаимодействуют с внешними компонентами для фискальных регистраторов (драйверами для интеграции с "1С:Предприятие 8").

Внешняя компонента (далее по тексту "драйвер") может взаимодействовать:

Общие требования к драйверу:

Драйвер должен:

Описание работы с драйвером

Начало работы с драйвером

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

Внесение/выемка суммы

Печать фискального/нефискального чека

Система посылает команду на открытие нового чека. В зависимости от переданного параметра чек открывается в фискальном или нефискальном режиме. Если чек уже открыт, то, в зависимости от значения переданного параметра "АннулироватьОткрытыйЧек", драйвер аннулирует (отменяет) предыдущий чек или возвращает ошибку, что чек уже был открыт.

"Печать строки"

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

Печать отчета за кассовую смену с гашением (Z-отчет) и без гашения (X-отчет)

Завершение работы

Отключение от устройства выполняется при окончании операции с устройством.

Соединение с драйвером закрывается только при завершении работы системы.

Описание свойств

Описание свойств

Название (alias)

Тип

Доступность

Описание

Чтение

Запись

         

Описание методов

Описание методов

Название (alias)

Параметры

Возвращаемое значение

Описание

Имя

Тип

Описание

ПолучитьНомерВерсии (GetVersion) - - - BSTR Возвращает номер версии драйвера
ПолучитьОшибку (GetLastError) ОписаниеОшибки
(ErrorDescription)
BSTR [OUT] Описание ошибки LONG Возвращает код и описание последней произошедшей ошибки
Подключить (Open) МассивЗначений
(ValuesArray)

IDispatch*
[IN]

Массив значений для настройки подключения

BOOL Подключает фискальный регистратор
ИДУстройства (DeviceID) BSTR[OUT] Идентификатор устройства
Отключить (Close) ИДУстройства (DeviceID) BSTR [IN] Идентификатор устройства BOOL Отключает фискальный регистратор
НапечататьОтчетБезГашения (PrintXReport) ИДУстройства (DeviceID) BSTR [IN] Идентификатор устройства BOOL Печатает на ФР отчет за смену без гашения (не закрывает кассовую смену)
НапечататьОтчетСГашением (PrintZReport) ИДУстройства (DeviceID) BSTR [IN] Идентификатор устройства BOOL Печатает на ФР отчет за смену с гашением (закрывает кассовую смену, требует административные привилегии)
НапечататьЧекВнесенияВыемки (CashInOutcome) ИДУстройства (DeviceID) BSTR [IN] Идентификатор устройства BOOL Печатает на ФР чек внесения/ выемки (зависит от переданной суммы). Сумма >= 0 - внесение, Сумма < 0 - выемка.
Сумма (Amount) DOUBLE [IN] Сумма внесения/выемки
ОткрытьЧек (OpenCheck) ИДУстройства (DeviceID) BSTR [IN] Идентификатор устройства BOOL Открывает новый чек
ФискальныйЧек (IsFiscalCheck) BOOL [IN] Признак фискального чека
ЧекВозврата (IsReturnCheck) BOOL [IN] Признак чека возврата
АннулироватьОткрытыйЧек (CancelOpenedCheck) BOOL [IN] Признак автоматического аннулирования ранее открытого чека
НомерЧека (CheckNumber) LONG [OUT] Номер нового чека
НомерСмены (SessionNumber) LONG [OUT] Номер открытой смены
НапечататьФискСтроку (PrintFiscalString) ИДУстройства (DeviceID) BSTR [IN] Идентификатор устройства BOOL Печатает строку товарной позиции с переданными реквизитами. Скидки/наценки по строке рассчитываются по формуле "Сумма - Цена*Количество". Если полученное значение отличное от 0, то в чеке печатается абсолютная (денежная) скидка(<0)/наценка(>0).
Наименование (Name) BSTR [IN] Наименование товара
Количество (Quantity) DOUBLE [IN] Количество товара
Цена (Price) DOUBLE [IN] Цена единицы товара (в формате <Рубли>,<Копейки>)
Сумма (Amount) DOUBLE [IN] Конечная сумма по позиции чека (с учетом всех скидок/наценок; в формате <Рубли>,<Копейки>)
Отдел (Department) LONG [IN] Отдел, по которому ведется продажа
НДС (Tax) DOUBLE [IN] НДС в процентах (от 0 до 99,99)
ЗакрытьЧек (CloseCheck) ИДУстройства (DeviceID) BSTR [IN] Идентификатор устройства BOOL Закрывает чек
НаличнаяОплата (Cash) DOUBLE [IN] Сумма наличной оплаты
ОплатаКартой (PayByCard) DOUBLE [IN] Сумма оплаты картой
ОплатаКредитом (PayByCredit) DOUBLE [IN] Сумма оплаты кредитом
ОтменитьЧек (CancelCheck) ИДУстройства (DeviceID) BSTR [IN] Идентификатор устройства BOOL Отменяет ранее открытый чек (требует административные привилегии)
НапечататьНефискСтроку (PrintNonFiscalString) ИДУстройства (DeviceID) BSTR [IN]   BOOL Выводит произвольную строку на чековую ленту
СтрокаТекста (TextString) BSTR [IN] Строка с произвольным текстом
ОткрытьДенежныйЯщик (OpenCashDrawer) ИДУстройства (DeviceID) BSTR [IN] Логический номер устройства, к которому подключен денежный ящик BOOL

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

ТестУстройства (DeviceTest) МассивЗначений
(ValuesArray)

IDispatch*
[IN]

Массив значений для настройки подключения

BOOL

Выполняет пробное подключение и опрос устройства. При успешном выполнении подключения в описании возвращается описание устройства. При отрицательном результате возвращается описание возникшей проблемы при подключении.
ДополнительноеОписание (AdditionalDescription)

BSTR
[OUT]

Описание результата выполнения теста

Дополнительное описание:
"МассивЗначений" (пример значений для устройства, подключаемого на последовательном порту)
Тип данных "1С:Предприятия 8" - Массив.

Наименование параметра   Наличие в структуре Типы данных Описание параметра
Порт (Port) Обязательно LONG Номер последовательного порта (1 соответствует порту COM1). свойство.
Скорость (Speed) Необязательно LONG Скорость последовательного порта, на которой подключается устройство (передается непосредственно значение 9600, 19200, 57600, 115200 и т.д.).
ПарольПользователя (UserPassword) Обязательно BSTR Пароль обычного доступа к ФР (предназначен для работы с чеками продажи и внесения/выемки).
ПарольАдминистратора (AdminPassword) Обязательно BSTR Пароль администратора (применяется там, где требуются повышенные привилегии, административные, расширяющие пользовательские права). При выполнений функций, требующих административные привилегии, "ПарольАдминистратора" сравнивается с заданным в ФР и в случае не совпадения функция прерывает выполнение и возвращает ошибку.
Таймаут (Timeout) Обязательно LONG Время, в течение которого компонента должна ожидать ответа от устройства при выполнении операций.
РегистрационныйНомерККМ (RegNumber) Обязательно BSTR В свойстве хранится регистрационный номер ККМ (только на чтение, заполняется при подключении к ФР)
СерийНомерККМ (SerialNumber) Обязательно BSTR В свойстве хранится серийный номер ККМ (только на чтение, заполняется при подключении к ФР)
ТекстОплатыКартой (PayByCardText) Необязательно BSTR В свойстве передается текст, используемый для печати в чеке и описывающий тип оплаты "Картой"
ТекстОплатыКредитом (PayByCreditText) Необязательно BSTR В свойстве передается текст, используемый для печати в чеке и описывающий тип оплаты "Кредитом"