Страница 1 из 46

Взять кассу

Добавлено: 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 порт работал.
Вообще информации в инете куча. Ищите или ждите. Может кто ответит.