Почему мое время отображает 12:00 AM в элементе управления DateTime, когда в таблице SQL правильно хранится фактическое время? - PullRequest
0 голосов
/ 20 апреля 2020

Я строю простой экран часов времени. Номер сотрудника введен; с помощью события FieldUpdated имя сотрудника заполняется вместе с текущим временем (PX.Common.PXTimeZoneInfo.Now) в поле Clock Time. Нажатие SAVE помещает данные в таблицу и, как вы можете видеть, это правильно. Кроме того, на экране Acumatica UPTO в этой точке отображается правильное время.

SQL Table

При обновлении sh экрана отображаемое время отображается неверно как 12:00.

Acumatica Screen

Мой код DA C для ClockTime выглядит так:

#region ClockTime
[PXDBDate()]
[PXUIField(DisplayName = "Clock Time")]
public virtual DateTime? ClockTime { get; set; }
public abstract class clockTime : PX.Data.BQL.BqlDateTime.Field<clockTime> { }
#endregion

И мое событие обработчик:

        protected virtual void _(Events.FieldUpdated<EMPTimeEntries, EMPTimeEntries.employeeID> e)
    {
        EMPTimeEntries row = e.Row;

        if (row.EmployeeID != null)
        {
            EPEmployee employeeCard = PXSelectorAttribute.Select<EMPTimeEntries.employeeID>(e.Cache, row) as EPEmployee;
            row.EmployeeName = employeeCard.AcctName;
            row.ClockTime = PX.Common.PXTimeZoneInfo.Now;
        }
    }

Есть мысли о том, почему это происходит? Дайте мне знать, если вам нужна дополнительная информация.

1 Ответ

0 голосов
/ 20 апреля 2020

Я думаю, что у меня есть. Я добавил к своему атрибуту DA C:

[PXDBDate(PreserveTime = true)]

Пожалуйста, посоветуйте, если есть более правильный путь или это так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...