Взять кассу

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

Взять кассу

Сообщение Игорь Столяров »

Привет всем !

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

Заранее спасибо !
Make Clarion Great Again ! 😎
BOB
Ветеран
Сообщения: 336
Зарегистрирован: 17 Июль 2005, 5:43

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

Сообщение 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}
Аватара пользователя
Admin
Администратор
Сообщения: 4000
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 46 раз
Поблагодарили: 26 раз
Контактная информация:

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

Сообщение Admin »

Игорь Столяров писал(а):Нет ли у кого нибудь примера как работать с ФР "Штрих-ФР-К" из программы на Clarion ?
А что в комплекте нет DLL файла? Я через такой со свои ККМ работаю. Делается все! Писать 5 строк кода.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7735
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 73 раза

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

Сообщение Игорь Столяров »

DLL файл есть. Но у него нет интерфейса вызова процедур и описания их прототипов ... (
Зато есть интерфейс работы через OLE, после инсталяции драйвера ....
Make Clarion Great Again ! 😎
Аватара пользователя
Admin
Администратор
Сообщения: 4000
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 46 раз
Поблагодарили: 26 раз
Контактная информация:

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

Сообщение Admin »

Игорь Столяров писал(а):DLL файл есть. Но у него нет интерфейса вызова процедур и описания их прототипов ... (
Зато есть интерфейс работы через OLE, после инсталяции драйвера ....
Пробуй вызов методов OLE класса делать как BOB написал. Работает.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7735
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 73 раза

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

Сообщение Игорь Столяров »

Да, спасибо. С вызовами через OLE все понятно и все работает.
Make Clarion Great Again ! 😎
pansoft
Бывалый
Сообщения: 76
Зарегистрирован: 08 Август 2011, 11:37

Взять кассу

Сообщение pansoft »

Добрый день Всем!
Необходимо подключить "Fprint-02". Есть ли у кого опыт работы с таким аппаратом...
Буду рад любым примерам.
PavelNK
Старожил
Сообщения: 263
Зарегистрирован: 15 Март 2011, 8:02

Взять кассу

Сообщение PavelNK »

Есть ККМ FPrint-22, если интересует...
pansoft
Бывалый
Сообщения: 76
Зарегистрирован: 08 Август 2011, 11:37

Взять кассу

Сообщение pansoft »

Да. Если возможно скинте пример.
Заранее благодарен.
Е-маил отправил в личку.
pansoft
Бывалый
Сообщения: 76
Зарегистрирован: 08 Август 2011, 11:37

Взять кассу

Сообщение pansoft »

Спасибо PavelNK за быстрый ответ.
А у меня еще вопрос.
Если к компьютеру подключено 2 ккм. Как обработать такую ситуацию? Как узнать к какой ккм подключен к OLE?
pansoft
Бывалый
Сообщения: 76
Зарегистрирован: 08 Август 2011, 11:37

Взять кассу

Сообщение pansoft »

Вернусь к вопросу как подключить 2 ККМ через OLE к 1 программе.
Нашел эту функцию которая возвращает OLEDIRECTORY список установленных OLE Serverov.
Но при компиляции выдает ошибку: Unknown procedure label. Что делать? (С9.1, На форме имеется OLE-Элемент, Include (EQUATES.CLW) - сделал, ResultQ QUEUE(oleQ) - объявил.)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7735
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 73 раза

Взять кассу

Сообщение Игорь Столяров »

Добавь в GlobalMap: INCLUDE('ocx.clw')
Make Clarion Great Again ! 😎
pansoft
Бывалый
Сообщения: 76
Зарегистрирован: 08 Август 2011, 11:37

Взять кассу

Сообщение pansoft »

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

Взять кассу

Сообщение Андрей »

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

Прошу помочь с примером работы с фискальным регистратором. Принесли такой вот -FPrint-55. И еще, диска не было, скачал дистрибутив к нему, но не пойму, а какую DLL регистрировать ? Их в каталоге Drivers/Bin 15 штук.
Аватара пользователя
Admin
Администратор
Сообщения: 4000
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 46 раз
Поблагодарили: 26 раз
Контактная информация:

Взять кассу

Сообщение Admin »

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