Inkognito
10.02.16, 12:24
Необходимо получить реальную дату-время (ТекущаяДата() покажет некорректное значение, если оно некорректно установлено).
Может есть какая-то возможность получить значение, обратившись в Интернет?
На локальном компьютере пользователя дату могут перекрутить.
Егор Динин
10.02.16, 12:27
Цитата(Inkognito @ 10.02.16, 12:24) необходимо зарегистрироваться для просмотра ссылки
На локальном компьютере пользователя дату могут перекрутить.
Ограничение прав подразумевает не только ограничение в 1С. Иначе от Формат:С ничего не спасет.
Если вызывать ТекущаяДата() в серверном модуле, то она вернет время сервера. Ну а на сервере не должен кто попало иметь возможность менять время.
Inkognito
10.02.16, 13:29
Vofka @ Сегодня, 13:25 необходимо зарегистрироваться для просмотра ссылки,
Обработка внешняя, ею могут пользоваться на разных ПК, даже там где ничего не знают о сущевствовании серверов.
Нужна именно возможность знать реальное время, не смотря на то, каким оно установлена на ПК или сервере.
WEB сервисы (посылаем запрос на сервак, получаем данные)
Гуглим серверы синхронизации времени, изучаем их API, при открытии обработки делаем запрос по списку, пока не будет получено время.
Inkognito
10.02.16, 14:21
Можете посоветовать какой-то из них? Почитал немного, не понял, как просто взять и получить это злосчастное время.
Например, взял необходимо зарегистрироваться для просмотра ссылки и необходимо зарегистрироваться для просмотра ссылки
Что с ними дальше делать, непонятно. Где там ссылки на API? Не вижу...
Надо искать не NTP-серверы, а web-сервисы, например, необходимо зарегистрироваться для просмотра ссылки.
Inkognito
11.02.16, 14:19
Никогда не доводилось считывать данные из Интернета. Почитал статью:
необходимо зарегистрироваться для просмотра ссылкиПопробовал сделать так:
//------------------------------------
Защищенное = Ложь;
ИмяВыходногоФайла = "D:\1.txt";
HTTPConnect = новый HTTPСоединение("http://www.timeapi.org",,,,,Защищенное);
HTTPConnect.Получить("/utc/now",ИмяВыходногоФайла);
Получаю ошибку:
Ошибка работы с Интернет: Couldn't resolve host name
Вопрос актуален: как получить эту дату из интернета? И нельзя ли обойтись без сохранения во временный файл?
HTTPConnect = новый HTTPСоединение("www.timeapi.org",,,,,Защищенное);
Inkognito
11.02.16, 17:44
В итоге, рабочий код (может кому пригодится):
Защищенное = Ложь;
ИмяВыходногоФайла = ПолучитьИмяВременногоФайла("txt");
HTTPConnect = новый HTTPСоединение("www.timeapi.org",,,,,Защищенное);
HTTPConnect.Получить("/utc/now",ИмяВыходногоФайла);
Текст = Новый ТекстовыйДокумент;
Текст.Прочитать(ИмяВыходногоФайла);
Текст = Текст.ПолучитьТекст(); //получили дату в текстовом формате. Дальше разбираем ее на составляющие по своему усмотрению, не забываем добавить GMT+2
П.С. интересно, если на предприятии используется прокси, получим дату или нет?
Цитата(Inkognito @ 11.02.16, 17:44) необходимо зарегистрироваться для просмотра ссылки
интересно, если на предприятии используется прокси, получим дату или нет?
Параметры прокси можно передавать в HTTPСоединение.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.