Сдвиг времени в выходном потоке данных ЛЕРС

Версия ЛЕРС старенькая, 3.07 R12/18 сборка 31221
Перетаскиваю данные из ЛЕРС в 1С через SoapClient
код выглядит примерно так:

	Соап = Новый COMОбъект("MSSoap.SoapClient30");
	Соап.MSSoapInit("http://192.168.50.20/Api.asmx?WSDL");
	Login = Соап.Login(СокрЛП(Константы.ЛогинЛерс.Получить()),СокрЛП(Константы.ПарольЛерс.Получить()));
	Если Login.context.text <> "None" Тогда
		Сообщить("Не могу подключиться к Лерс");
		Возврат;
	КонецЕсли;
	
	//Цикл по точкам Лерс
	Для Каждого ТочкаЛерс из ТочкиЛерс Цикл
		Потр=Соап.GetMeasurePointConsumption(ТочкаЛерс.Значение.Код,ДатаНач, ДатаКон,ИмяАрхива);
...

Наткнулся на странный глюк со сдвигом временного интервала в потоке данных получаемых с ЛЕРСа. Если:

ДатаНач=05.04.2017 0:00:00
ДатаКон=06.04.2017 0:00:00
ИмяАрхива=“Hour”

то ЛЕРС честно отдает данные, но первое значение на 04.04.2017 21:00:00, последнее на 05.04.2017 21:00:00

Версия с разными форматами даты в ЛЕРС и 1С (точнее SoapClient) - не работает. При ДатаНач=05.04.2017 6:00:00, первое значение ЛЕРСа=05.04.2017 3:00:00, т.е. часы понимает, но опять сдвиг на три часа раньше.

Конечно, сдвинуть интервал в запросе на эти три часа не долго, но не понятно, исправлено ли это в совр. версиях и вообще известно ли такое поведение и где сидят эти три часа?

Вроде догадался, ЛЕРС (или SOAP) берут чистую UTC (у меня UTC+3). А вот зачем - не догадался :slight_smile:

У нас так реализовано, сервер работает со временем UTC. В новых версиях ЛЭРС УЧЕТ в свойствах объекта учета вы можете задать территорию, в которой задается часовой пояс.

А получить этот часовой пояс через SoapClient, как-то можно?

Нет, на данный момент, этого сделать не получится. Мы поставили в план работ добавление такого функционала. Реализация запланирована на R22.

В версии R22 будет добавлено свойство Territory у объекта учета Node. Объект Territory содержит свойство TimeZone. Подробнее в Программный интерфейс API