Я строю простой экран часов времени. Номер сотрудника введен; с помощью события FieldUpdated имя сотрудника заполняется вместе с текущим временем (PX.Common.PXTimeZoneInfo.Now) в поле Clock Time. Нажатие SAVE помещает данные в таблицу и, как вы можете видеть, это правильно. Кроме того, на экране Acumatica UPTO в этой точке отображается правильное время.
При обновлении sh экрана отображаемое время отображается неверно как 12:00.
Мой код 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;
}
}
Есть мысли о том, почему это происходит? Дайте мне знать, если вам нужна дополнительная информация.