Синхронизация времени на ККМ

1. benzol45 24.10.18 10:52 Сейчас в теме
Добрый день.

Заметил что часы на онлайнККМ Атол далеки от идеальных и убегать/отставать в день на 20 секунд это практически норма и за месяц время на ККМ уже весьма значительно отличается от реального. На компьютере без проблем настроить синхронизацию времени с ntp и забыть про рассинхрон, но возникает вопрос как это же время установить на ККМ. В возможностях Розницы 2.2 я подобного не нашёл и среди методов NativeAPI от Атола, через которую идёт работа с ККТ, что бы устанавливать самому программно тоже не увидел.
Неужели единственный вариант установить время это только через тест драйвера ?

С уважением, Михаил
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. mcgoblin 3 24.10.18 11:02 Сейчас в теме
(1) Молодой человек, юзайте драйвер ККМ и курите мануал от него, там есть настройки.
Подключаетесь к ККМ через стандартный драйвер и нажимаете так же Синхронизировать время

Так же можете поизучать Апи драйвера ККМ, там, если не ошибаюсь, была такая функция, которая отвечает за установку времени
4. mcgoblin 3 24.10.18 11:13 Сейчас в теме
(2)
(1) А тут ссылка на руководство к атолу, где описаны все функции, в том числе и функции установки даты и времени
http://partner.atol.ru/files/dc/79/Drivers8_FprnM_PM.pdf
5. benzol45 24.10.18 12:36 Сейчас в теме
(2)
Тест драйвера у Атола и есть надстройка над драйвером ККМ и конечно настройки времени там есть. И вот именно туда продавцов пускать не то что не хочется а прямо категорически не рассматривается.Пара нажатий мимо нужной кнопки и продавец вместо торговли получает перекур на пару часов.

Вот про "Апи дравйвера" по сути и был вопрос. Но работает Розница через доп. прослойку между драйвером Атола и 1с - интеграционную компоненту NativeApi и там такой функционал я не нашёл, хотя возможно как раз что и плохо или не там искал.

По (4) да, ссылку эту и аналогичную для Атол ДрайвераККТ 9 изучил. но это из компоненты под NativeApi недоступно.
По (3) аналогично - читал и пробовал, тема очень старая и так не получается. на ДТО 9 ни один из типов AddIn.DrvFR, AddIn.FPrnM8, AddIn.FPrnM9 не определён. Подключается AddIn.ATOL_KKT_1C83_V9.ATOL_KKT_1C83_V9 но это как раз и есть компонента через NativeAPI - подключение настраиваю, тест проходит но вот время менять механизма не вижу.
3. mcgoblin 3 24.10.18 11:09 Сейчас в теме
(1) достал дописывать свой основной пост)))

Вот ссылка по твоей проблеме
https://forum.infostart.ru/forum9/topic50174/
6. benzol45 24.10.18 13:17 Сейчас в теме
(3)

Вообще я бы с радостью сработал напрямую с драйвером но даже на этапе загрузки ВК получаю ошибку
ЗагрузитьВнешнююКомпоненту("C:\Program Files\ATOL\Drivers9\KKT\bin\fptr.dll") то ли уже ДТО напрямую не собирается работать, что конечно вряд ли, то ли 1с желает работать только через компоненты NativeAPI. Если есть опыт подключения ДТО 9 к 1с УФ буду благодарен если поделишься.
7. mcgoblin 3 24.10.18 15:45 Сейчас в теме
(6) Когда еще не прогал, а только админил на позапрошлой работе, мы нанимали прогера. Он распиливал официальную обработку по работе с устройством и на основе ее дописывал функционал дополнительных настроек ккм.

Если программируешь, то попробуй так же.
8. benzol45 26.10.18 10:22 Сейчас в теме
(7)
Так не стоит так вопрос даже "писать или не писать". конечно готов писать. Но то что у ДТО 9 идёт для интеграции в 1с это компонента с NativeApi которвая подцепляется как AddIn.ATOL_KKT_1C83_V9 и на ИТСе есть список всех доступных от неё методов https://its.1c.ru/db/metod8dev#content:4829:hdoc . Там куча всего с печатью чеков, нефискализованых документов, открытий/закрытий смены но нет методов для изменения времени. Насколько я сейчас понимаю то через неё в принципе невозможно управлять временем на КММ. Поэтому и спрашиваю у сообщества может кто то подобную задачу решал и это я вупор не вижу нужного метода а он есть или есть какой-то другой вариант.
11. lefthander 25.01.19 13:44 Сейчас в теме
(1)Вы должны помнить, что время можно изменить ТОЛЬКО при закрытой смене. Если смена открыта, то поменять не получится.
9. dima_gsv 21 09.01.19 23:57 Сейчас в теме
Для 10 версии драйвера Атол:
&НаКлиенте
Процедура Синхронизировать(Команда)
	
	fptr = Новый COMОбъект("AddIn.Fptr10");
	fptr.setSingleSetting(fptr.LIBFPTR_SETTING_MODEL, Строка(fptr.LIBFPTR_MODEL_ATOL_22F));
    fptr.setSingleSetting(fptr.LIBFPTR_SETTING_PORT, Строка(fptr.LIBFPTR_PORT_COM));
    fptr.setSingleSetting(fptr.LIBFPTR_SETTING_COM_FILE, "COM12");
    fptr.applySingleSettings();
	
	Если fptr.open() < 0 Тогда
		Сообщить("Ошибка соединения с ККТ: " + fptr.errorCode() + " [" + fptr.errorDescription() + "]");
		Возврат;
	КонецЕсли;
	
	fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_SHIFT_STATE);
 	Если fptr.queryData() < 0 Тогда
		Сообщить("Ошибка запроса состояния смены ККТ: " + fptr.errorCode() + " [" + fptr.errorDescription() + "]");
		Возврат;
	КонецЕсли;
    СостояниеСмены = fptr.getParamInt(fptr.LIBFPTR_PARAM_SHIFT_STATE);
	Сообщить("Cмена ККТ закрыта: " + ?(СостояниеСмены = fptr.LIBFPTR_SS_CLOSED, "Да", "Нет"));
	
	fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_DATE_TIME);
	Если fptr.queryData() < 0 Тогда
		Сообщить("Ошибка запроса текущей даты и времени ККТ: " + fptr.errorCode() + " [" + fptr.errorDescription() + "]");
		Возврат;
	КонецЕсли;

    ДатаВремяВККТ = Дата(fptr.getParamDateTime(fptr.LIBFPTR_PARAM_DATE_TIME));
	Сообщить("Дата и время в ККТ: " + ДатаВремяВККТ);
	
	ТекДата = ТекущаяДата();
	Сообщить("Системные дата и время: " + ТекДата);
	ОтклонениеВСекундах = МодульЧисла(ДатаВремяВККТ - ТекДата);
	Сообщить("Отклонение от системного времени, сек: " + Формат(ДатаВремяВККТ - ТекДата, "ЧН="));
	
	Если ОтклонениеВСекундах < 10 Тогда
		Сообщить("Отклонение времени ККТ от системного не большое (менее 10 сек). Корректировка времени в ККТ не требуется");
	ИначеЕсли ОтклонениеВСекундах > 300 Тогда
		Сообщить("Отклонение времени ККТ от системного слишком большое (более 300 сек). Корректировка времени в ККТ должна быть выполнена вручную");
	ИначеЕсли СостояниеСмены <> fptr.LIBFPTR_SS_CLOSED Тогда
		Сообщить("Корректировка времени в ККТ не выполнена, т.к. смена не закрыта.");
	Иначе
		fptr.setParam(fptr.LIBFPTR_PARAM_DATE_TIME, ТекДата);
		Если fptr.writeDateTime() < 0 Тогда
			Сообщить("Ошибка установки даты и времени в ККТ: " + fptr.errorCode() + " [" + fptr.errorDescription() + "]");
			Возврат;
		КонецЕсли;
		Сообщить("Системные дата и время записаны в ККТ");
	КонецЕсли;
	
	Если fptr.close() < 0 Тогда
		Сообщить("Ошибка закрытия соединения с ККТ: " + fptr.errorCode() + " [" + fptr.errorDescription() + "]");
		Возврат;
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Функция МодульЧисла(ИсходноеЧисло)

    Если ИсходноеЧисло < 0 Тогда
        Возврат -ИсходноеЧисло
    Иначе
        Возврат ИсходноеЧисло
    КонецЕсли;

КонецФункции
Показать

Документация по com объекту есть в составе атоловских драйверов.
dalex611; user715379; IntellXeon; yaguarrr; independ; FirePyres; HameleonA; +7 Ответить
13. a0212 04.04.19 08:56 Сейчас в теме
(9) у меня вываливается сообщение об ошибке - "Ошибка при вызове конструктора (COMОбъект): -2147221164(0x80040154): Класс не зарегистрирован"
зарегистрировал addin_fptr10_x86.dll - не помогло..

Не было ли подобного часом?
даже незнаю на что и подумать то..
14. dima_gsv 21 04.04.19 16:48 Сейчас в теме
(13)

зарегистрировал addin_fptr10_x86.dll - не помогло..

Не было ли подобного часом?
даже незнаю на что и подумать то..

Такого не было. AddIn.Fptr10 регистрируется вроде бы при установке драйверов сам. Дополнительно регистрировать не надо.
16. independ 1520 22.06.22 12:18 Сейчас в теме
(9) спасибо, использовал с onescript на кассах розничной сети, работает отлично.
10. user1084383 25.01.19 13:40 Сейчас в теме
Добрый день, а есть пример кода для драйверов ATOL 9?
или хотя как com объект создать для версии 9
12. dima_gsv 21 26.01.19 00:28 Сейчас в теме
(10) Для 9 версии примеров на 1с у меня нет. В комплекте с драйверами должна быть инструкция на com-объект. Посмотрите там. Думаю, что будет что то типа Новый COMОбъект("AddIn.Fptr9"). Но работать с ним надо по другому, не так как с 10 версией.
С 9 версией даже не смотрел, как там время подстраивать, т.к. её поддержку скоро прекратят, всё равно переходить на 10 версию надо будет.
15. user1490103 09.11.20 11:29 Сейчас в теме
Сделали замену ФН без синхронизации времени ККМ и ПК, чем это чревато?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот