Хочу программно установить дату и время на фискальном регистраторе (ККМ). Никакой документации не имеется :(
Для обращения к фискальнику использую:
ПрогИД = "AddIn.DrvFR";
ПодключитьВнешнююКомпоненту(ПрогИД);
Драйвер = Новый (ПрогИД);
Вот тут как раз вопрос: установка даты и времени производится с помощью методов или просто достаточно проиннициализировать соответствующие свойства объекта "Драйве"?
Ну по модели регистратора можно найти документацию без проблем. А вообще, мне кажется, что программно устанавливать дату и время низзя, она в памяти принтера хранится, хотя могу ошибаться :)
(7) valerka78, налоговая требует, чтобы время в чеках отличалось от текущего максимум на 5-10 минут.
а т.к. у нас 73 торговых точки (и во многих по несколько фискальников), то как то тоскливо становится ручками лазить в каждый фискальник для поправки времени. Вот и хотелось бы засунуть проверку и корректировку времени на фискальнике в ПриНачалеРаботыСистемы()
(10) kondrat1C, Добрый день. тема Вами поднималась уже очень давно, но скажите Вы решили проблему с установкой времени на ФР? Если решили о не могли бы Вы поделиться кодом как реализовали это?
Решил эту проблему организационно: заставил продавцов в начале рабочего дня снимать Z-отчет и если там время отличается от текущего, то исправлять её через тест-драйвер (написал им инструкцию) 8)
Тестировал на Атол 55ф. Все работает. Думаю на других атолах тоже все будет хорошо. Компонента которая используется в коде, стандартный атоловский драйвер.
Код почистил от лишнего, может где есть ошибки, но кому надо разберется.
Кассовая смена должна быть закрыта. В рознице прикрепил к процедуре по закрытию кассовой смены.
Процедура ДанныДляОтправкиПоКассе()
//Синхронизируем время
Попытка
// Загрузка внешней компоненты
ВнешняяКомпонента = "AddIn.FPrnM8";
ПодключитьВнешнююКомпоненту(ВнешняяКомпонента);
//ПодключитьВнешнююКомпоненту("AddIn.ATOL_KKM_1C");
Попытка
// Создание объекта
Драйвер = Новый (ВнешняяКомпонента);
Исключение
КонецПопытки;
Исключение
Возврат;
КонецПопытки;
Попытка
//Подключаемся к кассе
//Параметры можно посмотреть в логгах кассы
Драйвер.AddDevice();
Драйвер.PortNumber = Касса.Порт;//порт кассы;
//Драйвер.BaudRate = Касса.Скорость;//Объект.Параметры.Скорость;
// параметры выше (порт, скорость) можно вычитать в файле логов
// FprnM1C.log или FprnM1C82.log, в папке C:\Users\user\AppData\Roaming\ATOL\DRIVERS
// например - сначала сделав тест устройства из 1С (появятся записи в логах, вы увидите все значения полей
// в последних строках файла логов )
Драйвер.DeviceEnabled = 1;
Драйвер.Password = Касса.Пароль; //Пароль Пользователя кассы
//Устанавливаем время
Драйвер.Режим = 0;
Драйвер.SetMode();
Драйвер.Hour = Строка(Час(ТекущаяДата()));
Драйвер.Minute = Строка(Минута(ТекущаяДата()));
Драйвер.Second = Строка(Секунда(ТекущаяДата()));
РезультатУстановкиВремени = Драйвер.SetTime();
Если РезультатУстановкиВремени = 0 Тогда
//Все нормально, время установленно
Иначе
//Время не установленно
КонецЕсли;
//Отключаемся
Драйвер.DeviceEnabled = 0; //на последние строки драйвер атола ругался на
Драйвер.DeleteDevice(); //последовательность команд (но только в логах, юзер этого не видит)
Исключение
КонецПопытки;
Драйвер.DeviceEnabled = 0; //на последние строки драйвер атола ругался на
Драйвер.DeleteDevice(); //последовательность команд (но только в логах, юзер этого не видит)
Драйвер = 0; //Незнаю зачем, нашел в чужом коде
КонецПроцедуры
15.
user701497_i.filippov
09.01.18 11:48 Сейчас в теме
(14) Здравствуйте, какие параметры подключения должны быть использованы если касса подключена по TCP/IP ? То есть что нужно написать вместо строки "Драйвер.PortNumber = Касса.Порт;" ?
(17) Бывает сложно добиться к кассе через TCP/IP, если база работает не локально, а к примеру через RDP по этому имеет смысл продублировать ее ком портом, то есть данный в ОФД она будет лить через мост по TCP/IP, а команды на исполнение будете давать через ком порт, в этом нет ничего страшного, работает на ура
Ну в общем то так и сделано. Кассы через ком, точнее через юсб. А данные в офд обычно через обычную сеть, но бывает и через драйвер настраиваем, но это исключение.