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

31.01.19

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
54-ФЗ: Онлайн-кассы для 1С 7.7 нетиповая:
.ert 17,00Kb
42
42 Скачать (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) Оптовая торговля, дистрибуция, логистика Россия Платные (руб)

Поддерживаются новые ставки НДС 5% и 7% для УСН при продаже через ККТ. Подключение фискального регистратора к 1С 7.7 в режиме онлайн-кассы в соответствии с 54-ФЗ. Поддержка актуальных версий драйверов ККТ: ДТО 10 и ДТО 8 для Атол, 4.15, 5.16 для Штрих-М. Поддержка розничной продажи маркированной продукции (алкоголь, табак, обувь, лекарства, шины, одежда, белье, парфюмерия, молочная продукция, вода и пр.).

2000 руб.

28.03.2017    484900    4559    3519    

2478

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

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

6000 руб.

31.07.2017    173605    600    609    

208

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

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

3000 руб.

20.08.2020    28489    71    81    

67

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

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

3600 руб.

20.10.2014    126320    227    130    

223

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

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

2400 руб.

31.03.2017    54437    44    37    

45

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

У Вас есть программа "1С:Торговля и Склад 7.7"... Вы знаете, что с ее помощью Вы можете легко и быстро автоматизировать свой магазин, не устанавливая дополнительных программ? Что для этого нужно? Нужна внешняя печатная форма чека. Стандартная программа не имеет в своем составе возможности печати чека ККМ из документа "Чек". Если же дополнить конфигурацию внешней печатной формой чека ккм (в его стандартном виде) - можно автоматизировать магазин с минимальными расходами и очень просто. Установите эту печатную форму и печатайте чеки из самого документа. Данное решение не организует рабочего места кассира (не предназначено для этого), но зато позволяет менеджеру распечатывать стандартные чеки очень просто и быстро - прямо из документа в программе 1С. Чтобы чек имел вид реального кассового чека - желательно использовать принтер чеков... и соответствующую к нему бумагу.

2400 руб.

01.05.2012    57171    15    20    

17
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 4288 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 118 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 118 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 83 08.07.19 14:27 Сейчас в теме
( 8) Добрый день, подскажите - удалось ли подключить ФР? отсутствует интерфейс IInitDone Именно такую ошибку получаю
10. NikNIklas 09.07.19 11:34 Сейчас в теме
В настройках указывайте старую длл: FprnM1C.dll. В AddIn - Fptr10
15. resonance 83 11.07.19 12:58 Сейчас в теме
FprnM1C.dll - указывал и AddIn - Fptr10

ошибка все равно одна и та же - "Служба Frontol не запущена."...
16. victuan 4288 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 Сейчас в теме
Оставьте свое сообщение