}       //	setM_Product_ID

        /// <summary>
        ///     Set (default) Locator based on qty.
        ///
        ///     </summary>
        ///     <param name="Qty">Qty quantity</param>
        public void SetM_Locator_ID(Decimal Qty)
        {
            //	Locator established
            if (GetM_Locator_ID() != 0)
            {
                return;
            }
            //	No Product
            if (GetM_Product_ID() == 0)
            {
                Set_ValueNoCheck("M_Locator_ID", null);
                return;
            }

            VAdvantage.Model.MOrg org = new VAdvantage.Model.MOrg(GetCtx(), GetAD_Org_ID(), Get_TrxName());

            //	Get existing Location
            int M_Locator_ID = VAdvantage.Model.MStorage.GetM_Locator_ID(org.GetM_Warehouse_ID(),
                                                                         GetM_Product_ID(), GetM_AttributeSetInstance_ID(),
                                                                         Qty, Get_TrxName());

            //	Get default Location
            if (M_Locator_ID == 0)
            {
                VAdvantage.Model.MProduct product = VAdvantage.Model.MProduct.Get(GetCtx(), GetM_Product_ID());
                M_Locator_ID = VAdvantage.Model.MProductLocator.GetFirstM_Locator_ID(product, org.GetM_Warehouse_ID());
                if (M_Locator_ID == 0)
                {
                    VAdvantage.Model.MWarehouse wh = VAdvantage.Model.MWarehouse.Get(GetCtx(), org.GetM_Warehouse_ID());
                    M_Locator_ID = wh.GetDefaultM_Locator_ID();
                }
            }
            base.SetM_Locator_ID(M_Locator_ID);
        }       //	setM_Locator_ID
コード例 #2
0
        }       //	setC_Charge_ID

        /// <summary>
        /// Calculate Tax
        /// </summary>
        /// <param name="windowNo"></param>
        /// <param name="columnName"></param>
        private void SetTax(int windowNo, String columnName)
        {
            int C_Charge_ID = GetC_Charge_ID();

            log.Fine("C_Charge_ID=" + C_Charge_ID);
            if (C_Charge_ID == 0)
            {
                SetAmt(windowNo, columnName);
                return;
            }
            //	Check Partner Location
            int C_BPartner_Location_ID = GetC_BPartner_Location_ID();

            log.Fine("BP_Location=" + C_BPartner_Location_ID);
            if (C_BPartner_Location_ID == 0)
            {
                SetAmt(windowNo, columnName);
                return;
            }
            //	Dates
            DateTime?billDate = GetDateInvoiced();

            log.Fine("Bill Date=" + billDate);
            DateTime?shipDate = billDate;

            log.Fine("Ship Date=" + shipDate);

            int AD_Org_ID = GetAD_Org_ID();

            log.Fine("Org=" + AD_Org_ID);
            MOrg org            = MOrg.Get(GetCtx(), AD_Org_ID);
            int  M_Warehouse_ID = org.GetM_Warehouse_ID();

            log.Fine("Warehouse=" + M_Warehouse_ID);

            Boolean isSOTrx = GetCtx().IsSOTrx(windowNo);
            //
            int C_Tax_ID = Tax.Get(GetCtx(), 0, C_Charge_ID, billDate, shipDate,
                                   AD_Org_ID, M_Warehouse_ID, C_BPartner_Location_ID, C_BPartner_Location_ID,
                                   isSOTrx);

            log.Info("Tax ID=" + C_Tax_ID + " - SOTrx=" + isSOTrx);

            if (C_Tax_ID == 0)
            {
                //ValueNamePair pp = CLogger.retrieveError();
                //if (pp != null)
                //{
                //p_changeVO.addError(pp.getValue());
                //}
                //else
                //{
                //p_changeVO.addError("Tax Error");
                //}
            }
            else
            {
                base.SetC_Tax_ID(C_Tax_ID);
            }
            SetAmt(windowNo, columnName);
        }