54-ФЗ: Онлайн-кассы для 1С 7.7 нетиповая

31.01.19

Учетные задачи - Кассовые операции

Подключение онлайн кассы к не типовой 1С 7.7 через драйвер атола v10.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
54-ФЗ: Онлайн-кассы для 1С 7.7 нетиповая:
.ert 17,00Kb
40
40 Скачать (1 SM) Купить за 1 850 руб.

Долго искал как подключить Атол 30Ф к 7.7 через драйвер версии 10. Все, что находил, было платно либо не понять, как использовать. В итоге решил сделать бесплатный шаблон. 

1. Качаем драйвер Атола с их сайта и устанавливаем.

2. В папке с установленным драйвером находим addin_fptr10_x86.dll и регистрируем его через regsvr32

3. Берем и встраиваем в Вашу программу шаблон.

Драйвер успешно работает на WindowsXP Home SP3.

Перем FR 

Процедура ОтветДрайвера(КомандаККМ)
    Result=FR.errorCode();
    ОшибкаПараметра=FR.errorDescription();
    Сообщить("Ответ "+Result+" Ошибка "+ОшибкаПараметра);
КонецПроцедуры


Процедура ПодключениеККМ()
   FR = СоздатьОбъект("AddIn.Fptr10"); 
                                                                                                   //LIBFPTR_MODEL_ATOL_AUTO
    FR.setSingleSetting(FR.LIBFPTR_SETTING_MODEL, строка(FR.LIBFPTR_MODEL_ATOL_30F));
    FR.setSingleSetting(FR.LIBFPTR_SETTING_PORT, строка(FR.LIBFPTR_PORT_COM));
    FR.setSingleSetting(FR.LIBFPTR_SETTING_COM_FILE, 1); //"COM"
    FR.applySingleSettings();
    
    Если FR.open()<>0 тогда //Соединение с ККТ 
        ОтветДрайвера("Подключение ККМ");
        СтатусВозврата(0);
        возврат;
    КонецЕсли;
    
    
    //Запрос параметров
    FR.setParam(FR.LIBFPTR_PARAM_DATA_TYPE, FR.LIBFPTR_DT_STATUS);
    FR.queryData();
                
    НомерКассира    = FR.getParamInt(FR.LIBFPTR_PARAM_OPERATOR_ID);
    состояниеСмены  = FR.getParamInt(FR.LIBFPTR_PARAM_SHIFT_STATE);
    ДатаВремя       = FR.getParamInt(FR.LIBFPTR_PARAM_DATE_TIME);
    РежимККТ        = FR.getParamInt(FR.LIBFPTR_PARAM_MODE);
    ПодрежимККТ     = FR.getParamInt(FR.LIBFPTR_PARAM_SUBMODE);
    НомерЧека        = FR.getParamInt(FR.LIBFPTR_PARAM_RECEIPT_NUMBER);
    НомерДокумента  = FR.getParamInt(FR.LIBFPTR_PARAM_DOCUMENT_NUMBER);
    
       FR.setParam(1021, СокрЛП(Пользователь));
    FR.operatorLogin();

    FR.openShift(); //Открыть смену

    FR.checkDocumentClosed();                
    
    ОтветДрайвера("Подключение ККМ");

КонецПроцедуры  


Процедура РаботаККМ()
    
        //Открыть чек
        FR.setParam(1021, СокрЛП(Пользователь));
        FR.operatorLogin();
        
        Если ВозвратныйЧек=1 Тогда
            FR.setParam(FR.LIBFPTR_PARAM_RECEIPT_TYPE, FR.LIBFPTR_RT_SELL_RETURN);
        Иначе
            FR.setParam(FR.LIBFPTR_PARAM_RECEIPT_TYPE, FR.LIBFPTR_RT_SELL);
        КонецЕсли;
        FR.openReceipt();         
        
        //Продажа
        FR.setParam(FR.LIBFPTR_PARAM_COMMODITY_NAME, ЛЕв(Имя,20));
        FR.setParam(FR.LIBFPTR_PARAM_PRICE, ЦенаПродажи);
        FR.setParam(FR.LIBFPTR_PARAM_QUANTITY, Колич);
        FR.setParam(FR.LIBFPTR_PARAM_TAX_TYPE, FR.LIBFPTR_TAX_NO );
        Если ПустоеЗначение(Маркировка)=0 Тогда
            FR.setParam(1162, СокрЛП(Маркировка));
        КонецЕсли;
        
        Если FR.registration() <> 0 тогда
            ОтветДрайвера("Продажа");
            Возврат;
        КонецЕсли;   
        
        
        //Закрыть чек
        Если ВозвратныйЧек=0 Тогда
            //Оплата
            FR.setParam(FR.LIBFPTR_PARAM_PAYMENT_TYPE, FR.LIBFPTR_PT_CASH);
            FR.setParam(FR.LIBFPTR_PARAM_PAYMENT_SUM, СуммаВКассу);
            FR.payment();
        КонецЕсли;
        
        FR.closeReceipt(); 
        
        
        //Z-отчет
            FR.setParam(1021, СокрЛП(Пользователь));
            //fptr.setParam(1203, '123456789047');
            FR.operatorLogin();
    
            FR.setParam(FR.LIBFPTR_PARAM_REPORT_TYPE, FR.LIBFPTR_RT_CLOSE_SHIFT);
            FR.report();

            FR.checkDocumentClosed();
            
            
        //X-отчет
            FR.setParam(1021, СокрЛП(Пользователь));
            //fptr.setParam(1203, '123456789047');
            FR.operatorLogin();
            
            
            FR.setParam(FR.LIBFPTR_PARAM_REPORT_TYPE, FR.LIBFPTR_RT_X);
            FR.report();

                
        //открыть ящик
        FR.openDrawer();
        
    
КонецПроцедуры

Все подробности о методах можно прочитать в документации к драйверу, примеры нужно смотреть для "делфи" с поправкой на синтаксис 1С 7.7

Во вложенном файле то же самое, это для тех, кто хочет отблагодарить.
 

См. также

Оптовая торговля Розничная торговля ККМ ЭДО и ОФД Обмен с ГосИС Системный администратор Программист Оперативный учет 7.7 Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Платные (руб)

Подключение фискального регистратора к 1С 7.7 в режиме онлайн-кассы (в соответствии с 54-ФЗ). Поддержка крайних версий драйверов ККТ: ДТО 10 и ДТО 8 для Атол, 4.15, 5.16 для Штрих-М. Поддержка протоколов ФФД 1.0, 1.05, 1.1 и 1.2, развитые настройки для применения частичных оплат и авансов в оптовой и розничной торговле. Поддержка чеков коррекции всех версий. Поддержка розничной продажи маркированной продукции (ЕГАИС, табак, обувь, лекарства, шины, одежда, белье, парфюмерия, молочная продукция, вода и пр.). Вывод электронного чека (на е-майл, телефон) по требованию покупателя, поддерживаются комбинированные типы оплаты, режим эмуляции печати чека на ФР. Полный цикл работы из 1С 7.7 с маркировкой Честный ЗНАК (ГИСМТ, ЦРПТ) из 1С 7.7. ЭДО (табак, обувь, шины, одежда, молочная продукция, вода и прочие группы товаров) для розницы и опта (приемка и оптовая отгрузка маркированной продукции). Поддерживается как объемно-сортовой учет (ОСУ) так и поштучный (поэкземплярный) учет.

2000 руб.

28.03.2017    478227    4443    3488    

2457

Кассовые операции ККМ Системный администратор Программист Бухгалтер Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Программа для управления ККМ Атол и Штрих нового поколения (он-лайн ККТ под 54-ФЗ) с помощью текстового файла (ini файла) с изменениями включена 1 лицензия Для любых программ, которые умеют работать с текстовыми файлами. Внутри комплекта есть готовые к использованию обработки

4800 руб.

31.07.2017    170852    589    605    

204

ККМ Эквайринг/ридер магнитных карт Системный администратор Программист Оперативный учет 7.7 1С:Торговля и склад 7.7 Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)

Данная обработка предназначена для работы с ККТ АТОЛ на платформе 5.0 с драйверами АТОЛ версии 10.7.0.0 и выше для 1С:Торговля и Склад 9.2 (в соответствии с 54-ФЗ). Проста в установке и настройке. Реализован учет маркируемой продукции по ФФД 1.2. В поставку включена поддержка эквайринга на уровне драйверов (в данный момент – Сбер), реализован учет частичных оплат, добавлены эмуляторы кассы и эквайрингового терминала, добавлена обработка генерации тестовых кодов маркировки.

2000 руб.

20.08.2020    27733    61    79    

60

ККМ Кассовые операции Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Россия Платные (руб)

Для тех, у кого остались не типовые конфигурации или сильно доработанные. Не все заказчики согласны платить за перенос конфигурации c V1С 7.7  на V1С 8 в связи с новым применением ККМ нового поколения ( 54-ФЗ ). Код обработки полностью открыт, поэтому разработчику не составит труда использовать методы данной обработки для привязки фискального регистратора Атол любых моделей к конфигурации Заказчика.

1200 руб.

31.03.2017    53624    39    36    

42

Закрытие периода Кассовые операции Учет доходов и расходов Бухгалтер Платформа 1С v7.7 Конфигурации 1cv7 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет ИП, ПБОЮЛ, КФХ Платные (руб)

Комплекс внешних обработок для ведения в электронной форме КУДиР для 1С 7.7 - книги учёта доходов и расходов для предприятий на УСН, ПСН, ЕСХН. Автоматическое заполнение раздела 1, 4, 5 из журнала документов вашей информационной базы. Формирование кассовой книги №КО-4, приходных кассовых ордеров №КО-1 и расходных кассовых ордеров №КО-2.

2400 руб.

20.10.2014    125598    223    129    

220

Кассовые операции Программист Пользователь Платформа 1С v7.7 1С:Торговля и склад 7.7 Украина Абонемент ($m)

Доработанный пример обработки для печати фискального чека для 1с7.7 ТиС, Бух. Возможности обработки: Открытие кассовой смены (автоматически предлагается сделать служебный внос). Регистрация продаж. X-отчет. Z-отчет (перед закрытием смены проверяется сумма наличных, предлагается сделать служебный вынос). Проверить текущий статус фискального регистратора. Печать последнего чека, последнего Z-отчета.

2 стартмани

10.01.2022    5457    4    whtblck    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. user940969 01.02.19 01:01 Сейчас в теме
Как же вовремя статья. Как раз накануне искал как 10-й драйвер Атола подключить. Однозначно плюс
2. monkbest 114 01.02.19 09:05 Сейчас в теме
Есть инфа 100%, что 10й драйвер не нужен, точнее нужен не всегда. Я могу кое-что не так сейчас написать, т.к. не автор драйверов, и это все гипотеза.

Сам поддерживаю 1С7.7 ТиС, который давно не обновлябелен. Цель мероприятия по установке 10ого драйвера в том, чтобы данные в ОФД приходили в новом формате, который не реализован в 8ом драйвере.

Драйвер Атол состоит из 2ух частей: драйвер и служба обмена с ОФД. Драйвер шлет команды в ККМ, а служба шлет данные в ОФД.
Драйвер позволяет работаьь в двух режимах: отправлять в XML формате целиком готовый документ в ККМ или последовательно посылать команды (открыть чек, продать товар 1, продать товар 2, установить скидку, закрыть чек, закрыть смену и т.д.)
В каждой версии драйверов своя dll`ка, для работы через объектную модель и объектная модель собственно разная. Т.е. не просто от версии к версии добавляются новые реквизиты и методы, а они в корне меняются. Обратной совместимости нет. Поэтому автор статьи изучил новую систему команд и реализовал её в 1Сном коде.

После обновления прошивки в ККМ (её делали те, кто обслуживают ККМ) на новый формат, служба EoU стала писать нонстопом ошибку. Видимо, из-за нового формата. Делать нечего, решил что надо ставить 10й драйвер и что-то кодить самому.

Я начал читать документацию по новой системе команд, новой компоненты. Но очень быстро, лень победила и я начал думать. И вот что придумал:

1. Я установил обе версии драйверов
2. Служба EoF запущено от 10й версии
3. COM объект юзаю старый от 8й
4. Обработка торгового оборудования осталась прежней

что нельзя:
нельзя выбить на ККМ новые операции т.к. в 8ом драйвере нет нужных свойств и методов. Всяки авансы, оплаты по банку от физ.лиц...
но в моем случае это и не надо
мне надо:
открыл смену
выбил чек наличными Nраз
закрыл смену

все работает, в офд уходит
5. victuan 4266 16.06.19 07:14 Сейчас в теме
(2) Вы не правы, ДТО8 поддерживает все новые теги, не хуже чем ДТО10.
Готовое решение по ссылке http://infostart.ru/public/603118/
23. phsin 183 01.08.19 18:37 Сейчас в теме
(5) О прекращении поддержки драйверов "АТОЛ: Драйвер ККТ с передачей данных в ОФД (54-ФЗ), 8.x" и "АТОЛ: Драйвер ККТ с передачей данных в ОФД (54-ФЗ), 9.x"
http://1c.ru/news/info.jsp?id=25026

О переходе на ДККТ 10 и прекращении развития и поддержки ДККТ 8 и 9
https://www.atol.ru/company/news/o-perekhode-na-dkkt-10-i-prekrashchenii-razvitiya-i-podderzhki-dkkt-8-i-9-/
3. user1167562 16.05.19 20:32 Сейчас в теме
При работе на 8й версии АТОЛ работает и отправляет, но неверно отправляет ставку НДС, они сменили порядок ставок.
Хорошо быстро обнаружили
4. Санта 11.06.19 10:42 Сейчас в теме
Добрый день! Подскажите пожалуйста по связке 7.7 ТИС и АТОЛ 10?
В Вашем варианте какую dll указывать в настройках торгового оборудования?
6. kalleka 47 24.06.19 13:45 Сейчас в теме
Вариант работает с новыми тегами, которые становятся обязательными с 1 июля?
7. Tarlich 116 02.07.19 21:02 Сейчас в теме
Прошу подсказать :
Тис 9.2 передает в ПечатьЧЕк() списокТоваров (ТаблицаЗначенй)
Данный код работает - все ок!!!
но мне надо добавить цикл что бы печатать товары ,
подскажите как ?
сделал :
Объект.openReceipt(); 		    
	СписокТоваров.ВыбратьСтроки();
	Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл 			 
  Объект.setParam(Объект.LIBFPTR_PARAM_COMMODITY_NAME,СокрЛП(СписокТоваров.ТовНаим));
			Объект.setParam(Объект.LIBFPTR_PARAM_PRICE, СписокТоваров.Цена);
			Объект.setParam(Объект.LIBFPTR_PARAM_QUANTITY, СписокТоваров.Количество);
			Объект.setParam(Объект.LIBFPTR_PARAM_TAX_TYPE, Объект.LIBFPTR_TAX_NO );
	КонецЦикла;

Печатаеться один товар только .....
11. NikNIklas 09.07.19 11:35 Сейчас в теме
(7) в цикл добавить регистрацию строки Объект.registration();
12. Tarlich 116 09.07.19 11:48 Сейчас в теме
(11)
Объект.registration();

Вот весь мой код :

СписокТоваров.ВыбратьСтроки();
		
		Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл 		
			Объект.openReceipt(); 			
			//Продажа
			Объект.setParam(Объект.LIBFPTR_PARAM_COMMODITY_NAME,СокрЛП(СписокТоваров.ТовНаим));
			Объект.setParam(Объект.LIBFPTR_PARAM_PRICE, СписокТоваров.Цена);
			Объект.setParam(Объект.LIBFPTR_PARAM_QUANTITY, СписокТоваров.Количество);
			Объект.setParam(Объект.LIBFPTR_PARAM_TAX_TYPE, Объект.LIBFPTR_TAX_NO );			
			Если Объект.registration() <> 0 тогда
				ОтветДрайвера("Продажа",Объект);
				рез = 1;
			КонецЕсли;   	
			//Закрыть чек
			Если ПризнВозврата=0 Тогда
				//Оплата
				Объект.setParam(Объект.LIBFPTR_PARAM_PAYMENT_TYPE, Объект.LIBFPTR_PT_CASH);
				Объект.setParam(Объект.LIBFPTR_PARAM_PAYMENT_SUM, СуммаЧека);
				Объект.payment();
			КонецЕсли;		
			Объект.closeReceipt();    			
		КонецЦикла;
Показать
13. NikNIklas 09.07.19 11:59 Сейчас в теме
(12)
Объект.openReceipt();
Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл
//Продажа
Объект.setParam(Объект.LIBFPTR_PARAM_COMMODITY_NAME,СокрЛП(СписокТоваров.ТовНаим));
Объект.setParam(Объект.LIBFPTR_PARAM_PRICE, СписокТоваров.Цена);
Объект.setParam(Объект.LIBFPTR_PARAM_QUANTITY, СписокТоваров.Количество);
Объект.setParam(Объект.LIBFPTR_PARAM_TAX_TYPE, Объект.LIBFPTR_TAX_NO );
Если Объект.registration() <> 0 тогда
ОтветДрайвера("Продажа",Объект);
рез = 1;
КонецЕсли;
КонецЦикла; 
//Закрыть чек
Если ПризнВозврата=0 Тогда
//Оплата
Объект.setParam(Объект.LIBFPTR_PARAM_PAYMENT_TYPE, Объект.LIBFPTR_PT_CASH);
Объект.setParam(Объект.LIBFPTR_PARAM_PAYMENT_SUM, СуммаЧека);
Объект.payment();
КонецЕсли;
Объект.closeReceipt();
Показать
8. phsin 183 03.07.19 12:42 Сейчас в теме
Установил версию 10.5.0.0 ДТО
запускаю на win 7

ИмяКомпоненты = "addin_fptr10_x86.dll";
Если ЗагрузитьВнешнююКомпоненту(ИмяКомпоненты) <> 0  Тогда
	Попытка
		driver = СоздатьОбъект("AddIn.Fptr10");
	исключение
		Сообщить("Ошибка при создании объекта "+ИмяКомпоненты,"!");
	конецпопытки;
Иначе
	Сообщить("Ошибка загрузки внешней компоненты "+ИмяКомпоненты+"
	|"+ОписаниеОшибки(),"");
КонецЕсли;
Показать


получаю ошибку:

Ошибка при создании объекта из компоненты C:\1C\test\addin_fptr10_x86.dll (отсутствует интерфейс IInitDone)


можете выложить вашу версию драйвера addin_fptr10_x86.dll ?
14. NikNIklas 10.07.19 12:36 Сейчас в теме
(8) (9) получилось подключить?
21. z5515 5 01.08.19 07:17 Сейчас в теме
(8)(9)(14)

Долго маялся с "addin_fptr10_x86.dll (отсутствует интерфейс IInitDone)"

Потом дошло, ее не надо пытаться подключить как ВК, достаточно зарегистрировать через regsvr32,
и обращаться к объекту "FR = СоздатьОбъект("AddIn.Fptr10"); "
22. NikNIklas 01.08.19 10:01 Сейчас в теме
9. resonance 82 08.07.19 14:27 Сейчас в теме
( 8) Добрый день, подскажите - удалось ли подключить ФР? отсутствует интерфейс IInitDone Именно такую ошибку получаю
10. NikNIklas 09.07.19 11:34 Сейчас в теме
В настройках указывайте старую длл: FprnM1C.dll. В AddIn - Fptr10
15. resonance 82 11.07.19 12:58 Сейчас в теме
FprnM1C.dll - указывал и AddIn - Fptr10

ошибка все равно одна и та же - "Служба Frontol не запущена."...
16. victuan 4266 16.07.19 14:08 Сейчас в теме
Готовое решение с поддержкой ДТО8 и ДТО10 по ссылке http://expert.chistov.pro/public/603118/
17. NikNIklas 24.07.19 11:14 Сейчас в теме
1с 7.7 торговля, драйвер 10.5.0, касса по усб. С локального компа на скульной базе печатает влёт. Через РДП касса подключается, видна через параметры и проверку связи, но на печать не выдает ничего: на команду .open() - возвращает "-1" и ошибку "Порт недоступен". В чем может быть затык?.. дрова одинаковые возвращает .version() = 10.5.0.0 в обоих случаях. длл-ки лежат в \bin\, зарегены.. делаю без установки параметров .applySingleSettings()..
18. NikNIklas 25.07.19 09:35 Сейчас в теме
(17) а если указать какой порт подключать, то печатает и с сервера... Вопрос: как программно получить настройку в 7ке порта ККМ из параметров?
19. NikNIklas 29.07.19 15:27 Сейчас в теме
еще ситуация: ГТД и код страны передан в ККТ, в ОФД данные по чеку появились, а на самом чеке этих данных нет.. Лог кассы без ошибок. Это Атол 25Ф. При этом 22птк в тестовых режимах печатал всё.
20. NikNIklas 30.07.19 09:52 Сейчас в теме
24. phsin 183 02.08.19 14:12 Сейчас в теме
Стандартные драйвера подружить не удалось, пришлось делать COM обертку... https://infostart.ru/public/1102431/
26. user738935 09.11.20 16:59 Сейчас в теме
25. Drizer2000 14 08.10.20 14:13 Сейчас в теме
А ваша обработка работает с 5.0 платформой атол?
27. grafit 8 30.01.21 12:33 Сейчас в теме
Как отключиться после печати чека и освободить порт?
28. rinat_az 32 17.03.21 10:51 Сейчас в теме
29. grafit 8 19.03.21 13:07 Сейчас в теме
Да, так и делал. Для работы нескольких пользователей с разных рабочих мест(компьютеров) на одной ККТ.
Пока порт не освободишь, другой пользователь не может получить доступ к ККТ.
30. Logarifm_Andre 15 22.03.21 17:40 Сейчас в теме
Доброго дня.

Есть небольшой вопрос при печати чека и дальнейшей отправки его в ОФД.
Если не указывать реквизит 1055 (система налогообложения), то он подтянет ее с самой кассы или необходимо прописывать насильно?
Пока нет проплаченного ОФД, поэтому и возник вопрос (нет возможности проверить).
31. zhenyat 8 22.10.21 16:26 Сейчас в теме
Здравствуйте. Я скачала и установила драйвера атол 10.9.0.5, но не могу найти addin_fptr10_x86.dll. Где её искать о?
32. zhenyat 8 25.10.21 12:09 Сейчас в теме
Оставьте свое сообщение