Реализовано для защиты от "умных" пользователей, которые делают то что не нужно делать (ручное изменение даты и времени). В рабочей конфигурации используется при синхронизации времени в ЭККА (кассовый аппарат) при закрытии рабочей смены.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
Процедура КнопкаВыполнитьНажатие(Кнопка) ЭлементыФормы.ТекВремя.Заголовок = ТекущаяДата(); Батник = Новый ТекстовыйДокумент; Батник.ДобавитьСтроку("echo off"); Батник.ДобавитьСтроку("w32tm /config /syncfromflags:manual /manualpeerlist:ntp.time.in.ua"); Батник.ДобавитьСтроку("w32tm /config /update"); Батник.ДобавитьСтроку("w32tm /resync > c:\res_set_time.txt"); Батник.Записать("c:\settime.bat",КодировкаТекста.OEM); WshShell = Новый COMОбъект("WScript.Shell"); //WshExec = WshShell.Exec("c:\settime.bat"); СтрокаЗапуска = "c:\settime.bat"; WshShell.Run(СтрокаЗапуска,0,Истина); Результат = Новый ТекстовыйДокумент; Попытка Результат.Прочитать("c:\res_set_time.txt",КодировкаТекста.OEM); Исключение Сообщить("Ошибка открытия файла!"); Возврат; КонецПопытки; Рез = Результат.ПолучитьСтроку(2); Сообщить(?(Найти(Рез,"успешно") > 0,"ОК!","Не удалось")); Попытка УдалитьФайлы("c:\settime.bat"); УдалитьФайлы("c:\res_set_time.txt"); Исключение КонецПопытки; ЭлементыФормы.ТекВремя.Заголовок = ТекущаяДата(); КонецПроцедуры |