コード例 #1
0
ファイル: ARInvoiceEntry.cs プロジェクト: JeffJave/Ipevo
        protected void _(Events.RowPersisting <ARInvoice> e, PXRowPersisting InvokeBaseHandler)
        {
            InvokeBaseHandler?.Invoke(e.Cache, e.Args);

            if (e.Operation == PXDBOperation.Insert || e.Operation == PXDBOperation.Update)
            {
                ARRegisterExt regisExt = PXCache <ARRegister> .GetExtension <ARRegisterExt>(e.Row);

                //if (e.Row.CuryDocBal == decimal.Zero && string.IsNullOrEmpty(regisExt.UsrGUINbr))
                //{
                //    regisExt.UsrVATOutCode = string.Empty;
                //}
                //else
                if (string.IsNullOrEmpty(regisExt.UsrGUINbr) && (regisExt.UsrVATOutCode == TWGUIFormatCode.vATOutCode31 ||
                                                                 regisExt.UsrVATOutCode == TWGUIFormatCode.vATOutCode32 ||
                                                                 regisExt.UsrVATOutCode == TWGUIFormatCode.vATOutCode35))
                {
                    TWNGUIPreferences gUIPreferences = SelectFrom <TWNGUIPreferences> .View.Select(Base);

                    regisExt.UsrGUINbr = ARGUINbrAutoNumAttribute.GetNextNumber(e.Cache, e.Row, regisExt.UsrVATOutCode == TWGUIFormatCode.vATOutCode32 ? gUIPreferences.GUI2CopiesNumbering : gUIPreferences.GUI3CopiesNumbering,
                                                                                regisExt.UsrGUIDate);

                    tWNGUIValidation.CheckGUINbrExisted(Base, regisExt.UsrGUINbr, regisExt.UsrVATOutCode);
                }
            }
        }
コード例 #2
0
        public virtual void CreateGUIInvCredit()
        {
            TWNGUITrans     gUITran   = new TWNGUITrans();
            TWNGUIInvCredit invCredit = Document.Current;

            List <TWNGUITrans> lists = GUIInvoice.Cache.Updated.Cast <TWNGUITrans>().ToList();

            lists.Sort((x, y) =>
            {
                if (Convert.ToInt32(x.GUIFormatcode) < Convert.ToInt32(y.GUIFormatcode))
                {
                    return(0);
                }
                else
                {
                    return(((IComparable)x.GUIFormatcode).CompareTo(y.GUIFormatcode));
                }
            });

            int index = lists.FindIndex(tran => tran.Selected == false);

            if (index >= 0)
            {
                lists.RemoveAt(index);
            }

            for (int i = 0; i < lists.Count; i++)
            {
                TWNGUITrans row = lists[i];

                if (row.GUIFormatcode == TWGUIFormatCode.vATOutCode35)
                {
                    invCredit.GUINbr     = row.GUINbr;
                    invCredit.VATOutCode = row.GUIFormatcode;
                    invCredit.GUINetAmt  = row.NetAmount;
                    invCredit.GUITaxAmt  = row.TaxAmount;
                    invCredit.CNNetAmt   = invCredit.CNTaxAmt = 0;
                    invCredit.NewGUINbr  = ARGUINbrAutoNumAttribute.GetNextNumber(Document.Cache, invCredit, Preferences.Current.GUI3CopiesNumbering, Document.Current.NewGUIDate);

                    gUITran = row;
                }
                else
                {
                    invCredit.CNGUINbr    += (row.GUINbr + ";");
                    invCredit.CNVATOutCode = row.GUIFormatcode;
                    invCredit.CNNetAmt    += row.NetAmount;
                    invCredit.CNTaxAmt    += row.TaxAmount;
                    invCredit.CalcNetAmt   = invCredit.GUINetAmt - invCredit.CNNetAmt;
                    invCredit.CalcTaxAmt   = invCredit.GUITaxAmt - invCredit.CNTaxAmt;
                }

                row.GUIStatus    = TWNGUIStatus.Voided;
                row.EGUIExported = false;

                GUIInvoice.Cache.Update(row);
            }

            invCredit.CNGUINbr = invCredit.CNGUINbr.Substring(0, invCredit.CNGUINbr.Length - 1);

            this.Save.Press();

            CreateNewGUITran(gUITran);
        }