/// <summary> /// Підключення до Касового Апарату /// Number //Номер аппарата. //Тип: строка //Умолчание: "1" //Позволяет указать кассовый аппарат для работы в виде: //Логический номер (в виде "число") //Комбинация номер порта, сетевой номер кассы (в виде "порт;сетевойномер") //Комбинация номер порта, сетевой номер кассы, скорость обмена (в виде "порт;сетевойномер;скорость") //Если в момент установки значения свойства сеанс связи с аппаратом был установлен, он закрывается. //При использовании логического номера он должен совпадать с логическим номером, запрограммированным в кассе в параметрах связи с компьютером. //Если используется сетевой номер, то он должен совпадать с сетевым номером, запрограммированным в кассе в параметрах связи с компьютером. //Возможные значения скорости: 9600, 19200, 38400, 57600, 115200. Однако некоторые модели касс не поддерживают скорости 57600 и 115200. Указанная скорость должна совпадать со скоростью обмена с компьютером, запрограммированной в кассе. //Если касса подключена к компьютеру и в её настройках разрешён обмен с компьютером, то с помощью утилиты comtest.exe вы можете выяснить, на какой скорости работает касса, какой протокол она использует для обмена (упрощённый или полный) и какой имеет сетевой номер. Эти данные помогут вам правильно сформировать строку для свойства Number. Иконка comtest.exe устанавливается на рабочем столе Windows большинством инсталляторов, которые устанавливают драйверы EQL.. /// </summary> public void Connect(string Port, string LogicNumber, string UserId, string Password) { connection = new Connection(); string strCnn = "Provider=EQL OLE DB Provider;"; strCnn = strCnn + "Data Source='" + Port + ";" + LogicNumber + "'"; //strCnn = strCnn + "Data Source=’" + Port + ";" + LogicNumber + "’"; strCnn = strCnn + ";User Id=" + UserId + ";Password="******";"; strCnn = strCnn + "Extended Properties = \"Protocol=" + "L2Com.HcComSessionCreator\""; connection.Open(strCnn); srv = new Recordset(); //відкриття службової таблиці srv.Open("EQL_service", connection, CursorTypeEnum.adOpenStatic, LockTypeEnum.adLockOptimistic, 512); //отримання процедурного інтерфейсу proc = srv.Fields[1].Value; fp = (IHcFReg)proc; fpext = (IHcFRegEx)proc; report = (IHcReport)proc; display = (IHcDisplay)proc; fiscPrinter = (IHcFiscPrnt)proc; fiscPrinterLastInfo = (IHmLastInfo)proc; fiscPrinterSound = (IHcSound)proc; this.OutTone(1000, 100); }