| Выкачать инсталлятор | Версия для офлайнового просмотра |
Объект имеет имя “EQLProc.EQLProcedure” и предоставляет интерфейс IDispatch для вызова процедур кассового аппарата. В этом же интерфейсе реализованы свойства, которые позволяют управлять соединением с кассой.
Number
Номер аппарата.
Тип: строка
Умолчание: «1»
Позволяет указать кассовый аппарат для работы в виде:
Если в момент установки значения свойства сеанс связи с аппаратом был установлен, он закрывается.
Номер кассира
Тип: число
Умолчание: 1
Номер кассира, от которого открывается сеанс связи.
Если в момент установки значения свойства сеанс связи с аппаратом был установлен, он закрывается.
Пароль кассира
Тип: число
Умолчание: 1
Пароль кассира. Для установки сеанса связи пароль должен совпадать с паролем этого кассира, сохраненном в кассовом аппарате.
Если в момент установки значения свойства сеанс связи с аппаратом был установлен, он закрывается.
Имя компьютера, к которому физически подключена касса.
Тип: строка
Умолчание: пусто
Если в момент установки значения свойства сеанс связи с аппаратом был установлен, он закрывается.
Объект протокола нижнего уровня, по которому подключена касса. Пустая строка соответствует протоколу нижнего уровня NetCash95. Для связи по упрощенному протоколу нужно использовать строку L2Com.HcComSessionCreator.
Тип: строка
Умолчание: пусто
Если в момент установки значения свойства сеанс связи с аппаратом был установлен, он закрывается.
Установка и проверка активности сеанса связи.
Тип: булевский
Умолчание: ЛОЖЬ
Переключение значения свойства из ЛОЖЬ в ИСТИНА приводит к установке сеанса связи с аппаратом с текущими значениями управляющих свойств. Обратное переключение приводит к разрыву сеанса связи. Проверка значения свойства показывает открыт или закрыт сеанс связи с аппаратом.
Таймаут установки связи с кассой (мс).
Тип: число
Умолчание: 30000 (30 сек.)
Таймаут для установки следующего сеанса связи с кассой. Установка параметра не влияет на активный сеанс, если он есть.
Сообщение при установке связи с кассой.
Тип: строка
Умолчание: «Wait for init device ...»
Позволяет установить текст сообщения в окне, которое появляется при первоначальном установлении сеанса связи с кассой. Если присвоить пустое значение, окно не будет появляться вообще. Окно появляется на время InitTMO.
Установка параметра не влияет на активный сеанс, если он есть.
Сообщение при потере связи с аппаратом.
Тип: строка
Умолчание: « Wait for device turn on ...»
Текст окна, которое появляется, если кассовый аппарат не отзывается при установленном сеансе связи с ним (Например, после установки сеанса связи он был выключен или с ним нарушено физическое соединение). Если значение свойства непустое, то попытка восстановить сеанс будет продолжаться до восстановления сеанса или до нажатия пользователем кнопки “Cancel” в окне сообщения. Если значение свойства пустое – окно не показывается, и программа пытается восстановить сеанс на протяжении 30 сек.
Установка параметра не влияет на активный сеанс, если он есть.
Сообщение об отсутствии ответа от аппарата.
Тип: строка.
Умолчание: «Wait for device data ...»
Текст окна, которое появляется, когда аппарат занят выполнением длительной операции, например, печать дневного отчета и не может ответить на команду от компьютера до выполнения этой операции. Если значение свойства непустое, то попытка восстановить сеанс будет продолжаться до успешного ответа аппарата или до нажатия пользователем кнопки “Cancel” в окне сообщения. Если значение свойства пустое – окно не показывается, и программа ждет ответа от аппарата на протяжении 30 сек.
Установка параметра не влияет на активный сеанс, если он есть.
Буквы серийного номера аппарата.
Тип: строка
Умолчание: нет
Буквы в серийном номере аппарата. Свойство доступно только для чтения после того, как было установлено соединение с аппаратом (см. свойство Connect).
В случае, если системная плата аппарата поддерживает перепрошивку, вместо серийного номера возвращается номер системной платы.
Цифры серийного номера аппарата.
Тип: число
Умолчание: нет
Цифры в серийном номере аппарата. Свойство доступно только для чтения после того, как было установлено соединение с аппаратом (см. свойство Connect).
В случае, если системная плата аппарата поддерживает перепрошивку, вместо серийного номера возвращается номер системной платы.
Procedure Go()
// создание объекта
proc = CreateObject("EQLProc.EQLProcedure");
// установка свойств объекта перед соединением с кассой
Если СвязьПоУпрощённомуПротоколу Тогда
proc.Number = "1;0"; // касса подключена к порту COM1
proc.Protocol = "L2Com.HcComSessionCreator";
ИначеЕсли СвязьПоСетевомуНомеру Тогда
proc.Number = "1;1"; // порт COM1/сетевой номер 1
Иначе // связь по логическому номеру
proc.Number = 1; // логический номер 1
КонецЕсли;
proc.User = 1;
proc.Password = 0;
// Соединение с кассой
proc.Connect = -1; //True
// Процедуры работают только если установлена связь с кассой
Если proc.Connect = -1 Тогда
// Работа
proc.SmenBegin();
proc.BegChk();
proc.FullProd(322233,3,1,1,1,1,"Пиво");
proc.Oplata(0,0,0);
proc.EndChk();
КонецЕсли;
EndProcedure
Для Visual Basic имеется два варианта подключения. Первый способ аналогичен подключению в 1С:Предприятии.
Dim fisc As Object
Set fisc = CreateObject("EQLProc.EQLProcedure")
On Error Resume Next
fisc.Number = 1
fisc.User = 1
fisc.Password = 0
fisc.Connect = True
If fisc.Connect = True Then
fisc.BegChk
fisc.PrintComment "Hello world!"
fisc.EndChk
Else
MsgBox "Связь с кассой не установлена!"
End If
Второй способ использует библиотеки типов. Для этого в редакторе Visual Basic в меню “Tools/References…” надо подключить ссылки: “EQLProc 1.0 Type Library” и “Help Co Common Cash Register Interfaces”.
Информацию о поддерживаемых интерфейсах можно просмотреть открыв Object Browser c помощью клавиши F2 и выбрав HcTLB из списка доступных библиотек типов.
Sub test_eqlproc()
Dim procobj As New EQLProcedure
Dim fp As IHcFReg
Dim fpext As IHcFRegEx
procobj.Number = "1;1"
procobj.User = 1
procobj.Password = 0
procobj.Connect = True
If procobj.Connect = True Then
MsgBox CStr(procobj.SerLet) + CStr(procobj.SerNum)
' последующее присваивание возможно только после подключения кассы. Только теперь
' объект знает набор интерфейсов, которые поддерживает подключенный кассовый
' аппарат.
Set fp = procobj
Set fpext = procobj
' Выдача чека
fp.SmenBegin
fp.BegChk
fpext.FullProd 12346, 12, 2, 1, 1, 1, "Робот"
fp.Oplata 0, 0, 0
fp.EndChk
Else
MsgBox "Связь с кассой не установлена!"
End If
End Sub
#import "EQLProc.dll" no_namespace
#import "HcTLB.tlb" no_namespace
void print() {
IEQLProDispPtr procobj("EQLProc.EQLProcedure");
procobj->Number = "1;1";
procobj->User = 1L;
procobj->Password = 0L;
procobj->Connect = 1L; // тут происходит установление соединения с кассой
if(procobj->Connect != 0L){ // если соединение установлено:
char buf[64];
sprintf(buf,"%s%s",(char*)_bstr_t(procobj->SerLet),(char*)_bstr_t(procobj->SerNum));
::MessageBox(NULL,buf,"ECR",0);
/* последующее присваивание возможно только после подключения кассы. Только теперь
объект знает набор интерфейсов, которые поддерживает подключенный кассовый аппарат.*/
IHcFRegPtr fp = procobj;
IHcFRegExPtr fpext = procobj;
fp->BegChk();
fpext->FullProd(12347L,15L,3L,1L,1L,1L,"Щетка");
fp->Oplata(0L,0L,0L);
fp->EndChk();
}
return 0;
}
Имя модели кассового аппарата.
Максимальная ширина строки коментария в символах.
Максимальный размер кода товара в символах.
Максимальный размер названия товара в символах.