Как я могу получить LastActivity и LastActivityAge в случае - PullRequest
0 голосов
/ 22 ноября 2018

Я имею в виду проект Send Case Reminder в GitHub, где он имеет LastActivity и LastActivityAge для каждого случая, на основании которого он рассчитывает дни и отправляет автоматические уведомления по электронной почте.

Однако по какой-то причине его нет вмои случаи, когда я реализовывал проект.Итак, вот что я сделал.

Я создал простой GI из таблицы CRCase и просто добавил три столбца в ResultsGrid, а именно.CaseCD, LastActivity и LastActivityAge.Что я получаю, так это то, что в столбцах LastActivity и LastActivityAge нет значений для всех случаев.Я не уверен, как это работает или как я должен получить значения для этих двух полей.

Я также проверил таблицу CRActivityStatistics для полей LastIncomingActivityDate и LastOutgoingActivityDate.И эти два поля имеют значения для всех случаев.

Любые предложения будут высоко оценены.PS.Я использую 2018 R2 версии 18.201.0050.

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

Мне удалось получить это через расширение ЦАП

#region LastIncomingActivityDate
        public abstract class lastIncomingActivityDate : PX.Data.IBqlField
        {
        }
        [PXDBDate(BqlField = typeof(CRActivityStatistics.lastIncomingActivityDate), PreserveTime = true, UseSmallDateTime = false)]
        [PXUIField(DisplayName = "Last Incoming Activity")]
        public virtual DateTime? LastIncomingActivityDate { get; set; }
        #endregion

        #region LastOutgoingActivityDate
        public abstract class lastOutgoingActivityDate : PX.Data.IBqlField
        {
        }
        [PXDBDate(BqlField = typeof(CRActivityStatistics.lastOutgoingActivityDate), PreserveTime = true, UseSmallDateTime = false)]
        [PXUIField(DisplayName = "Last Outgoing Activity")]
        public virtual DateTime? LastOutgoingActivityDate { get; set; }
        #endregion

        #region LastActivityDate
        public abstract class lastActivityDate : IBqlField { }
        [PXDBCalced(typeof(Switch<
                Case<Where<lastIncomingActivityDate, IsNotNull, And<lastOutgoingActivityDate, IsNull>>, lastIncomingActivityDate,
                Case<Where<lastOutgoingActivityDate, IsNotNull, And<lastIncomingActivityDate, IsNull>>, lastOutgoingActivityDate,
                Case<Where<lastIncomingActivityDate, Greater<lastOutgoingActivityDate>>, lastIncomingActivityDate>>>,
            lastOutgoingActivityDate>),
            typeof(DateTime))]
        [PXUIField(DisplayName = "Last Activity Date", Enabled = false)]
        [PXDate]
        public virtual DateTime? LastActivityDate { get; set; }
        #endregion

        #region UsrLastActivityAge
        public abstract class usrLastActivityAge : PX.Data.IBqlField
        {
        }
        [PXTimeSpanLong(InputMask = "#### ds ## hrs ## mins")]
        [PXFormula(typeof(Sub<PXDateAndTimeAttribute.now, lastActivityDate>))]
        [PXDefault(0)]
        [PXUIField(DisplayName = "Last Activity Age")]
        public virtual Int32? UsrLastActivityAge { get; set; }
        #endregion
0 голосов
/ 13 декабря 2018

Так как вы видите ожидаемые данные в CRActivityStatistics, но не видите правильных значений в вашем GI, которые бы указывали на то, что ваши отношения соединения могут быть неверными.Это может быть проблемой в вашем GI и в вашем коде.Правильное соединение: CRCASE.NOTEID = CRACTIVITYSTATISTICS.NOTEID.

enter image description here

enter image description here

...