Добрый день!
Есть конечный адрес доставки, необходимо рассчитать дату время доставки с учетом часового пояса получателя. Пока придумал сделать справочник "Часовые пояса регионов", выдергивать регион из адреса и определять по справочнику пояс. Может у кого есть идеи как сделать по другому, может есть методы БСП и я их не нашел?
Есть конечный адрес доставки, необходимо рассчитать дату время доставки с учетом часового пояса получателя. Пока придумал сделать справочник "Часовые пояса регионов", выдергивать регион из адреса и определять по справочнику пояс. Может у кого есть идеи как сделать по другому, может есть методы БСП и я их не нашел?
По теме из базы знаний
- Ошибочный идентификатор часового пояса, 1С предприятие 8.х
- Получение информации о Контрагенте с использованием DADATA.ru через ПреобразованиеXSL (обычные и управляемые формы)
- Получение информации об Адресе с использованием DADATA.ru через ПреобразованиеXSL (обычные и управляемые формы)
- Debian 9.7 + PostgreSQL для 1С. Как завести с пол-оборота
- Самые используемые методы БСП 3.1.9
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Есть регионы с несколькими часовыми поясами (например, в Якутии их целых 3). Самый точный способ - через api яндекса по адресу получить координаты, а потом - через api google получить часовой пояс по координатам.
(3) Спасибо за подсказку, координаты у меня уже есть, поэтому намного проще чем справочник делать.
HTTPСоединение = Новый HTTPСоединение("htmlweb.ru");
latitude = Объект.Лат; //широта
longitude = Объект.Лон; // долгота
СтрокаЗапроса = "json/geo/timezone?latitude=" + latitude + "&longitude=" + longitude + "&country=RU";
HTTPЗапрос = Новый HTTPЗапрос(СтрокаЗапроса);
Попытка
Результат = HTTPСоединение.Получить(HTTPЗапрос); // Отправка запроса методом GET
Тело = Результат.ПолучитьТелоКакСтроку(); // Здесь и будет JSON ответа
Исключение
Сообщить("Произошла сетевая ошибка!");
ВызватьИсключение;
КонецПопытки;
И из строки уже выдергиваю часовой пояс.
HTTPСоединение = Новый HTTPСоединение("htmlweb.ru");
latitude = Объект.Лат; //широта
longitude = Объект.Лон; // долгота
СтрокаЗапроса = "json/geo/timezone?latitude=" + latitude + "&longitude=" + longitude + "&country=RU";
HTTPЗапрос = Новый HTTPЗапрос(СтрокаЗапроса);
Попытка
Результат = HTTPСоединение.Получить(HTTPЗапрос); // Отправка запроса методом GET
Тело = Результат.ПолучитьТелоКакСтроку(); // Здесь и будет JSON ответа
Исключение
Сообщить("Произошла сетевая ошибка!");
ВызватьИсключение;
КонецПопытки;
И из строки уже выдергиваю часовой пояс.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот