Посмотрите код класса PXDBDateAndTime
на Source Code
экране SM204570.В целях отладки вы можете скопировать весь атрибут и переименовать его во что-то еще, например PXDBDateAndTimeDebug
:
[PXDBDateAndTimeDebug(DisplayNameDate = "Date Started", DisplayNameTime = "Time", UseTimeZone = true)]
При таком подходе вы можете отлаживать SetUseTimeZone
и GetTimeZone
методы.Используемый часовой пояс исходит из метода LocaleInfo.GetTimeZone
, и вы также должны его отладить:
public static PXTimeZoneInfo GetTimeZone()
{
if (!PXContext.PXIdentity.IsAnonymous() && PXContext.PXIdentity.TimeZone != null)
{
return PXContext.PXIdentity.TimeZone;
}
return PXTimeZoneInfo.Invariant;
}
Проблема в том, что из вашего вопроса мы не можем сказать, есть ли проблема с обработкой часового пояса Acumaticaили если часовой пояс профиля пользователя правильно сконфигурирован в вашем экземпляре, или если ожидаемый результат на самом деле является действительным преобразованием ISO, как это сделано в среде DotNet.Отладка шаг за шагом должна показать, что происходит.