Skip to main content
Question

Add field to projection


Forum|alt.badge.img+1
  • Varsity I
  • 50 replies

In the PX.Objects.EP.TimeCardMaint class I would like to add additional fields to the ‘EPTimecardDetail’ DAC. I created a new DAC Projection inheriting from EPTimecardDetail, this seems to work well. My issue is in trying to replace the Activities data view in TimeCardMaint with my extension.

I thought PXSubstitute might work but it does not.

 

 [Serializable]
    [PXCacheName("EP Timecard Task")]
    [PXSubstitute(GraphType = typeof(TimeCardMaint), ParentType = typeof(EPTimecardDetail))]
    [PXProjection(typeof(Select2<PMTimeActivity, LeftJoin<CRActivity, On<CRActivity.noteID, Equal<refNoteID>>, LeftJoin<CRCase, On<CRCase.noteID, Equal<CRActivity.refNoteID>>, LeftJoin<ContractEx, On<ContractEx.contractID, Equal<CRCase.contractID>>, LeftJoin<PMProject, On<PMProject.contractID, Equal<PMTimeActivity.projectID>>>>>>>), new Type[] { typeof(CRActivity) })]
    public partial class EPTimecardTaskExt : EPTimecardDetail
    {

        [PXDBGuid(true, IsKey = true, BqlField = typeof(CRActivity.noteID))] 
        [PXExtraKey]
        public Guid? CRActivityNoteID { get; set; }
        public abstract class cRActivityNoteID : BqlType<IBqlGuid, Guid>.Field<cRActivityNoteID> { }


        [PXDefault]
        [EPDBDateAndTime(typeof(ownerID), WithoutDisplayNames = true, BqlField = typeof(CRActivity.startDate))]
        [PXUIField(DisplayName = "Start Date")]
        public virtual DateTime? StartDate { get; set; }
        public abstract class startDate : BqlType<IBqlDateTime, DateTime>.Field<startDate> { }


        [PXDefault]
        [EPDBDateAndTime(typeof(ownerID), WithoutDisplayNames = true, BqlField = typeof(CRActivity.endDate))]
        [PXUIField(DisplayName = "End Time")]
        public virtual DateTime? EndDate { get; set; }
        public abstract class endDate : BqlType<IBqlDateTime, DateTime>.Field<endDate> { }


        [PXDBString(2, IsFixed = true, BqlField = typeof(CRActivity.uistatus))]
        [ActivityStatus]
        [PXUIField(DisplayName = "Status")]
        [PXDefault("OP", PersistingCheck = PXPersistingCheck.Nothing)]
        public virtual string UIStatus { get; set; }
        public abstract class uIStatus : BqlType<IBqlString, string>.Field<uIStatus> { }

    }

 

0 replies

Be the first to reply!

Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings