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

В FTP разделе форума создана папка: 
/_Books/Atol.KKT со всей сопутствующей документацией.
----------------------------------------------------------------------------------------------------
Рекомендуем использовать актуальные версии классов 
cJSON и 
PrintF.
 
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 08 Июль 2020, 15:08
				 finsoftrz
				Мне просто эту ссылку админ дал. 
Сама история такая. У одного клиента не уходили чеки в офд. Он стукнулся в техподдержку сбиса. Оттуда кто-то удаленно подключился, переправил чеки (зашел в тест драйвера, включил флажок подключено), чеки ушли. Сказал, что у вас проблема в кассовом софте, он должен режим передачи чеков в офд включать. Поехал админ разбираться. Выяснил, что проблема возникает только при указанном устаревшем способе подключения. На одной из касс переключил на сетевой вариант, все заработало. А на второй кассе технически это сделать проблематично. Передал вопрос мне. Клиенту пока показал, как зайти в тест драйвера и поставить флажок подключения. Благо, что они ккм пользуются не часто.
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 08 Июль 2020, 15:10
				 finsoftrz
				А по ссылке я не понял. В дто 10 вроде как таблиц нет. Это в дто 8 было.
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 08 Июль 2020, 17:56
				 finsoftrz
				В общем, скорее всего, в данном режиме отправляет только при активном подключении. У нас кассовый сервер постоянное подключение не держит. Пришел чек, подключился, напечатал, отключился. Не успевает отправить в ОФД.
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 09 Июль 2020, 14:10
				 Игорь Столяров
				finsoftrz писал(а): 08 Июль 2020, 17:56
Пришел чек, подключился, напечатал, отключился.
 
Это и есть "старая" модель работы с АТОЛ ДТО8. 

 Для ДККТ10 не будет работать - надо менять.
			
		
				
			
 
						- 1.jpg (87.37 КБ) 6332 просмотра
 
		
		
		
			  
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 09 Июль 2020, 15:39
				 Игорь Столяров
				finsoftrz писал(а): 09 Июль 2020, 14:49
если говорить дипломатическим языком
 
Грустные истории о АТОЛ ДККТ10 есть у всех, наверное.
У меня есть юзер - к серверу на Win2003 подключены два АТОЛ через COM порты ещё. С ДТО8 всё работает как часы лет 10 уже.
Стали переводить на ДККТ10 - выдаёт какие-то дикие коды ошибок и не печатает. Ничего. В том смысле, что совсем ничего. 

Написали в тех. поддержку АТОЛ. А там быстро ответили на простой вопрос: мы ДККТ10 с Win2003 и другими Windows,
снятыми производителем с тех поддержки - не тестируем. Вроде - работает, а если что-то клинит - обновите Windows. 

 
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 09 Июль 2020, 16:36
				 finsoftrz
				Увязывать передачу данных в офд с подключением из верхнего ПО шедеврально. В целом, я понимаю ход мыслей. Они хотят постепенно перейти на работу через свой веб сервер, который будет выполнять необходимые функции. То есть, как такового в привычном смысле слова, драйвера и нет сейчас. Есть библиотека и приложения, которые через нее работают (настройка, тест драйвера, наши приложения, веб сервер). 
Проблема с передачей данных в офд возникает, насколько я понял, только при одном из 4 возможных вариантов подключения. Видимо, при остальных чеки сразу передаются в офд, а при нем ставятся в очередь и затем отправляются в фоновом режиме, если какая-либо из программ подключилась.
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 09 Июль 2020, 17:29
				 Игорь Столяров
				finsoftrz писал(а): 09 Июль 2020, 16:36
Они хотят постепенно перейти на работу через свой веб сервер, который будет выполнять необходимые функции.
 
На мой субъективный взгляд - нет. Здесь другое.
Программное ядро ФР состоит из двух частей: прошивки ФР и собственно драйвера.
Так вот АТОЛ хочет максимально (а в идеале полностью) переместить весь программный код в драйвер.
Это удешевит железо ФР и снимет ограничения на размер памяти и скорости процессора ФР.
Т.е. сам ФР должен стать по сути печатно-коммуникационным девайсом, полностью управляемый драйвером. 
ФР тянут за собой проклятие прошлых десятилетий, когда компьютер "не тянул" формирование и печать чека и
эти операции выполнялись специализированным аппаратно-программным комплексом, т.е. ФР. Да и скорость
обмена по COM порту была неторопливая, от слова совсем … 
Сейчас-то всё уже по другому. Посмотрите современный струйный принтер - в нём практические ничего нет
кроме порта обмена и собственно печатного механизма - всю обработку и управление печатью выполняет драйвер.
 
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 09 Июль 2020, 17:39
				 finsoftrz
				Одно другому не противоречит. Сейчас в дто10 драйвер не является самодостаточной управляющей программой, как в дто8 или в штрихах. Значит, над ним должна быть надстройка. В идеале, их же веб сервер, чтобы лучше контролировать процесс, а не сразу верхнее прикладное ПО. А функции прошивки вполне могут постепенно перекочевать на уровень драйвера.
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 09 Июль 2020, 19:26
				 Игорь Столяров
				finsoftrz писал(а): 09 Июль 2020, 17:39
А функции прошивки вполне могут постепенно перекочевать на уровень драйвера
 
Процесс пошёл ! (С) М.С. Горбачёв
Например системные таблицы ФР переехали уже из прошивки на сторону драйвера в ДККТ10.
Сервис - это мечта разработчика, а не пользователя. 

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

Сервис может управлять ФР, а разработчик делать всё, что угодно с сервисом и собирать с юзеров подписку. 

 
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 10 Июль 2020, 11:30
				 Игорь Столяров
				Я заранее извиняюсь, но всё-таки хочу спросить.
Есть некое 
MDI окно, в нём кнопка. По нажатию кнопки вызываем панель управления АТОЛ ДККТ10:
Код: Выделить всё
    If MyAtol.Init() = LIBFPTR_OK
       If MyAtol.OpenDialog() = LIBFPTR_ERROR then Message(MyAtol.ErrorDescription()).
    end
У кого-нибудь этот код работает ? Особенно если попытаться закрыть / открыть панель управления АТОЛ несколько раз ?
 
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 10 Июль 2020, 12:00
				 Admin
				Init два раза вызываешь что ли?
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 10 Июль 2020, 14:14
				 Игорь Столяров
				Admin писал(а): 10 Июль 2020, 12:00
Init два раза вызываешь что ли?
 
Конечно нет. 

 Пардон, надо было пояснить - класс изменён ! У меня проверка загрузки и собственно загрузка библиотеки 
перенесена в Atol.Init() для инициализации библиотеки из DLL по первому обращению, а не всегда при открытии окна. 

Но сути это не меняет - т.е. если в оригинальном коде библиотеки:
Код: Выделить всё
    OPEN(Atol10_Demo_MDI_Window)               ! В начале процедуры
    IF SELF.Init() <> LIBFPTR_OK  then RETURN. ! создаем дескриптор библиотеки
     …   
     … 
     ! Нажатие кнопки в MDI окне
     IF SELF.FlagLoaded
        IF SELF.OpenDialog() = LIBFPTR_ERROR ! 1 = cancel, LIBFPTR_OK, LIBFPTR_ERROR
            MESSAGE(SELF.ErrorDescription(),SELF.ErrorCode())
            RETURN
        END
     END
Всё то же самое. 

 По первому нажатию кнопки грузится секунд 20 как из глубин ада, а по второму всё переклинивает. 

 
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 10 Июль 2020, 16:58
				 Admin
				Только в понедельник на работе смогу посмотреть.
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 10 Июль 2020, 17:36
				 finsoftrz
				А не mdi окно не пробовали?
			 
			
					
				ATOL драйвер 10.x
				Добавлено: 10 Июль 2020, 19:48
				 Игорь Столяров
				finsoftrz писал(а): 10 Июль 2020, 17:36
А не mdi окно не пробовали?
 
Конечно, так работает. Как минимум это есть в оригинальном примере Админа. 
