Acumatica отображает неверную дату в Деятельности GI - PullRequest
0 голосов
/ 11 марта 2020

Мы создали экран «Деятельность из сотрудников» с начальной датой 3/11/2020 и конечной датой 3/27 / 2020.

Я также создал GI для операций, я использовал таблицу CRActivity для Отображение операций.

Проблема в том, что дата окончания отображается на один день меньше выбранной даты, см. скриншоты ниже.

Мы используем Acumatica 2019 R1 - сборка 19.106.0020

enter image description here

enter image description here

enter image description here

1 Ответ

0 голосов
/ 12 марта 2020

Я полагаю, что база данных будет хранить даты в UT C, поэтому кажется, что Acumatica делает какую-то формулу с этим в вашем GI. Если я делаю то же самое, мой часовой пояс должен получить на 4 часа меньше в GI, чем в БД, но я получаю те же +5 часов, которые вы видите по какой-то странной причине.

    SELECT 
DATEADD(hour, DATEDIFF(hour, GETUTCDATE(), GETDATE()), StartDate) AS StartDateInLocalTime, 
StartDate, --this is UTC Time
DATEADD(hour, DATEDIFF(hour, GETUTCDATE(), GETDATE()), EndDate)   AS EndDateInLocalTime, - 
EndDate, --this is UTC Time
*
FROM CRActivity where subject like '%test%CR%'

попробуйте использовать формула

=[Activity.StartDate]
=[Activity.EndDate]

в поле данных GI. Это будет захватывать необработанные значения. Я попытался собрать формулу, используя DateAdd и DateDiff в поле данных, но вышеизложенное - самое близкое, что я получил.

В этом сообщении блога содержится информация о преобразованиях DateTime из UT C, но когда я пытаюсь использовать =[Activity.EndDate] + NowUTC() - Now(), появляется сообщение «Тип данных операнда datetime недопустим для оператора минус». ошибка.

https://asiablog.acumatica.com/2019/02/generic-inquiry-tips-tricks.html

...