Skip to main content

How to add custom column name to Base LotSerialNbr Selector in SOTranSplit table?

  • January 14, 2021
  • 7 replies
  • 376 views

Forum|alt.badge.img+1

How to add custom field to Base LotserialNbr Selector  ??

I am able to add custom field in Lot Serial Nbr Selector.But Display names are showing Tablename_FieldName or fieldnames instead of DAC display names...How to get DAC displaynames in this scenario??

In my custom screen I defind LotSerialNbr selector by Inheriting from INLotSerialNbrAttribute as

 

LotSerialNbr Selector in My custom screen:
--------------------------------------------------------------
[TSLotSerialNbrAttribute.TSAllocationLotSerialNbr(typeof(TSProdMTranSplit.inventoryID),
           typeof(TSProdMTranSplit.subItemID), typeof(TSProdMTranSplit.siteID),
           typeof(TSProdMTranSplit.locationID), typeof(TSProdMTranSplit.lotSerialNbr), FieldClass = "LotSerial")]

 

Inheriting from Base INLotSerialNbrAttribute

---------------------------------------------------------------

 public class TSLotSerialNbrAttribute : INLotSerialNbrAttribute
    {
        private TSLotSerialNbrAttribute() { }

        public TSLotSerialNbrAttribute(Type InventoryType, Type SubItemType, Type LocationType)
        {
            var itemType = BqlCommand.GetItemType(InventoryType);
            if (!typeof(ILSMaster).IsAssignableFrom(itemType))
            {
                throw new PXArgumentException(PX.Objects.IN.Messages.TypeMustImplementInterface, itemType.GetLongName(), typeof(ILSMaster).GetLongName());
            }

            _InventoryType = InventoryType;
            _SubItemType = SubItemType;
            _LocationType = LocationType;

            Type SearchType;
            PXSelectorAttribute attr;

            SearchType = BqlTemplate.OfCommand <Search2<INLotSerialStatus.lotSerialNbr,
                LeftJoin<TSNewQCOrderSpecializedTest,
               On<TSNewQCOrderSpecializedTest.inventoryID, Equal<INLotSerialStatus.inventoryID>,
               And<TSNewQCOrderSpecializedTest.locationID, Equal<INLotSerialStatus.locationID>,
                   And<TSNewQCOrderSpecializedTest.lotNo, Equal<INLotSerialStatus.lotSerialNbr>>>>>,
                Where<INLotSerialStatus.inventoryID, Equal<Current<TSProdMTranSplit.inventoryID>>,
               And<INLotSerialStatus.siteID, Equal<Current<TSProdMTranSplit.siteID>>,
                 And<INLotSerialStatus.locationID, Equal<Current<TSProdMTranSplit.locationID>>>>>>>
                .Replace<BqlPlaceholder.A>(InventoryType)
                .Replace<BqlPlaceholder.B>(SubItemType)
                .Replace<BqlPlaceholder.C>(LocationType).ToType();


            attr = new PXSelectorAttribute(SearchType,
                                                                 typeof(INLotSerialStatus.lotSerialNbr),
                                                                 typeof(INLotSerialStatus.siteID),
                                                                 typeof(INLotSerialStatus.qtyOnHand),
                                                                 typeof(INSiteLotSerial.qtyAvail),
                                                                 typeof(INLotSerialStatus.expireDate),
                                                                 typeof(TSNewQCOrderSpecializedTest.qCOrderNbr),
                                                                 typeof(TSNewQCOrderSpecializedTest.result));

            _Attributes.Add(attr);
            _SelAttrIndex = _Attributes.Count - 1;
        }

        public TSLotSerialNbrAttribute(Type InventoryType, Type SubItemType, Type LocationType, Type ParentLotSerialNbrType)
            : this(InventoryType, SubItemType, LocationType)
        {
            _Attributes[_DefAttrIndex] = new PXDefaultAttribute(ParentLotSerialNbrType) { PersistingCheck = PXPersistingCheck.NullOrBlank };
        }

        public override void GetSubscriber<ISubscriber>(List<ISubscriber> subscribers)
        {
            if (typeof(ISubscriber) == typeof(IPXFieldVerifyingSubscriber) || typeof(ISubscriber) == typeof(IPXFieldDefaultingSubscriber) || typeof(ISubscriber) == typeof(IPXRowPersistingSubscriber))
            {
                subscribers.Add(this as ISubscriber);
            }
            else if (typeof(ISubscriber) == typeof(IPXFieldSelectingSubscriber))
            {
                base.GetSubscriber<ISubscriber>(subscribers);

                subscribers.Remove(this as ISubscriber);
                subscribers.Add(this as ISubscriber);
                subscribers.Reverse();
            }
            else
            {
                base.GetSubscriber<ISubscriber>(subscribers);
            }
        }

        public class TSAllocationLotSerialNbrAttribute : TSLotSerialNbrAttribute
        {
            public TSAllocationLotSerialNbrAttribute(Type InventoryType, Type SubItemType, Type SiteType, Type LocationType)
            {
                var itemType = BqlCommand.GetItemType(InventoryType);
                if (!typeof(ILSMaster).IsAssignableFrom(itemType))
                {
                    throw new PXArgumentException(nameof(itemType), PX.Objects.IN.Messages.TypeMustImplementInterface, itemType.GetLongName(), typeof(ILSMaster).GetLongName());
                }

                _InventoryType = InventoryType;
                _SubItemType = SubItemType;
                _LocationType = LocationType;

                Type SearchType;
                PXSelectorAttribute attr;

                SearchType = BqlTemplate.OfCommand < Search2 < INLotSerialStatus.lotSerialNbr,
                LeftJoin<TSNewQCOrderSpecializedTest,
               On<TSNewQCOrderSpecializedTest.inventoryID, Equal<INLotSerialStatus.inventoryID>,
               And<TSNewQCOrderSpecializedTest.locationID, Equal<INLotSerialStatus.locationID>,
                   And<TSNewQCOrderSpecializedTest.lotNo, Equal<INLotSerialStatus.lotSerialNbr>>>>>,
                Where<INLotSerialStatus.inventoryID, Equal<Current<TSProdMTranSplit.inventoryID>>,
               And<INLotSerialStatus.siteID, Equal<Current<TSProdMTranSplit.siteID>>,
                 And<INLotSerialStatus.locationID, Equal<Current<TSProdMTranSplit.locationID>>>>>>>
                .Replace<BqlPlaceholder.A>(InventoryType)
                .Replace<BqlPlaceholder.B>(SubItemType)
                .Replace<BqlPlaceholder.C>(LocationType).ToType();


                attr = new PXSelectorAttribute(SearchType,
                                                                     typeof(INLotSerialStatus.lotSerialNbr),
                                                                     typeof(INLotSerialStatus.siteID),
                                                                     typeof(INLotSerialStatus.qtyOnHand),
                                                                     typeof(INSiteLotSerial.qtyAvail),
                                                                     typeof(INLotSerialStatus.expireDate),
                                                                     typeof(TSNewQCOrderSpecializedTest.qCOrderNbr),
                                                                     typeof(TSNewQCOrderSpecializedTest.result));

                _Attributes.Add(attr);
                _SelAttrIndex = _Attributes.Count - 1;
            }

            public TSAllocationLotSerialNbrAttribute(Type InventoryType, Type SubItemType, Type SiteType, Type LocationType, Type ParentLotSerialNbrType)
                : this(InventoryType, SubItemType, SiteType, LocationType)
            {
                _Attributes[_DefAttrIndex] = new PXDefaultAttribute(ParentLotSerialNbrType) { PersistingCheck = PXPersistingCheck.NullOrBlank };
            }
        }

}

       
    
   

 

Did this topic help you find an answer to your question?

7 replies

Naveen Boga
Captain II
Forum|alt.badge.img+19
  • Captain II
  • 3416 replies
  • January 14, 2021

Hi @girik06 ,

 

You can add the below CacheAttached code for that particular field to display the required display name in the custom graph and verify.

 

Custom Graph.cs file

[PXMergeAttributes(Method = MergeMethod.Append)]
        [PXUIField(DisplayName = "Required DisplayName")]
        protected virtual void DACName_FieldName_CacheAttached(PXCache cache)
        {
        }

 

Hope this helps!!

 


Forum|alt.badge.img+1
  • Author
  • Pro I
  • 59 replies
  • January 15, 2021

Hi @Naveen B I tried with that cache attached for the field names in custom graph.It didn't worked in selector level columns scenario.

Whatever column I added in lot selector is getting from join with InLotSerialStatus and Custom table..

Any other approach for this

Thanks!


Forum|alt.badge.img+1
  • Author
  • Pro I
  • 59 replies
  • January 15, 2021

siteID,qtyOnHand,expireDate are INLotSerialStatus Table fields and Status field is displaying like
TSNewQCOrderSpecilizedTest_Result..In this Scenario how to display DAC display names??


Naveen Boga
Captain II
Forum|alt.badge.img+19
  • Captain II
  • 3416 replies
  • January 15, 2021

Hi @girik06 

 

Oh Okay… Have you tried “SetDisplayName”?

If NOT, Please add the below code in that particular RowSelected event and verify.

 

  protected void DACName_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {

         PXUIFieldAttribute.SetDisplayName<DACName.FieldName>(sender, “Displayname”)

        }

       

Hope this helps!!

 


Forum|alt.badge.img+1
  • Author
  • Pro I
  • 59 replies
  • January 16, 2021

Hi @Naveen B.I tried with above solution.It didn’t worked.Below is the code for LotSerialNbr Selector


In my DAC LotSerialNbr field will be like below:

#region LotSerialNbr
        public abstract class lotSerialNbr : PX.Data.IBqlField
        {
        }
        protected string _LotSerialNbr;
        [TSLotSerialNbr(typeof(TSProdMTranSplit.inventoryID), typeof(TSProdMTranSplit.subItemID),
            typeof(TSProdMTranSplit.locationID), typeof(TSProdMTranSplit.lotSerialNbr),
            FieldClass = "LotSerial")]
        [PXUIField(DisplayName = "LotSerial")]
        public virtual string LotSerialNbr
        {
            get
            {
                return this._LotSerialNbr;
            }
            set
            {
                this._LotSerialNbr = value;
            }
        }
        #endregion
        

        And TSLotSerialNbrAttribute Class is like below:

public TSLotSerialNbrAttribute(Type InventoryType, Type SubItemType, Type LocationType, Type ParentLotSerialNbrType)
        {
            var itemType = BqlCommand.GetItemType(InventoryType);
            if (!typeof(ILSMaster).IsAssignableFrom(itemType))
            {
                throw new PXArgumentException(PX.Objects.IN.Messages.TypeMustImplementInterface,
                    itemType.GetLongName(), typeof(ILSMaster).GetLongName());
            }
            _InventoryType = InventoryType;
            _SubItemType = SubItemType;
            _LocationType = LocationType;

            Type SearchType;
            PXSelectorAttribute attr;

            SearchType = BqlTemplate.OfCommand<Search2<INLotSerialStatus.lotSerialNbr,
                LeftJoin<TSNewQCOrderSpecializedTest,
               On<TSNewQCOrderSpecializedTest.inventoryID, Equal<INLotSerialStatus.inventoryID>,
               And<TSNewQCOrderSpecializedTest.locationID, Equal<INLotSerialStatus.locationID>,
                   And<TSNewQCOrderSpecializedTest.lotNo, Equal<INLotSerialStatus.lotSerialNbr>>>>>,
                Where<INLotSerialStatus.inventoryID, Equal<Current<TSProdMTranSplit.inventoryID>>,
               And<INLotSerialStatus.siteID, Equal<Current<TSProdMTranSplit.siteID>>,
                 And<INLotSerialStatus.locationID, Equal<Current<TSProdMTranSplit.locationID>>>>>>>
                .Replace<BqlPlaceholder.A>(InventoryType)
                .Replace<BqlPlaceholder.B>(SubItemType)
                .Replace<BqlPlaceholder.C>(LocationType).ToType();

            attr = new PXSelectorAttribute(SearchType,
                                                                 typeof(INLotSerialStatus.lotSerialNbr),
                                                                 typeof(INLotSerialStatus.siteID),
                                                                 typeof(INLotSerialStatus.qtyOnHand),
                                                                 typeof(INSiteLotSerial.qtyAvail),
                                                                 typeof(INLotSerialStatus.expireDate),
                                                                 typeof(TSNewQCOrderSpecializedTest.qCOrderNbr),
                                    
                                                                 typeof(TSNewQCOrderSpecializedTest.result));
           
            _Attributes.Add(attr);
            _SelAttrIndex = _Attributes.Count - 1;
        }


Naveen Boga
Captain II
Forum|alt.badge.img+19
  • Captain II
  • 3416 replies
  • January 19, 2021

Hi @girik06 


Can you please also share the below DAC files, so that I can verify from my end?
 

  1. TSProdMTranSplit DAC
  2. TSNewQCOrderSpecializedTest DAC

Forum|alt.badge.img+1
  • Author
  • Pro I
  • 59 replies
  • January 19, 2021

Hi @Naveen B Thanks for that.Sending required fields with 2 DACS to sort out the issue.

1.TSProdMtranSplit DAC

using System;
    using PX.Common;
    using PX.Data;
    using PX.Data.BQL;
    using PX.Data.ReferentialIntegrity.Attributes;
    using PX.Objects.CS;
    using PX.Objects.GL;
    using PX.Objects.IN;
    using PX.Objects.PM;
    using Test;

    [System.SerializableAttribute()]
    public class TSProdMTranSplit : PX.Data.IBqlTable
    {
        #region InventoryID
        public abstract class inventoryID : PX.Data.IBqlField
        {
        }
        protected int? _InventoryID;
        [Inventory(Enabled = false, Visible = false)]
        public virtual int? InventoryID
        {
            get
            {
                return this._InventoryID;
            }
            set
            {
                this._InventoryID = value;
            }
        }
        #endregion
        #region SubItemID
        public abstract class subItemID : PX.Data.IBqlField
        {
        }
        protected int? _SubItemID;
        [SubItem(typeof(TSProdMTranSplit.inventoryID), typeof(LeftJoin<INSiteStatus, On<INSiteStatus.subItemID, Equal<INSubItem.subItemID>, And<INSiteStatus.inventoryID, Equal<Optional<TSProdMTranSplit.inventoryID>>, And<INSiteStatus.siteID, Equal<Optional<TSProdMTranSplit.siteID>>>>>>))]
        [PXDefault(typeof(Search<InventoryItem.defaultSubItemID, Where<InventoryItem.inventoryID, Equal<Current<TSProdMTranSplit.inventoryID>>, And<InventoryItem.defaultSubItemOnEntry, Equal<boolTrue>>>>))]
        [PXFormula(typeof(Default<TSProdMTranSplit.inventoryID>))]

        [PXUIField(DisplayName = "SubItemID")]
        public virtual int? SubItemID
        {
            get
            {
                return this._SubItemID;
            }
            set
            {
                this._SubItemID = value;
            }
        }
        #endregion

        #region LocationID
        public abstract class locationID : PX.Data.IBqlField
        {
        }
        protected int? _LocationID;
        [PX.Objects.IN.LocationAvail(typeof(TSProdMTranSplit.inventoryID), typeof(TSProdMTranSplit.subItemID), typeof(TSProdMTranSplit.siteID), false, true, false, DisplayName = "Location ID")]
        public virtual int? LocationID
        {
            get
            {
                return this._LocationID;
            }
            set
            {
                this._LocationID = value;
            }
        }
        #endregion
        #region LotSerialNbr
        public abstract class lotSerialNbr : PX.Data.IBqlField
        {
        }
        protected string _LotSerialNbr;
        [TSLotSerialNbr(typeof(TSProdMTranSplit.inventoryID), typeof(TSProdMTranSplit.subItemID),
            typeof(TSProdMTranSplit.locationID))]          
        [PXUIField(DisplayName = "LotSerial")]
        public virtual string LotSerialNbr
        {
            get
            {
                return this._LotSerialNbr;
            }
            set
            {
                this._LotSerialNbr = value;
            }
        }
        #endregion
        #region CreatedByID
        public abstract class createdByID : PX.Data.IBqlField
        {
        }
        protected Guid? _CreatedByID;
        [PXDBCreatedByID]
        public virtual Guid? CreatedByID
        {
            get
            {
                return this._CreatedByID;
            }
            set
            {
                this._CreatedByID = value;
            }
        }
        #endregion
        #region CreatedByScreenID
        public abstract class createdByScreenID : PX.Data.IBqlField
        {
        }
        protected string _CreatedByScreenID;
        [PXDBCreatedByScreenID]
        public virtual string CreatedByScreenID
        {
            get
            {
                return this._CreatedByScreenID;
            }
            set
            {
                this._CreatedByScreenID = value;
            }
        }
        #endregion
        #region CreatedDateTime
        public abstract class createdDateTime : PX.Data.IBqlField
        {
        }
        protected DateTime? _CreatedDateTime;
        [PXDBCreatedDateTime]
        public virtual DateTime? CreatedDateTime
        {
            get
            {
                return this._CreatedDateTime;
            }
            set
            {
                this._CreatedDateTime = value;
            }
        }
        #endregion
        #region LastModifiedByID
        public abstract class lastModifiedByID : PX.Data.IBqlField
        {
        }
        protected Guid? _LastModifiedByID;
        [PXDBLastModifiedByID]
        public virtual Guid? LastModifiedByID
        {
            get
            {
                return this._LastModifiedByID;
            }
            set
            {
                this._LastModifiedByID = value;
            }
        }
        #endregion
        #region LastModifiedByScreenID
        public abstract class lastModifiedByScreenID : PX.Data.IBqlField
        {
        }
        protected string _LastModifiedByScreenID;
        [PXDBLastModifiedByScreenID]
        public virtual string LastModifiedByScreenID
        {
            get
            {
                return this._LastModifiedByScreenID;
            }
            set
            {
                this._LastModifiedByScreenID = value;
            }
        }
        #endregion
        #region LastModifiedDateTime
        public abstract class lastModifiedDateTime : PX.Data.IBqlField
        {
        }
        protected DateTime? _LastModifiedDateTime;
        [PXDBLastModifiedDateTime]
        public virtual DateTime? LastModifiedDateTime
        {
            get
            {
                return this._LastModifiedDateTime;
            }
            set
            {
                this._LastModifiedDateTime = value;
            }
        }
        #endregion
        #region tstamp
        public abstract class Tstamp : PX.Data.IBqlField
        {
        }
        protected byte[] _tstamp;
        [PXDBTimestamp()]
        public virtual byte[] tstamp
        {
            get
            {
                return this._tstamp;
            }
            set
            {
                this._tstamp = value;
            }
        }
        #endregion

    }
    public class TSLotSerialNbrAttribute : INLotSerialNbrAttribute
    {
        public TSLotSerialNbrAttribute(Type InventoryType, Type SubItemType, Type LocationType, Type[] colsType)
        {
        }

        public TSLotSerialNbrAttribute(Type InventoryType, Type SubItemType, Type LocationType) : base(InventoryType, SubItemType, LocationType)
        {
        }
        public TSLotSerialNbrAttribute(Type InventoryType, Type SubItemType, Type LocationType, Type ParentLotSerialNbrType)
        {
            var itemType = BqlCommand.GetItemType(InventoryType);
            if (!typeof(ILSMaster).IsAssignableFrom(itemType))
            {
                throw new PXArgumentException(PX.Objects.IN.Messages.TypeMustImplementInterface,
                    itemType.GetLongName(), typeof(ILSMaster).GetLongName());
            }
            _InventoryType = InventoryType;
            _SubItemType = SubItemType;
            _LocationType = LocationType;


            PXSelectorAttribute attr;

            Type SearchType = BqlTemplate.OfCommand<Search2<INLotSerialStatus.lotSerialNbr,
                LeftJoin<TSNewQCOrderSpecializedTest,
               On<TSNewQCOrderSpecializedTest.inventoryID, Equal<INLotSerialStatus.inventoryID>,
               And<TSNewQCOrderSpecializedTest.locationID, Equal<INLotSerialStatus.locationID>,
                   And<TSNewQCOrderSpecializedTest.lotNo, Equal<INLotSerialStatus.lotSerialNbr>>>>>,
                Where<INLotSerialStatus.inventoryID, Equal<Current<TSProdMTranSplit.inventoryID>>,               
                 And<INLotSerialStatus.locationID, Equal<Current<TSProdMTranSplit.locationID>>>>>>
                .Replace<BqlPlaceholder.A>(InventoryType)
                .Replace<BqlPlaceholder.B>(SubItemType)
                .Replace<BqlPlaceholder.C>(LocationType).ToType();

            attr = new PXSelectorAttribute(SearchType, new Type[] {
                                                                 typeof(INLotSerialStatus.lotSerialNbr),                                                                                                                                  typeof(INLotSerialStatus.siteID),
                                                                 typeof(INLotSerialStatus.qtyOnHand),
                                                                 typeof(INSiteLotSerial.qtyAvail),
                                                                 typeof(INLotSerialStatus.expireDate),

                                                                 typeof(TSNewQCOrderSpecializedTest.result)});

            _Attributes.Add(attr);
            _SelAttrIndex = _Attributes.Count - 1;
        }

    }

}

2.TSNewQcOrderSpecializwedTest DAC


using System;
using PX.Data;
using PX.Objects.CS;
using PX.Objects.IN;

namespace Test
{

    [System.SerializableAttribute()]
    [PXEMailSource]
    public class TSNewQCOrderSpecializedTest : PX.Data.IBqlTable
    {  


        #region LocationID
        public abstract class locationID : PX.Data.BQL.BqlInt.Field<locationID> { }
        protected Int32? _LocationID;
        [PX.Objects.IN.LocationAvail(typeof(INSite.siteID), typeof(INSite.siteID), typeof(TSNewQCOrderSpecializedTest.siteID), false, false, true, DisplayName = "Location")]
        public virtual Int32? LocationID
        {
            get
            {
                return this._LocationID;
            }
            set
            {
                this._LocationID = value;
            }
        }
        #endregion

        #region InventoryID
        public abstract class inventoryID : PX.Data.BQL.BqlInt.Field<inventoryID>
        {
        }
        protected int? _InventoryID;
        [Inventory(Filterable =true)]
        [PXDefault]
        [PXUIField(DisplayName = "Inventory ID")]
        public virtual int? InventoryID
        {
            get
            {
                return this._InventoryID;
            }
            set
            {
                this._InventoryID = value;
            }
        }
        #endregion

        #region Description
        public abstract class description : PX.Data.BQL.BqlString.Field<description>
        {
        }
        protected string _Description;
        [PXFormula(typeof(Selector<inventoryID, InventoryItem.descr>))]
        [PXString(255, IsUnicode = true)]
        [PXUIField(DisplayName = "Description", IsReadOnly = true)]
        public virtual string Description
        {
            get
            {
                return this._Description;
            }
            set
            {
                this._Description = value;
            }
        }
        #endregion


        #region LotNo
        public abstract class lotNo : PX.Data.BQL.BqlString.Field<lotNo>
        {
        }
        protected string _LotNo;
        [PXDefault]
        [PXDBString(30, IsUnicode = true)]
        [PXSelector(
         typeof(Search<INLotSerialStatus.lotSerialNbr, Where<INLotSerialStatus.inventoryID,
             Equal<Current<TSNewQCOrderSpecializedTest.inventoryID>>, And<INLotSerialStatus.siteID, Equal<Current<TSNewQCOrderSpecializedTest.siteID>>, And<INLotSerialStatus.locationID, Equal<Current<TSNewQCOrderSpecializedTest.locationID>>>>>>),
         typeof(INLotSerialStatus.lotSerialNbr),
         SubstituteKey = typeof(INLotSerialStatus.lotSerialNbr))]

        [PXUIField(DisplayName = "Lot Nbr")]
        public virtual string LotNo
        {
            get
            {
                return this._LotNo;
            }
            set
            {
                this._LotNo = value;
            }
        }
        #endregion


        #region Result
        public abstract class result : PX.Data.BQL.BqlString.Field<result>
        {
        }
        protected string _Result;
        //[PXDefault]
        [PXDBString(1, IsFixed = true)]
        [PXStringList(new string[]
             { "P","F"},
             new string[]
           { "Pass", "Fail"})]
        [PXUIField(DisplayName = "Result")]
        public virtual string Result
        {
            get
            {
                return this._Result;
            }
            set
            {
                this._Result = value;
            }
        }
        #endregion     


        #region CreatedDateTime
        public abstract class createdDateTime : PX.Data.BQL.BqlDateTime.Field<createdDateTime>
        {
        }
        protected DateTime? _CreatedDateTime;
        [PXDBCreatedDateTimeUtc()]
        public virtual DateTime? CreatedDateTime
        {
            get
            {
                return this._CreatedDateTime;
            }
            set
            {
                this._CreatedDateTime = value;
            }
        }
        #endregion
        #region CreatedByScreenID
        public abstract class createdByScreenID : PX.Data.BQL.BqlString.Field<createdByScreenID>
        {
        }
        protected string _CreatedByScreenID;
        [PXDBCreatedByScreenID()]
        public virtual string CreatedByScreenID
        {
            get
            {
                return this._CreatedByScreenID;
            }
            set
            {
                this._CreatedByScreenID = value;
            }
        }
        #endregion
        #region CreatedByID
        public abstract class createdByID : PX.Data.BQL.BqlGuid.Field<createdByID>
        {
        }
        protected Guid? _CreatedByID;
        [PXDBCreatedByID()]
        public virtual Guid? CreatedByID
        {
            get
            {
                return this._CreatedByID;
            }
            set
            {
                this._CreatedByID = value;
            }
        }
        #endregion
        #region LastModifiedDateTime
        public abstract class lastModifiedDateTime : PX.Data.BQL.BqlDateTime.Field<lastModifiedDateTime>
        {
        }
        protected DateTime? _LastModifiedDateTime;
        [PXDBLastModifiedDateTimeUtc()]
        public virtual DateTime? LastModifiedDateTime
        {
            get
            {
                return this._LastModifiedDateTime;
            }
            set
            {
                this._LastModifiedDateTime = value;
            }
        }
        #endregion
        #region LastModifiedByScreenID
        public abstract class lastModifiedByScreenID : PX.Data.BQL.BqlString.Field<lastModifiedByScreenID>
        {
        }
        protected string _LastModifiedByScreenID;
        [PXDBLastModifiedByScreenID()]
        public virtual string LastModifiedByScreenID
        {
            get
            {
                return this._LastModifiedByScreenID;
            }
            set
            {
                this._LastModifiedByScreenID = value;
            }
        }
        #endregion
        #region LastModifiedByID
        public abstract class lastModifiedByID : PX.Data.BQL.BqlGuid.Field<lastModifiedByID>
        {
        }
        protected Guid? _LastModifiedByID;
        [PXDBLastModifiedByID()]
        public virtual Guid? LastModifiedByID
        {
            get
            {
                return this._LastModifiedByID;
            }
            set
            {
                this._LastModifiedByID = value;
            }
        }
        #endregion
        #region NoteID
        public abstract class noteID : PX.Data.BQL.BqlGuid.Field<noteID>
        {
        }
        protected Guid? _NoteID;
        [PXNote()]
        public virtual Guid? NoteID
        {
            get
            {
                return this._NoteID;
            }
            set
            {
                this._NoteID = value;
            }
        }
        #endregion
        #region tstamp
        public abstract class Tstamp : PX.Data.BQL.BqlByteArray.Field<Tstamp>
        {
        }
        protected byte[] _tstamp;
        [PXDBTimestamp()]
        public virtual byte[] tstamp
        {
            get
            {
                return this._tstamp;
            }
            set
            {
                this._tstamp = value;
            }
        }
        #endregion
    }
}

 


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