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); } } }
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); }