Страница 33 из 39
					
				Класс для API АТОЛ «Драйвер ККТ версии 10»
				Добавлено: 18 Январь 2019, 10:36
				 Игорь Столяров
				Привет всем !
Класс работы с драйвером ККТ АТОЛ 10 на основе JSON заданий. 
Форк класса ADMIN'а: 
Driver10.zip
Класс рабочий, в комплекте примеры использования. Любые замечания и дополнения - приветствуются. 

В FTP разделе форума создана папка: 
/_Books/Atol.KKT со всей сопутствующей документацией.
----------------------------------------------------------------------------------------------------
Рекомендуем использовать актуальные версии классов 
cJSON и 
PrintF.
 
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 31 Октябрь 2024, 18:37
				 finsoftrz
				Если работает на компьютере, то получается все равно отдельный драйвер под каждую ОС.
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 31 Октябрь 2024, 18:49
				 Игорь Столяров
				Конечно отдельный драйвер на каждую ОС. А как иначе ? Он так сейчас и идёт.
Но язык взаимодействия общий - JSON. Cтруктура данных, методы - одинаковые.
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 01 Ноябрь 2024, 12:37
				 RaFaeL
				finsoftrz писал(а): 31 Октябрь 2024, 16:23
Интересно, кто-нибудь еще пользуется классом из этой темы?
 
Я планирую перейти, хотя и так вроде от Игоря класс использую, но какой-то не сильно новый
 
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 01 Ноябрь 2024, 17:33
				 SergioRaguzini
				finsoftrz писал(а): 31 Октябрь 2024, 16:23
...Интересно, кто-нибудь еще пользуется классом из этой темы?...
 
Для работы с АТОЛ использую расширенный уже под себя класс 
Admin-а который, многих из нас просто спас когда "ДТО-8 приказало долго жить". Класс 
Игоря, конечно, штудирую, а его недавний класс 
Honest для работы с разрешительным режимом просто выручил, за что ему, конечно, как и 
Admin-у, огромная благодарность.
Переход на что-то "новое", неизбежно приводит к ошибкам и недочетам, которые приходится править. Хорошо, когда пользователь относится к этому с пониманием, а когда кассовое решение рабоатет, например, в бюджетном предприятии и каждая кассовая ошибка приводит к шоку бухгалтерию, то лучше уж проверенное старое
 
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 01 Ноябрь 2024, 17:45
				 Игорь Столяров
				SergioRaguzini писал(а): 01 Ноябрь 2024, 17:33
когда "ДТО-8 приказало долго жить"
 
Не поверите - но до сих пор вычищаем. 
Раз в пару месяцев из леса выходит юзер с вопросом "Почему не печатает старая кассса с драйвером АТОЛ 8" после обновления.
И казалось бы всё просто - ставь драйвер АТОЛ 10, переключай на него программу и работай.
Но нет. Теперь перчику добавил уже сам АТОЛ, вырубив в драйвере 10.10.3.0 поддержку старой платформы 2.5. 

 
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 15 Ноябрь 2024, 7:28
				 Игорь Столяров
				ДД !
Версия класса для ККТ АТОЛ 10 от 15.11.2024 г.
-----------------------------------------------------------
Сняты ограничения на кол-во и места печати нефискальных элементов в чеке;
Добавлена возможность указывать символ для разделителя строк в чеке;
Печать нефискальных элементов с реквизитами пользователя и чека (БСО);
Печать нефискальных элементов с картинкой из памяти ККТ по номеру;
Печать нефискальных элементов с картинкой из массива пикселей;
Добавлен параметр Header.Silent для печати чеков без выдачи сообщений;
Добавлен режим Self.ReopeningShift для авто-переоткрытия истекшей смены (КМ !);
Добавлен метод jDisplayFnStatus() для просмотра текущего состояния ФН; 
Добавлен распарс кода маркировки для пива и слабо-алкашки;
Убраны массивы ANY полей в QUEUE - сложно использовать и обслуживать;
Устранены известные проблемы и обновлены примеры.
-----------------------------------------------------------
Мы используем актуальную версию класса cJSON с сайта автора.
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 15 Ноябрь 2024, 11:49
				 Дед Пахом
				Игорь Столяров писал(а): 15 Ноябрь 2024, 7:28
ерсия класса для ККТ АТОЛ 10 от 15.10.2024 г.
 
А у нас ноябрь уже.
 
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 20 Ноябрь 2024, 7:03
				 Игорь Столяров
				Привет всем !
Версия класса для ККТ АТОЛ 10 от 20.11.2024 г.
-----------------------------------------------------------
Обновлён модельный ряд ККТ АТОЛ для подключения по номеру;
Возможность подключения по коду модели ККТ в драйвере АТОЛ;
Расчёт псевдонимов для тега 1214 "Признак способа  расчета";
Псевдонимы по значению ставки для тега 1199 "Налоговая ставка";
Предварительная готовность к работе со ставками налога 5% и 7%;
Устранены известные проблемы (и возможно добавлены новые).
-----------------------------------------------------------
Мы используем актуальную версию класса cJSON с сайта автора.
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 20 Ноябрь 2024, 11:04
				 RaFaeL
				Игорь Столяров писал(а): 20 Ноябрь 2024, 7:03
Предварительная готовность к работе со ставками налога 5% и 7%;
 
Актуально, а для этого нужно дополнительно драйвер обновлять или что-то еще? Прошивки недавно обновляли
 
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 20 Ноябрь 2024, 11:31
				 Игорь Столяров
				RaFaeL писал(а): 20 Ноябрь 2024, 11:04
Прошивки недавно обновляли
 
К сожалению, прошивок и драйверов для новых ставок налогов (и курортного налога) сейчас ещё нет.
По банальной причине - нет закона, а есть только проект.
Новые ставки налогов начинают действовать с 01.01.2025 г., требования отражать их в чеках с 01.03.2025 г.
Есть разъяснение ФНС о том, что при отсутствии технической возможности (прошивки + драйвера), в этот период налогоплательщик
продолжает выдавать чеки со ставкой "БЕЗ НАЛОГА" подразумевая, что в сумме без налога уже исчислен налог по новой ставке.
(не по ставке "0 % НДС" + сумма налога, как ошибочно копипастят друг у друга некоторые блогеры)
Что касается драйвера АТОЛ 10, то в нём добавлен метод 
Код: Выделить всё
!!! Расчёт значения тега 1199 "Налоговая ставка" 
Atol::Calc1199 Procedure(Byte bTaxRate = 255) !,String
  Code
  If    bTaxRate =   0 then Return 'vat0'
  elsIf bTaxRate =   5 then Return 'vat5'   ! Предварительно
  elsIf bTaxRate =   7 then Return 'vat7'   ! Предварительно
  elsIf bTaxRate =  10 then Return 'vat10'
  elsIf bTaxRate =  20 then Return 'vat20'
  elsIf bTaxRate = 105 then Return 'vat105' ! Предварительно
  elsIf bTaxRate = 107 then Return 'vat107' ! Предварительно
  elsIf bTaxRate = 110 then Return 'vat110'
  elsIf bTaxRate = 120 then Return 'vat120'
                       else Return 'none'.  ! Без налога
который по ЗНАЧЕНИЮ СТАВКИ НАЛОГА возвращает псевдоним для тега 1199.
В нём я тупо попытался угадать значения тегов для новых ставок налогов. 
Но даже если я ошибся - то будет просто исправлено 4 строки и все проекты сразу уже работают с новыми 
ставками налогов (в отличии от старой схемы, где псевдоним тега расчитывался от порядкового номера ставки)
и нужно было в каждой процедуре печати чеков обрабатывать ставки налогов, в т.ч. и добавлять новые ...
Как-то так оно вот  ...  

 
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 20 Ноябрь 2024, 12:16
				 RaFaeL
				Окей, тогда начну с перевода проекта на актуальный класс
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 20 Ноябрь 2024, 14:28
				 Игорь Столяров
				Запускаем акцию "Переходи на кайфовую сторону и получи иконку АТОЛ в подарок !"  

 
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 20 Ноябрь 2024, 17:25
				 RaFaeL
				В документации ошибка в примере, упоминается gDeepItems которого нет
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 20 Ноябрь 2024, 17:38
				 Игорь Столяров
				Спасибо ! Забыл убрать из заголовка чека в примере - это устаревший код из "старой" версии класса.
Сейчас нефискальные элементы и БСО добавляются напрямую в элементы чека в любом кол-ве и в любое место.
(в полном соответствии с описанием драйвера АТОЛ)
Код: Выделить всё
  Atol::CreateNewItem(qItems)                  ! Разделитель элементов в чеке
  qItems.gOutItem.type  = 'separator'
  Add(qItems)
  
  Atol::CreateNewItem(qItems)                  ! Произвольный текст
  qItems.gOutItem.type  = 'text'
  qItems.gOutItem.text  = 'Просто текст в содержании чека'
  Add(qItems)       
  
  Atol::CreateNewItem(qItems)                  ! 1192 Номер исходного ФД для возврата и коррекции
  qItems.gOutItem.type  = 'additionalAttribute'
  qItems.gOutItem.value = '1122334455'
  Add(qItems) 
  
  Atol::CreateNewItem(qItems)                  ! Текст с разделением по ширине строки
  qItems.gOutItem.type  = 'text'
  qItems.gOutItem.text  = 'Комиссионный сбор:' ! Левая  часть строки с текстом
  qItems.gOutItem.value = '15%'                ! Правая часть строки с текстом  
  Add(qItems)       
  
Устранено в версии от 21.11.2024 г.
 
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 21 Ноябрь 2024, 19:14
				 SergioRaguzini
				Привет Всем!
Игорь Столяров писал(а): 20 Ноябрь 2024, 11:31
...Есть разъяснение ФНС о том, что при отсутствии технической возможности....
 
Игорь, а можно ссылку на данное "разъяснение" (не нашел в интернете)