Программа для управления ККМ Атол и Штрих нового поколения (он-лайн ККТ под 54-ФЗ) с помощью текстового файла (ini файла)

Публикация № 656068

Программирование - Инструментарий

54ФЗ ККМ онлайн Штрих Атол реестр сбербанк

65
FR_ATOL_SHTRIH.EXE встраивается в SYSTRAY (в правом нижнем углу, там где часы) и следит за появлением обычного текстового файла, в котором перечислено, какие операции необходимо осуществить с ККТ - напечатать чек (нал/безнал), снять Z-отчет, осуществить выемку денег, сделать возврат и т.д. Такой механизм позволяет использовать комплект для WEB сайтов, для нетиповых или сильно измененных 1с7 или 1с8. Для любых программ, которые умеют работать с текстовыми файлами (будь то CLIPPER,FOXPRO,JAVA, WSH, VBS итд). Внутри комплекта лежат готовые к использованию обработки для 1с8: УТ10, БП2, БП2Базовая, БП2Корп, УТ11, БП3, БП3Базовая, БП3Корп, Для 1С7.7:ТиС документ Реализация ТМЦ,Печать из ПКО, Бух4.5, Бух1.3 . Код на 1с открыт - используйте обработки комплекта, как шаблоны для своих программ. Подключать ККМ к 1С не надо! Более 300 внедрений на ККМ Штрих и Атол. Некоторые из покупателей реализовали работу с ККМ даже из Excel и Axapta.

Поддержка следующих ККТ:

Атол: АТОЛ 11Ф, АТОЛ 15Ф,  АТОЛ 22Ф / FPrint-22ПТК, АТОЛ 25Ф, АТОЛ 30Ф, АТОЛ 42ФС, АТОЛ 52Ф, АТОЛ 55Ф, АТОЛ 60Ф, АТОЛ 77Ф, АТОЛ 90Ф, FPrint5500

Штрих-М: ШТРИХ-ON-LINE, ШТРИХ-ЛАЙТ-01Ф, ШТРИХ-М-01Ф, ШТРИХ-РИТЕЙЛ-01Ф, ШТРИХ-МИНИ-01Ф, ШТРИХ-ФР-01Ф, ШТРИХ-М-02Ф, ШТРИХ-М-ФР-К, ШТРИХ-ЛАЙТ-ФР-К  и переделанные по 54ФЗ

Для ФФД 1.05

  1. АТОЛ: Установить драйвера АТОЛ 10.4.ХХ или выше.)
  2. ШТРИХ-М:Установить драйвер DrvFR_4.14 или выше

Если Вашего ККМ нет в упомянутом выше списке поддерживаемого оборудования, но ККМ работает через описанный выше установленный драйвер - с вероятностью 100% он будет работать с моим ПО/

Эта новая версия программы FR_ATOL_SHTRIH , на которой успешно трудятся более шести сотен ККМ! Принцип работы остался прежний - FR_ATOL_SHTRIH.EXE встраивается в SYSTRAY и следит за появлением в каталоге текстовых INI файлов, в которых указывается, что надо сделать ККМ - напечатать чек, сделать возврат денег, снять Z-отчет, распечатать копию чека по ФД  и тд.  

 

Самый простейший случай печати чека, представлен на картинке. Создаем два текстовых файла в каталоге программы с описанием чека. В первом это имя кассира и тип оплаты, во втором описание товаров, цена, количество ставка ндс. Когда создадим третий файл cmd.ini со строкой PRINT и запишем, из ККМ выйдет чек.

В случае ошибки в правом нижнем углу (В SysTray) появится сообщение

 

В новой версии поддерживается печать с одного локального компьютера на несколько ККМ. Для каждого чека можно менять СНО. Указать оплата Нал/Безнал/Виртуальный вид оплаты. Есть механизм корректировки ошибок округления. Есть возможность печати копии последнего чека или печати фискального чека по номеру ФД. Можно узнать кол-во неотправленных чеков в налоговую, возможность проверить связь с ОФД, можно посмотреть срок действия ФП. Есть печать длинных наименований с авто переносом на след строку. Есть печать текстового файла на ККМ, как на простом принтере. По многочисленным просьбам, после успешной печати чека, в текстовый файл записывается номер фискального документа.

Появился редактор для файла настроек PARAM.ini.

Комплект проверен под управлением winXP, win7, win10.

Исходные тексты EXE модуля закрыты. В архиве комплекта, в папках 1С лежат готовые обработки для 1с77 и 1с8, а так же добавлены готовые решения от тех, кто внедрил комплект на базе 1с и разрешил публиковать их внешние обработки.

В архиве комплекта вложена подробная документация по установке ККМ Штрих и Атол  и документация к описанию комплекта.

Программа освобождает драйвер ККМ сразу после выполнения команды. Это позволяет печатать чеки с нескольких компьютеров на одном ККМ.

Подключение к 1с, видео

По всем вопросам эксплуатации -  здесь в комментариях к публикации. Если нужно помочь внедрить комплект или доработать 1с - пишите! Если будут просьбы с доработкой комплекта - обращайтесь!

Версия 4.XХ от 09/07/19 поддерживает ФФД 1.0, 1.05, 1.1. и изменения от 01/07/19 (Наименование и ИНН покупателя. Номер ГТД, акцизы итд пока рекомендованы к использованию, но не обязательны). можно пробивать чеки с частичными оплатами, с указанием признака расчета/предмета расчета и другими бесполезными нововведениями формата ФФД 1.05. Пароль на архив 1.

В стоимость покупки входит одна бесплатная лицензия на 1 компьютер. Ее надо будет активировать до 01/10/19. Если необходимо больше лицензий, то следуйте указаниям в программе.

Кому необходимо массово печатать чеки из текстовых файлов реестра Сбербанка - пишите в личку. 

 

 

CMD.INI

CMD.ini – файл команд. В нем может быть только одна строка:

 

SHOWPROPERTIES

Открыть диалоговое окно со свойствами драйвера

PRINT

Напечатать фискальный чек. Открывает смену при печати первого чека после Z-отчета

RETURN

 

Напечатать чек на возврат

PRINT_BUY

Напечатать чек на расход

RETURN_BUY

Напечатать чек на возврат расхода

 

CORRECT_PRIH

Чек коррекции прихода (работает только в паре с параметром Param.ini VERSION_FFD (см CheckCorrect_ХХХХ в описании Param.ini) в папке DOC есть пример

CORRECT_RASH

Чек коррекции расхода (работает только в паре с параметром Param.ini VERSION_FFD(см CheckCorrect_ХХХХ в описании Param.ini) в папке DOC есть пример

ZOTCHET

Выдает на печать Z-отчет. Закрывает смену

XOTCHET

Выдает на печать X-отчет

PrintDepartmentReport

Снять отчет по отделам

OPENBOXMANY

открыть денежный ящик

CashInCome

Метод регистрирует внесение наличных денег в кассу. Использовать CashInCome=123.45 Для параметра не предусмотрена доп. печать на чеке. Что заложено в ККМ то и будет выведено в чек. Только Атол

CashOutCome

Метод регистрирует выплату наличных денег из кассы. Использовать CashOutCome=123.45. Для параметра не предусмотрена доп. печать на чеке. Что заложено в ККМ то и будет выведено в чек. Только Атол

OpenSession

Метод открывает принудительно смену Только Атол

PrintTxtFile

Распечатать текстовый файл на ФР.

                          printtxtfile=C:\1c_ShtrihFR\example.txt

                       

Содержимое файла  C:\1c_ShtrihFR\example.txt

   Всем привет!

   Пусть всегда будет солнце

   -------------------------------------

   Наименование  | колво |       Сумма   |

   -------------------------------------

   Валенки белые            1               256 

 

LOADPICTURE

Загрузить картинку

 LoadPicture=C:\1c_ShtrihFR\QR.bmp

Для Штрих:

100*100 пикселей Формат BMP

Для вывода ее на чек использовать команду в PARAM.INI PRINT_PICTURE=+

Загрузка картинки в ККМ занимает длительное время. Около 1 минуты

 

Для атола это равносильно печати на чековой ленте

 

PRINTQRCODE

Печать на чековой ленте QR код

PRINTQRCODE =Всем привет!

Для Штрих:

Работает немного кривовато

Файлы Param.ini и tovar.ini не используются

PRINTLASTCHECK

Распечатать копию последнего чека.

Для Атола номер чека берется из файла ResultNumCheck.txt так, что программно можно напечатать копию любого чека если в первой строке ResultNumCheck.txt указать номер фискального документа

Для штриха это реально последний документ

 

 

PARAM.INI

 

Перед чтением CMD.ini, программа читает файл PARAM.ini. PARAM.ini создается для каждого чека и позволяет описать параметры чека.        

 

NumCheck=

Строка

номер чека (любые данные) обычно номер расх. накл Например: NumCheck=0001

AuthorName=

Строка

Например: КАССИР или пусто

AuthorCaption=

Строка

Например: ИВАНОВ И.И или пусто. Если параметр не пустой он передается в ОФД

AuthorINN=

Строка

ИНН Кассира. Например: 720001145. Если параметр не пустой он передается в ОФД. В Чеке Атола ИНН кассира не печатается

 

 

 

 

 

 

BREAKSUMMx=

 

 

Число

Параметр для передачи Тега "Типы оплаты", относятся в целом к чеку, а не к каждой его позиции (строке)   

х может принимать цифровое значение типа оплаты

0 - Наличный расчет

1 – Электронными Расчет по платежной банковской карте
2 - Предоплата          Сумма по чеку предоплатой (зачет аванса и (или) предыдущих платежей)

3 - Постоплата           Сумма по чеку постоплатой (кредит)

4 - Встречным предоставлением

Например оплата наличными 2рубля:

BreakSumm0=2

Например оплата наличными 2рубля и электр 5руб:

BreakSumm0=2

BreakSumm1=5

Пробить чек со сдачей

Так же можно использовать  BREAKSUM0=4

PREDMET=

 

Можно указать 0 или не указывать параметр

Число

Код

Формат ПФ

1

ТОВАР

2

ПОДАКЦИЗНЫЙ ТОВАР

3

РАБОТА

4

УСЛУГА

5

СТАВКА АЗАРТНОЙ ИГРЫ

6

ВЫИГРЫШ АЗАРТНОЙ ИГРЫ

7

СТАВКА ЛОТЕРЕИ

8

ВЫИГРЫШ ЛОТЕРЕИ

9

ПРЕДОСТАВЛЕНИЕ РИД

10

ПЛАТЕЖ

11

АГЕНТСКОЕ ВОЗНАГРАЖДЕНИЕ

12

СОСТАВНОЙ ПРЕДМЕТ РАСЧЕТА

13

ИНОЙ ПРЕДМЕТ РАСЧЕТА

 

 

 

 

 

 

SPOSOB=


 

Можно указать 0 или не указывать параметр

Число

 

Признак способа расчета

 

 

Код

Формат ПФ

 

1

ПРЕДОПЛАТА 100%

 

2

ПРЕДОПЛАТА

 

3

АВАНС

 

4

ПОЛНЫЙ РАСЧЕТ

 

5

ЧАСТИЧНЫЙ РАСЧЕТ И КРЕДИТ

 

6

ПЕРЕДАЧА В КРЕДИТ

 

7

ОПЛАТА КРЕДИТА

 

       

 

CENA_AS_SUMMA=

 

Строка

Может принимать значение + или пусто. 

Пример использования параметра:  CENA_AS_SUMMA=+

В версии ФФД>1 появилась возможность указывать сумму по строке. В первой версии передавали только Количество и Цену в результате чего были ошибки округления. Например в 1с сумма по строке 659 и количество 10000. Что бы вычислить цену мы делим 659 на 1000 и получаем цена=0,659, в ккм передается 0,66 и в результате 0,66*1000=660р
Сейчас из 1с можно передать сразу сумму по строке

Например:

Товар 

Кол-о  

цена

скидка

сумма

Сумма
со скидкой

Техника

1000

0,65

25

675

659

 

 

 

 

 

 

В Tovar.ini пойдет информация

Валенки

1000

659

-1

А в Param.ini

CENA_AS_SUMMA=+

В результате получим чек

ККМ сам его преобразует к нужному виду и избавит от проблем с погрешностью

Например надо передать:  Товар, количество=2, цена=5, сумма= 8

Без использования параметра CENA_AS_SUMMA

В tovar.ini

Товар

2

5

 

С использованием параметра CENA_AS_SUMMA=+

В tovar.ini

Товар

2

8

EmailOrTel=

Строка

Передать в ФР Email покупателя или телефон в формате +7ХХХХХХХХХХХ

 

Echeck=

Строка

Значение ON или OFF

Печатать чек на чековой ленте или сделать электронный чек

PoluchatelName =

Строка

Тег 1227         Наименование получателя

Например Param.ini:

NumCheck=ИП00000433

AuthorName=КАССИР

VERSION_FFD=1.05

CENA_AS_SUMMA=+

Oplata=BREAK

BREAKSUMM0=1

BREAKSUMM2=1

PoluchatelName=ООО "МАШТXXX"

PoluchatelINN=72022XXXX

ECheck=ON

EmailOrTel=helmer@ya.ru

SNO=ENVD

 

PoluchatelINN =

Строка

Тег 1228         ИНН получателя

Пример см выше

Для штриха: что бы печаталось в чеке надо

В тесте драйвера, таблица 17:

поле 25 поменять с 0 на 1

Вот пример со штриха

 

SNO=

Строка

Выбирает систему налогообложения. Например: SNO=DOHRASH

может принимать одно из значений: OSN DOH DOHRASH ENVD ESN PATENT

Если пустой (SNO=) то ничего не меняет.

Значения для SNO=:

            OSN          - Общая

            DOH          - Упрощенная Доход

            DOHRASH  - Упрощенная Доход минус Расход

            ENVD       - Единый налог на вмененный доход

            ESN           - Единый сельскохозяйственный налог

            PATENT      - Патентная система

Section=

Число

Позволяет указать отдел (секцию).

CHECKSHAPKA1=

Строка

Для шапки чека строка 1  После знака = пишем любой текст который выведется в начале чека.

Если пусто, то не печатаем. Длина строки не должна превышать ширину бумаги чека.

CHECKSHAPKA2=

Строка

Для шапки чека строка 2 см описание CHECKSHAPKA1

CHECKSHAPKA3=

Строка

Для шапки чека строка 3 см описание CHECKSHAPKA1

CHECKSHAPKA4=

Строка

Для шапки чека строка 4 см описание CHECKSHAPKA1

Например:

CHECKSHAPKA1=        ООО "Ромашка"

CHECKSHAPKA2=          Акция!!!

CHECKSHAPKA3=    Берешь ПИВО БАЛТИКА

CHECKSHAPKA4=       Рыба в подарок!

MESTORASCHETA

Строка

Место расчета. например:Проходная

Гарантия возврата денег

ООО "Инфостарт" гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом в течение 14-ти дней со дня поступления денег на наш счет.

Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.

Для возврата оплаты просто свяжитесь с нами.

65


Новый вопрос

E-mail*
Тема (вопрос)*

См. также

Специальные предложения