Имя: Пароль:
1C
1С v8
Сихронизация времени на ККМ Атол
0 php5
 
26.10.17
15:08
Добрый день!

ККМ Атол 22Ф (~50 шт.) подключены по ip к "Рознице, редакция 2.2". Постоянно имеются расхождения по времени на минуты, хотелось бы реализовать синхронизацию времени перед открытием смены, но в интеграционной компоненте нет метода установки времени.

Если с ККМ работать напрямую, через драйвер АТОЛ, то там есть метод SetTime(), но не могу понять как подключиться к нужной ККМ через IP. Кто-нибудь сталкивался с подобной проблемой и как решали?
1 php5
 
26.10.17
15:45
Путем опытов, получилось так, это черновик:

ECR.АдресХоста = "10.51.7.59:5555";
    ECR.НомерПорта = 99;
    
    // занимаем порт
    ECR.DeviceEnabled = 1;
    Если ECR.ResultCode <> 0 тогда
        Возврат;
    КонецЕсли;
    
    // получаем состояние ККМ
    Если ECR.GetStatus() <> 0 тогда
        Возврат;
    КонецЕсли;
    
    Если ECR.SessionOpened = 0 Тогда
        
        // устанавливаем время
        ECR.Час     = Час(ТекущаяДата());
        ECR.Минута  = Минута(ТекущаяДата());
        ECR.Секунда = Секунда(ТекущаяДата());
        
        ECR.SetTime();
                
    Иначе
        
        Сообщить("Смена открыта, время изменить нельзя!");
        
    КонецЕсли;
    
    // освобождаем порт
    ECR.DeviceEnabled = 0;
    Если ECR.ResultCode <> 0 тогда
        Возврат;
    КонецЕсли;
2 Woldemar177
 
26.10.17
16:43
Молодец, нашел, сохраню к себе в бложик.
3 mehfk
 
26.10.17
17:24
(2) Прямо так с тремя вподряд идущими ТекущаяДата() ?
4 Woldemar177
 
26.10.17
17:52
(3) И даже с таким IP адресом.
5 isa2net
 
26.10.17
18:45
В Program Files \ATOL\Drivers8\Samples примеры и там ECR = new ActiveXObject ("AddIn.FPrnM45");
6 Сияющий в темноте
 
26.10.17
21:46
В новый год данный код может показать себя во всей красе