В данное время Росалкогольрегулирование активно отрабатывает все случаи продажи спиртного после 22-00. И даже законопослушные компании периодически попадают под санкции, вследствие банального несоответствия времени на компьютере с реальным, т.к. данные для отправки в ЕГАИС фиксируются по времени компьютера. Как одно из решений проблемы перед пробитием чека предлагаю сверять время на компьютере и время с сервера точного времени. Алгоритм, естественно, можно использовать и любым другим образом.
Получать время будем с сервера Яндекс.Времени. У меня все объекты находятся в одном часовом поясе, поэтому я получаю данные только по нему. Иначе придется этот параметр также определять.
Для того, чтобы получить код нужного региона в сервисе Яндекс.Времени, добавляю новые часы.
После этого нужно зайти в настройку часов и в меню выбрать «Информер на сайт». В коде информера параметр geoid это и есть наш код региона. Далее в коде в строке «АдресСкрипта» меняем параметр geo на нужный (в примере Томск).
Попытка
ИмяФайлаОтвета = ПолучитьИмяВременногоФайла("json");
АдресСервера = "yandex.com";
АдресСкрипта = "/time/sync.json?geo=67";
НТТР = Новый HTTPСоединение(АдресСервера, 443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
Ответ = НТТР.Получить(Новый HTTPЗапрос(АдресСкрипта), ИмяФайлаОтвета);
ЧтениеОтвета = Новый ЧтениеJSON;
ЧтениеОтвета.ОткрытьФайл(ИмяФайлаОтвета);
ДанныеОтвета = ПрочитатьJSON(ЧтениеОтвета, Истина);
ЧтениеОтвета.Закрыть();
ВремяСтрокой = Формат(ДанныеОтвета.Получить("time"), "ЧГ=0");
ДатаВремя = ПрочитатьДатуJSON("new Date(" + ВремяСтрокой + ")", ФорматДатыJSON.JavaScript);
Сообщить(ДатаВремя);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Время должно получаться с компьютера, а тот синхронизироваться с контроллером домена. А тот уже с серверами точного времени.
Все остальное — от лукавого
(1)а если домена нет? не везде он нужен.
(1) в Мухосранском ООО «Бухнём» контроллера домена может банально не быть.
(3) даже если один единственный компьютер, то и он может синхронизироваться с сервером точного времени напрямую.
(3) Игорь все правильно понял, именно для этого решение и сделано
(5) учите кoманды DOS!
net time
Код без использования временных файлов:
Показать