Работа с торговым оборудованием
17.06.2009
Система программ 1С:Предприятие поддерживает обмен данными с различными моделями фискальных регистраторов по согласованной технологии (рис.1).
Рис.1
Конфигурация системы программ "1С:Предприятие 8" взаимодействует с обработками обслуживания фискальных регистраторов.
Обработки обслуживания фискальных регистраторов взаимодействуют с внешними компонентами для фискальных регистраторов (драйверами для интеграции с "1С:Предприятие 8").
Внешняя компонента (далее по тексту "драйвер") может взаимодействовать:
Общие требования к драйверу:
Драйвер должен:
Система 1С:Предприятие (в дальнейшем "система") инициализирует соединение с драйвером и загружает его. Далее устанавливаются конфигурационные параметры, необходимые для работы. Подключение к устройству выполняется при начале операции с устройством торгового оборудования.
Система посылает команду на открытие нового чека. В зависимости от переданного параметра чек открывается в фискальном или нефискальном режиме. Если чек уже открыт, то, в зависимости от значения переданного параметра "АннулироватьОткрытыйЧек", драйвер аннулирует (отменяет) предыдущий чек или возвращает ошибку, что чек уже был открыт.
"Печать строки"
По окончании печати происходит закрытие чека. Если открывался фискальный чек, то при закрытии происходит печать итогов и суммы оплаты и чек отрезается. Если открывался нефискальный, то происходит просто отрез чека. Отрез чека производится при условии, что данная операция поддерживается принтером, в противном случае достаточно протянуть ленту на несколько строк с тем, чтобы чек находился над линией отрыва.Отключение от устройства выполняется при окончании операции с устройством.
Соединение с драйвером закрывается только при завершении работы системы.
Описание свойств | ||||
---|---|---|---|---|
Название (alias) |
Тип |
Доступность |
Описание |
|
Чтение |
Запись | |||
Описание методов | |||||
---|---|---|---|---|---|
Название (alias) |
Параметры |
Возвращаемое значение |
Описание | ||
Имя |
Тип |
Описание | |||
ПолучитьНомерВерсии (GetVersion) | - | - | - | BSTR | Возвращает номер версии драйвера |
ПолучитьОшибку (GetLastError) | ОписаниеОшибки (ErrorDescription) |
BSTR [OUT] | Описание ошибки | LONG | Возвращает код и описание последней произошедшей ошибки |
Подключить (Open) | МассивЗначений (ValuesArray) |
IDispatch* |
Массив значений для настройки подключения |
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* |
Массив значений для настройки подключения |
BOOL | Выполняет пробное подключение и опрос устройства. При успешном выполнении подключения в описании возвращается описание устройства. При отрицательном результате возвращается описание возникшей проблемы при подключении. |
ДополнительноеОписание (AdditionalDescription) |
BSTR | Описание результата выполнения теста |
Дополнительное описание:
"МассивЗначений" (пример значений для устройства, подключаемого на последовательном порту)
Тип данных "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 | В свойстве передается текст, используемый для печати в чеке и описывающий тип оплаты "Кредитом" |