Взять кассу

Сканеры, кассы, ККТ и т.д.
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3711
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Взять кассу

Сообщение Игорь Столяров » 04 Ноябрь 2010, 20:03

Привет всем !

Нет ли у кого нибудь примера как работать с ФР "Штрих-ФР-К" из программы на Clarion ?
Хотя бы выполнение элементарных операций ...

Заранее спасибо !
«V» значит Вендетта !

BOB
Ветеран
Сообщения: 333
Зарегистрирован: 17 Июль 2005, 4:43

Re: Взять кассу

Сообщение BOB » 05 Ноябрь 2010, 4:10

Вроде это к штрих через ОЛЕ , но за давностью не помню.

Код: Выделить всё

             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}

Аватара пользователя
Admin
Администратор
Сообщения: 3324
Зарегистрирован: 05 Июль 2005, 14:59
Откуда: Хабаровск
Контактная информация:

Re: Взять кассу

Сообщение Admin » 05 Ноябрь 2010, 13:04

Игорь Столяров писал(а):Нет ли у кого нибудь примера как работать с ФР "Штрих-ФР-К" из программы на Clarion ?
А что в комплекте нет DLL файла? Я через такой со свои ККМ работаю. Делается все! Писать 5 строк кода.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3711
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Re: Взять кассу

Сообщение Игорь Столяров » 05 Ноябрь 2010, 13:15

DLL файл есть. Но у него нет интерфейса вызова процедур и описания их прототипов ... (
Зато есть интерфейс работы через OLE, после инсталяции драйвера ....
«V» значит Вендетта !

Аватара пользователя
Admin
Администратор
Сообщения: 3324
Зарегистрирован: 05 Июль 2005, 14:59
Откуда: Хабаровск
Контактная информация:

Re: Взять кассу

Сообщение Admin » 05 Ноябрь 2010, 15:34

Игорь Столяров писал(а):DLL файл есть. Но у него нет интерфейса вызова процедур и описания их прототипов ... (
Зато есть интерфейс работы через OLE, после инсталяции драйвера ....
Пробуй вызов методов OLE класса делать как BOB написал. Работает.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3711
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Re: Взять кассу

Сообщение Игорь Столяров » 05 Ноябрь 2010, 15:43

Да, спасибо. С вызовами через OLE все понятно и все работает.
«V» значит Вендетта !

pansoft
Бывалый
Сообщения: 67
Зарегистрирован: 08 Август 2011, 10:37

Взять кассу

Сообщение pansoft » 14 Июль 2015, 14:00

Добрый день Всем!
Необходимо подключить "Fprint-02". Есть ли у кого опыт работы с таким аппаратом...
Буду рад любым примерам.

PavelNK
Старожил
Сообщения: 211
Зарегистрирован: 15 Март 2011, 8:02

Взять кассу

Сообщение PavelNK » 14 Июль 2015, 14:52

Есть ККМ FPrint-22, если интересует...

pansoft
Бывалый
Сообщения: 67
Зарегистрирован: 08 Август 2011, 10:37

Взять кассу

Сообщение pansoft » 14 Июль 2015, 16:21

Да. Если возможно скинте пример.
Заранее благодарен.
Е-маил отправил в личку.

pansoft
Бывалый
Сообщения: 67
Зарегистрирован: 08 Август 2011, 10:37

Взять кассу

Сообщение pansoft » 14 Июль 2015, 17:00

Спасибо PavelNK за быстрый ответ.
А у меня еще вопрос.
Если к компьютеру подключено 2 ккм. Как обработать такую ситуацию? Как узнать к какой ккм подключен к OLE?

pansoft
Бывалый
Сообщения: 67
Зарегистрирован: 08 Август 2011, 10:37

Взять кассу

Сообщение pansoft » 19 Сентябрь 2015, 21:44

Вернусь к вопросу как подключить 2 ККМ через OLE к 1 программе.
Нашел эту функцию которая возвращает OLEDIRECTORY список установленных OLE Serverov.
Но при компиляции выдает ошибку: Unknown procedure label. Что делать? (С9.1, На форме имеется OLE-Элемент, Include (EQUATES.CLW) - сделал, ResultQ QUEUE(oleQ) - объявил.)

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3711
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Взять кассу

Сообщение Игорь Столяров » 19 Сентябрь 2015, 21:51

Добавь в GlobalMap: INCLUDE('ocx.clw')
«V» значит Вендетта !

pansoft
Бывалый
Сообщения: 67
Зарегистрирован: 08 Август 2011, 10:37

Взять кассу

Сообщение pansoft » 19 Сентябрь 2015, 22:51

Заработало.
Большое спасибо!

Андрей
Старожил
Сообщения: 206
Зарегистрирован: 30 Октябрь 2005, 3:58

Взять кассу

Сообщение Андрей » 27 Ноябрь 2016, 0:48

Всем доброго здравия !

Прошу помочь с примером работы с фискальным регистратором. Принесли такой вот -FPrint-55. И еще, диска не было, скачал дистрибутив к нему, но не пойму, а какую DLL регистрировать ? Их в каталоге Drivers/Bin 15 штук.

Аватара пользователя
Admin
Администратор
Сообщения: 3324
Зарегистрирован: 05 Июль 2005, 14:59
Откуда: Хабаровск
Контактная информация:

Взять кассу

Сообщение Admin » 28 Ноябрь 2016, 10:56

Кажется их аппарат http://atol.ru/
Вот типа документашки
Я бы через COM порт работал.
Вообще информации в инете куча. Ищите или ждите. Может кто ответит.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса

Ответить