На вкладке «Действия» на экране «Контакты» я извлекаю данные о деятельности из внешнего источника и создаю соответствующие операции Acumatica.Это создание деятельности представляет собой периодически запланированный процесс, поэтому действия не создаются в режиме реального времени.Поэтому поле CreatedDateTime
для внешних действий не отражает фактического времени, когда эти действия произошли.
Однако мне нужно, чтобы эти внешние действия были отсортированы в соответствии с тем, когда они действительно произошли (не в соответствии с тем, когда они были созданы в Acuamtica), и чтобы они отображались в правильной последовательности относительно существующих действий Acuamtica.Но представление «Действия» для графика «Контакты» отсортировано по CreatedDateTime
, поэтому эти действия отображаются в соответствии с временем создания Acuamtica, а не с фактическим временем.
Я могу думать о двух возможных решениях, но я не вижу способа достичь ни одного из них.
1.Установите в поле CRActivity.CreatedDateTime
фактическое время активности. Если бы мы могли установить время создания даты как фактическое время действия, порядок сортировки по умолчанию на вкладке «Действия» правильно отображал бы внешние действия в последовательностикогда они действительно произошли.Однако это поле является системным полем по умолчанию, и я не вижу хорошего способа заставить его быть чем-то другим, кроме времени сохранения объекта Acumatica.Есть ли способ указать значение для поля CreatedDateTime
?
2.Измените порядок сортировки по умолчанию на вкладке «Действия». Мы можем установить StartDate
новых действий в качестве фактического времени их возникновения.Поэтому, если бы мы могли упорядочить сетку действий по дате начала, а не по дате создания, это также обеспечило бы желаемый эффект.Если бы представление Activity было простым PXSelect
, мы могли бы просто создать новый оператор PXSelect
с порядком, который мы хотим в нашем расширении графа, и использовать его в качестве элемента данных для сетки.Однако представление «Действия» не является простым, и OrderBy
скрыт внутри метода GenerateOriginalCommand
класса CRActivityListBase
.Есть ли способ переопределить этот OrderBy
таким образом, чтобы использовать все функции CRActivityListBase
?
Есть ли приемлемый способ использования любого из этих подходов или есть альтернативный подход, который бы отображал действия, отсортированные по фактическому времени?