示例#1
0
        /// <summary>
        /// Before Save
        /// </summary>
        /// <param name="newRecord"></param>
        /// <returns>true</returns>
        protected override bool BeforeSave(bool newRecord)
        {
            if (newRecord)
            {
                log.Fine(ToString());
                //
                GetAD_Org_ID();
                GetC_SalesRegion_ID();
                //  Set Default Account Info
                if (GetM_Product_ID() == 0)
                {
                    SetM_Product_ID(_acct.GetM_Product_ID());
                }
                if (GetC_LocFrom_ID() == 0)
                {
                    SetC_LocFrom_ID(_acct.GetC_LocFrom_ID());
                }
                if (GetC_LocTo_ID() == 0)
                {
                    SetC_LocTo_ID(_acct.GetC_LocTo_ID());
                }
                if (GetC_BPartner_ID() == 0)
                {
                    SetC_BPartner_ID(_acct.GetC_BPartner_ID());
                }
                if (GetAD_OrgTrx_ID() == 0)
                {
                    SetAD_OrgTrx_ID(_acct.GetAD_OrgTrx_ID());
                }
                if (GetC_Project_ID() == 0)
                {
                    SetC_Project_ID(_acct.GetC_Project_ID());
                }
                if (GetC_Campaign_ID() == 0)
                {
                    SetC_Campaign_ID(_acct.GetC_Campaign_ID());
                }
                if (GetC_Activity_ID() == 0)
                {
                    SetC_Activity_ID(_acct.GetC_Activity_ID());
                }
                if (GetUser1_ID() == 0)
                {
                    SetUser1_ID(_acct.GetUser1_ID());
                }
                if (GetUser2_ID() == 0)
                {
                    SetUser2_ID(_acct.GetUser2_ID());
                }

                //  Revenue Recognition for AR Invoices
                if (_doc.GetDocumentType().Equals(MDocBaseType.DOCBASETYPE_ARINVOICE) &&
                    _docLine != null &&
                    _docLine.GetC_RevenueRecognition_ID() != 0)
                {
                    int AD_User_ID = 0;
                    SetAccount_ID(
                        CreateRevenueRecognition(
                            _docLine.GetC_RevenueRecognition_ID(), _docLine.Get_ID(),
                            GetAD_Client_ID(), GetAD_Org_ID(), AD_User_ID,
                            GetAccount_ID(), GetC_SubAcct_ID(),
                            GetM_Product_ID(), GetC_BPartner_ID(), GetAD_OrgTrx_ID(),
                            GetC_LocFrom_ID(), GetC_LocTo_ID(),
                            GetC_SalesRegion_ID(), GetC_Project_ID(),
                            GetC_Campaign_ID(), GetC_Activity_ID(),
                            GetUser1_ID(), GetUser2_ID(),
                            GetUserElement1_ID(), GetUserElement2_ID())
                        );
                }
            }
            return(true);
        }