Страница 1 из 49
					
				Взять кассу
				Добавлено: 04 Ноябрь 2010, 20:03
				 Игорь Столяров
				Привет всем !
Нет ли у кого нибудь примера как работать с ФР "Штрих-ФР-К" из программы на Clarion ?
Хотя бы выполнение элементарных операций ... 
Заранее спасибо !
			 
			
					
				Re: Взять кассу
				Добавлено: 05 Ноябрь 2010, 4:10
				 BOB
				Вроде это к штрих через ОЛЕ , но за давностью не помню.  
Код: Выделить всё
             if KVIT:SUMMA=0 then stdwar('Нечего оплачивать');exit .
                 ?AnyOLEObject{PROP:Create} ='AddIn.Drvfr'
                   a#=?AnyOLEObject{'RESULTCODE'}
                if a# then  MESSAGE(?AnyOLEObject{'RESULTCODEDESCRIPTION'}) .
                 ?AnyOLEObject{'password'} = '30'
                   a#=?AnyOLEObject{'RESULTCODE'}
                if a# then  MESSAGE(?AnyOLEObject{'RESULTCODEDESCRIPTION'}) .
                 ?AnyOLEObject{'StringForPrinting'} = 'Стоматологические услуги'
                   a#=?AnyOLEObject{'RESULTCODE'}
                if a# then  MESSAGE(?AnyOLEObject{'RESULTCODEDESCRIPTION'}) .
                 ?AnyOLEObject{'PRICE'}=format(KVIT:SUMMA,@n_15`2b)
                   a#=?AnyOLEObject{'RESULTCODE'}
                if a# then  MESSAGE(?AnyOLEObject{'RESULTCODEDESCRIPTION'}) .
                 ?AnyOLEObject{'QUANTITY'} = format(1,@n_15`2b)
                 a#=?AnyOLEObject{'RESULTCODE'}
                if a# then  MESSAGE(?AnyOLEObject{'RESULTCODEDESCRIPTION'}) .
                 ?AnyOLEObject{'sale'}
                   a#=?AnyOLEObject{'RESULTCODE'}
                if a# then  MESSAGE(?AnyOLEObject{'RESULTCODEDESCRIPTION'}) .
                 ?AnyOLEObject{'StringForPrinting'} = all('=',45)
                   a#=?AnyOLEObject{'RESULTCODE'}
                if a# then  MESSAGE(?AnyOLEObject{'RESULTCODEDESCRIPTION'}) .
                 ?AnyOLEObject{'summ1'} = format(KVIT:SUMMA,@n_15`2b)
                   a#=?AnyOLEObject{'RESULTCODE'}
                if a# then  MESSAGE(?AnyOLEObject{'RESULTCODEDESCRIPTION'}) .
                 ?AnyOLEObject{'CloseCheck'}
                   a#=?AnyOLEObject{'RESULTCODE'}
                if a# then  MESSAGE(?AnyOLEObject{'RESULTCODEDESCRIPTION'}) .
            ?AnyOLEObject{PROP:Deactivate}
Продолжение печати после остановки
Код: Выделить всё
                   ?AnyOLEObject{PROP:Create} ='AddIn.Drvfr'
                   a#=?AnyOLEObject{'RESULTCODE'}
                if a# then  MESSAGE(?AnyOLEObject{'RESULTCODEDESCRIPTION'}) .
                 ?AnyOLEObject{'password'} = '30'
                   a#=?AnyOLEObject{'RESULTCODE'}
                if a# then  MESSAGE(?AnyOLEObject{'RESULTCODEDESCRIPTION'}) .
                 ?AnyOLEObject{'ContinuePrint'}
                   a#=?AnyOLEObject{'RESULTCODE'}
                if a# then  MESSAGE(?AnyOLEObject{'RESULTCODEDESCRIPTION'}) .
                 ?AnyOLEObject{PROP:Deactivate}
 
Код: Выделить всё
повторная печать
                 ?AnyOLEObject{PROP:Create} ='AddIn.Drvfr'
                   a#=?AnyOLEObject{'RESULTCODE'}
                if a# then  MESSAGE(?AnyOLEObject{'RESULTCODEDESCRIPTION'}) .
                 ?AnyOLEObject{'password'} = '30'
                   a#=?AnyOLEObject{'RESULTCODE'}
                if a# then  MESSAGE(?AnyOLEObject{'RESULTCODEDESCRIPTION'}) .
                 ?AnyOLEObject{'RepeatDocument'}
                   a#=?AnyOLEObject{'RESULTCODE'}
                if a# then  MESSAGE(?AnyOLEObject{'RESULTCODEDESCRIPTION'}) .
                 ?AnyOLEObject{PROP:Deactivate}
 
Код: Выделить всё
Гашение чека             
     ?AnyOLEObject{PROP:Create} ='AddIn.Drvfr'
                   a#=?AnyOLEObject{'RESULTCODE'}
                if a# then  MESSAGE(?AnyOLEObject{'RESULTCODEDESCRIPTION'}) .
                 ?AnyOLEObject{'password'} = '30'
                   a#=?AnyOLEObject{'RESULTCODE'}
                if a# then  MESSAGE(?AnyOLEObject{'RESULTCODEDESCRIPTION'}) .
                 ?AnyOLEObject{'PrintreportWithCleaning'}
                   a#=?AnyOLEObject{'RESULTCODE'}
                if a# then  MESSAGE(?AnyOLEObject{'RESULTCODEDESCRIPTION'}) .
                 ?AnyOLEObject{PROP:Deactivate}
 
			 
			
					
				Re: Взять кассу
				Добавлено: 05 Ноябрь 2010, 13:04
				 Admin
				Игорь Столяров писал(а):Нет ли у кого нибудь примера как работать с ФР "Штрих-ФР-К" из программы на Clarion ?
А что в комплекте нет DLL файла? Я через такой со свои ККМ работаю. Делается все! Писать 5 строк кода.
 
			 
			
					
				Re: Взять кассу
				Добавлено: 05 Ноябрь 2010, 13:15
				 Игорь Столяров
				DLL файл есть. Но у него нет интерфейса вызова процедур и описания их прототипов ... (
Зато есть интерфейс работы через OLE, после инсталяции драйвера ....
			 
			
					
				Re: Взять кассу
				Добавлено: 05 Ноябрь 2010, 15:34
				 Admin
				Игорь Столяров писал(а):DLL файл есть. Но у него нет интерфейса вызова процедур и описания их прототипов ... (
Зато есть интерфейс работы через OLE, после инсталяции драйвера ....
Пробуй вызов методов OLE класса делать как BOB написал. Работает.
 
			 
			
					
				Re: Взять кассу
				Добавлено: 05 Ноябрь 2010, 15:43
				 Игорь Столяров
				Да, спасибо. С вызовами через OLE все понятно и все работает.
			 
			
					
				Взять кассу
				Добавлено: 14 Июль 2015, 14:00
				 pansoft
				Добрый день Всем!
Необходимо подключить "Fprint-02". Есть ли у кого опыт работы с таким аппаратом...
Буду рад любым примерам.
			 
			
					
				Взять кассу
				Добавлено: 14 Июль 2015, 14:52
				 PavelNK
				Есть ККМ FPrint-22, если интересует...
			 
			
					
				Взять кассу
				Добавлено: 14 Июль 2015, 16:21
				 pansoft
				Да. Если возможно скинте пример.
Заранее благодарен. 
Е-маил отправил в личку.
			 
			
					
				Взять кассу
				Добавлено: 14 Июль 2015, 17:00
				 pansoft
				Спасибо PavelNK за быстрый ответ.
А у меня еще вопрос.
Если к компьютеру подключено 2 ккм. Как обработать такую ситуацию? Как узнать к какой ккм подключен к OLE?
			 
			
					
				Взять кассу
				Добавлено: 19 Сентябрь 2015, 21:44
				 pansoft
				Вернусь к вопросу как подключить 2 ККМ через OLE к 1 программе.
Нашел эту функцию которая возвращает OLEDIRECTORY список установленных OLE Serverov.
Но при компиляции выдает ошибку: Unknown procedure label. Что делать? (С9.1, На форме имеется OLE-Элемент, Include (EQUATES.CLW) - сделал, ResultQ QUEUE(oleQ) - объявил.)
			 
			
					
				Взять кассу
				Добавлено: 19 Сентябрь 2015, 21:51
				 Игорь Столяров
				Добавь в GlobalMap: INCLUDE('ocx.clw')
			 
			
					
				Взять кассу
				Добавлено: 19 Сентябрь 2015, 22:51
				 pansoft
				Заработало.
Большое спасибо!
			 
			
					
				Взять кассу
				Добавлено: 27 Ноябрь 2016, 0:48
				 Андрей
				Всем доброго здравия !
Прошу помочь с примером работы с фискальным регистратором. Принесли такой вот -FPrint-55. И еще, диска не было, скачал дистрибутив к нему, но не пойму, а какую DLL регистрировать ? Их в каталоге Drivers/Bin 15 штук.
			 
			
					
				Взять кассу
				Добавлено: 28 Ноябрь 2016, 10:56
				 Admin
				Кажется их аппарат 
http://atol.ru/
Вот типа документашки 
Я бы через COM порт работал.
Вообще информации в инете куча. Ищите или ждите. Может кто ответит.