26-03-2019
Procedure CheckDate(ip:String); var dt:TDateTime; H,Min,S,ms,Y,M,D: Word; smena:String; ECR: OleVariant; Begin
// ECR.DeviceEnableTimeout:=1000; ECR.DeviceEnabled := False; ECR.PortNumber:=99; // TCP/IP ECR.HostAddress:=ip+':5555';
// занимаем порт ECR.DeviceEnabled := true; if ECR.ResultCode <> 0 then Begin ECR.DeviceEnabled := False; Log(ip+' not connected'); form1.Memo1.Lines.Append(DateTimeToStr(now)+' не удалось соединиться с '+ip); Exit; End;
// получаем состояние ККМ if ECR.GetStatus <> 0 then Begin // Result:='Ошибка='+inttostr(ECR.ECRError)+' '+ECR.ECRErrorDescription; ECR.DeviceEnabled := False; Log(ip+' '+'Ошибка='+inttostr(ECR.ECRError)+' '+ECR.ECRErrorDescription); form1.Memo1.Lines.Append(DateTimeToStr(now)+' '+ip+' Ошибка='+inttostr(ECR.ECRError)+' '+ECR.ECRErrorDescription); Exit; End;
Log('Соединились c '+ip);
dt:=EncodeTime(ECR.Hour,ECR.Minute,ECR.Second,0)+EncodeDate(ECR.Year,ECR.Month,ECR.Day);
// form1.Memo1.Lines.Append(ip+' Разница '+inttostr(minutesbetween(dt,now))+' min. 1');
// if MinutesBetween(dt,now)>1 then if secondsBetween(dt,now)>30 then Begin if ECR.SessionOpened then smena:='смена открыта пропускаем!' else smena:='изменяем!'; Log(ip+' Разница '+inttostr(secondsBetween(dt,now))+' сек.! '+smena+' FD='+DateTimeToStr(dt)); form1.Memo1.Lines.Append(DateTimeToStr(now)+' '+ip+' Разница '+inttostr(secondsBetween(dt,now))+' сек.! '+smena+' FD='+DateTimeToStr(dt));
if not ECR.SessionOpened then // Если смена закрыта, то пробуем изменить дату и время.
Begin
if EncodeDate(ECR.Year,ECR.Month,ECR.Day)<>date Then // если дата не совпадает с текущей.
Begin
Log(ip+' Устанавливаем сегодняшнюю дату.');
form1.Memo1.Lines.Append(DateTimeToStr(now)+' '+ip+' Устанавливаем сегодняшнюю дату.');
DecodeDate(now,Y,M,D);
ECR.Day := D;
ECR.Month := M;
ECR.Year := Y;
ECR.SetDate;
Log(ip+' Установили.');
form1.Memo1.Lines.Append(DateTimeToStr(now)+' '+ip+' Установили дату.');
End; Log(ip+' Устанавливаем текущее время.');
form1.Memo1.Lines.Append(DateTimeToStr(now)+' '+ip+' Устанавливаем текущее время.');
DecoDeTime(NOW,H,Min,S,ms);
ECR.Hour := H;
ECR.Minute := Min;
ECR.Second := S;
ECR.SetTime;
form1.Memo1.Lines.Append(DateTimeToStr(now)+' '+ip+' Установили время.');
End;
End else Log(ip+' '+DateTimeToStr(dt)+' ('+IntToStr(secondsBetween(dt,now))+' сек.) разница небольшая. не меняем.');
ECR.DeviceEnabled := False; End;
Похожие вопросы 1С
- Офф. Несоответствие времени постов этого форума реальному времени.
- Формат хранения времени в таблицах 1С
- Как у документа Чек и Отчет ККМ менять дату без ККМ.
- Телега нашего времени. Можно ли к текущему времени прибавить пару минут...?
- Чек ККМ и Отчет ККМ
- ЗУП 2.5.12.1 Отработано времени в часах=Норма времени в часах?
- Сложение времени и сортировка по времени
- ККМ Fprint-03 Атол ошибка Фискальной Памяти (ФП)
- Печать штрихкода на Чеке ККМ АТОЛ Fprint 22к
- v7: Атол 55Ф или хочу нормальную ККМ для терминалки через Ethernet
- v.8. Атол 30Ф и Атол 11Ф. Что выбрать?
В этой группе 1С
- Штрих М 01 Ф и FFFFFFF8h, No XML attribute AdvancePayment
- 1C: ERP 2.4. План закупок
- КА 2.2/ERP Генподряд, субподрядчик, давальческое сырье
- глючат расширения: БезопасныйРежим без флага безопасного режима у расширения.
- 1c 8.3 Лицензия на сервер, Нужна ли лицензия на сервер 1с?
- восстановление бэкапа созданного в PostgreSQL Backup
- Индексы SQL достать из 1с
- ЗУП: 2 физ. лица, расчет страховых взносов
- Как программно сделать, чтобы доп поле в Построителе ставилось в конце группировок?
- Прогресс бар в УФ
- Переход 7.7 в УТ11 -конвертация данных
- Формирование движений в конфигурации ERP
- Расчет авансов по налогу на имущество не проходит проверку соотношений
- Ввод остатков 76 счета 1С:ERP
- Какое событие отвечает за удаление из формы элемента
- Штатное расписание при переносе данных из ЗУП 2.5 в ЗУП 3.1 КОРП
- Нумерация в 1с бух3
- при выполнении операции резервирования не удалось записать документ
- Реквизит с типом список знaчений обрезает представление выбранного элемента
- Возврат из web-сервиса не примитивного значения