//Used to save a batch that has been loaded private void btnSaveAll_Click(object sender, EventArgs e) { if (myScreen == null) { MessageBox.Show("You must load a batch first!"); return; } if (tbCustID.Text.Trim() == "") { MessageBox.Show("You must select a custID first!"); return; } myScreen.errorMessage = ""; MessageBox.Show(ctStandardLib.ctHelper.serializeObject(myScreen).Replace("><", ">" + Environment.NewLine + "<")); if (myScreen.myARDoc == null) { MessageBox.Show("No Payment Doc found, generating a new one for custID: " + tbCustID.Text); //if our PA doc is not set, we need to create one. myScreen.myARDoc = new ctDynamicsSL.financial.accountsReceivable.input.invoiceAndMemo.ARDoc(); myScreen.myARDoc.CpnyID = myScreen.myBatch.CpnyID; myScreen.myARDoc.CustId = tbCustID.Text.Trim(); myScreen.myARDoc = myIMObj.getNewARDoc(myScreen.myARDoc); myScreen.myARDoc.BankAcct = myIMObj.getAcctXrefsByAcct("", myScreen.myBatch.CpnyID)[0].Acct; //"1035"; myScreen.myARDoc.BankSub = myIMObj.getSubXrefsBySub("", myScreen.myBatch.CpnyID)[0].Sub; //"00000000"; } myScreen.myARTran = (ctDynamicsSL.financial.accountsReceivable.input.invoiceAndMemo.ARTran[])gvARTran.DataSource; if (myScreen.myARTran == null) { MessageBox.Show("ARTRAN is null"); return; } myScreen = myIMObj.editScreen("UPDATE", myScreen); if (myScreen.errorMessage != "") { MessageBox.Show("Error: " + myScreen.errorMessage); return; } else { tbRefNbr.Text = myScreen.myARDoc.RefNbr.Trim(); gvARTran.DataSource = myScreen.myARTran; } MessageBox.Show("Saved Successfully!"); }
private void btnLoad_Click(object sender, EventArgs e) { myScreen = myIMObj.getScreenByBatNbr(tbBatNbr.Text); if (myScreen.errorMessage != "") { MessageBox.Show("Error: " + myScreen.errorMessage); return; } btnSaveAll.Enabled = true; try { tbRefNbr.Text = myScreen.myARDoc.RefNbr; } catch { } try { tbCustID.Text = myScreen.myARDoc.CustId; } catch { } gvARTran.DataSource = myScreen.myARTran; tbScreen.Text = ctStandardLib.ctHelper.serializeObject(myScreen).Replace("><", ">" + Environment.NewLine + "<"); }
//Button action to release a batch, setup to automatically load the batch first private void btnRelease_Click(object sender, EventArgs e) { myScreen = myIMObj.getScreenByBatNbr(tbBatNbr.Text); if (myScreen.errorMessage != "") { MessageBox.Show("Error: " + myScreen.errorMessage); return; } else { myScreen = myIMObj.editScreen("RELEASENOW", myScreen); if (myScreen.errorMessage != "") { MessageBox.Show("Error: " + myScreen.errorMessage); return; } else { tbScreen.Text = ctStandardLib.ctHelper.serializeObject(myScreen).Replace("><", ">" + Environment.NewLine + "<"); } } }
//Creates an empty new payment batch entry //With a default doc and line items private void btnNew_Click(object sender, EventArgs e) { ctDynamicsSL.financial.accountsReceivable.input.invoiceAndMemo.customer myCustomer = myIMObj.getCustomersByCustID("")[0]; myScreen = myIMObj.getNewscreen(null); myScreen.myARDoc.CustId = myCustomer.CustID; //require custID myScreen.myARDoc.DocType = "IN"; //doctype required myScreen.myARDoc.DocDate = System.DateTime.Now; myScreen.myARDoc.DueDate = myScreen.myARDoc.DocDate.AddDays(30); myScreen.myARDoc.Terms = myCustomer.Terms; myScreen.myARTran[0].Acct = myIMObj.getAcctXrefsByAcct("", myScreen.myBatch.CpnyID)[0].Acct; //required myScreen.myARTran[0].Sub = myIMObj.getSubXrefsBySub("", myScreen.myBatch.CpnyID)[0].Sub; myScreen.myARTran[0].TranType = "IN"; myScreen.batchNote = new ctDynamicsSL.financial.accountsReceivable.input.invoiceAndMemo.Snote(); myScreen.batchNote.sNoteText = "my test batch note"; myScreen.invoiceNote = new ctDynamicsSL.financial.accountsReceivable.input.invoiceAndMemo.Snote(); myScreen.invoiceNote.sNoteText = "my test invoice note"; myScreen = myIMObj.editScreen("ADD", myScreen); if (myScreen.errorMessage != "") { btnSaveAll.Enabled = false; tbBatNbr.Text = ""; gvARTran.DataSource = null; tbScreen.Text = ctStandardLib.ctHelper.serializeObject(myScreen).Replace("><", ">" + Environment.NewLine + "<"); MessageBox.Show("Error: " + myScreen.errorMessage); return; } else { tbBatNbr.Text = myScreen.myBatch.BatNbr; btnLoadBatch.PerformClick(); } }
//This will add an Additional ARDoc and ARTran to an exissting open batch private void btnAddNewDoc_Click(object sender, EventArgs e) { if (myScreen == null) { MessageBox.Show("You must load a batch first!"); return; } else { if (myScreen.myBatch.Status != "H") { MessageBox.Show("You can only add items to an open batch!"); return; } } if (tbCustID.Text.Trim() == "") { MessageBox.Show("You must select a custID first!"); return; } myScreen.errorMessage = ""; //clear out any alread loaded docs,tranns myScreen.myARDoc = new ctDynamicsSL.financial.accountsReceivable.input.invoiceAndMemo.ARDoc(); myScreen.myARTran = new ctDynamicsSL.financial.accountsReceivable.input.invoiceAndMemo.ARTran[0]; List <ctDynamicsSL.financial.accountsReceivable.input.invoiceAndMemo.ARTran> newARTrans = new List <ctDynamicsSL.financial.accountsReceivable.input.invoiceAndMemo.ARTran>(); myScreen.myARDoc.BatNbr = myScreen.myBatch.BatNbr; myScreen.myARDoc.CpnyID = myScreen.myBatch.CpnyID; myScreen.myARDoc.CustId = tbCustID.Text.Trim(); myScreen.myARDoc.DocDate = System.DateTime.Now; //load any defaults based on cpnyId and custID myScreen.myARDoc = myIMObj.getNewARDoc(myScreen.myARDoc); myScreen.myARDoc.DocType = "IN"; //doctype required //lets validate and add our new ardoc to the screen object { var validate = myIMObj.editARDoc("VALIDATEONLY", myScreen.myARDoc); if (!String.IsNullOrWhiteSpace(validate.errorMessage)) { MessageBox.Show(validate.errorMessage); return; } } //create our new artrans, validate them and add them to the newARTrans collection { var newARTran = new ctDynamicsSL.financial.accountsReceivable.input.invoiceAndMemo.ARTran(); newARTran.CpnyID = myScreen.myBatch.CpnyID; newARTran.BatNbr = myScreen.myBatch.BatNbr; //load any defaults newARTran = myIMObj.getNewARTran(newARTran); newARTran.Acct = myIMObj.getAcctXrefsByAcct("", myScreen.myBatch.CpnyID)[0].Acct; //required newARTran.Sub = myIMObj.getSubXrefsBySub("", myScreen.myBatch.CpnyID)[0].Sub; newARTran.TranType = myScreen.myARDoc.DocType; { var validate = myIMObj.editARTran("VALIDATEONLY", newARTran); if (!String.IsNullOrWhiteSpace(validate.errorMessage)) { MessageBox.Show(validate.errorMessage); return; } else { newARTrans.Add(newARTran); } } } //all new artrans are vaildated, lets add to the screen myScreen.myARTran = newARTrans.ToArray(); //lets update our batch screen object { var validate = myIMObj.editScreen("VALIDATEONLY", myScreen); if (!String.IsNullOrWhiteSpace(validate.errorMessage)) { MessageBox.Show(validate.errorMessage); return; } else { MessageBox.Show("About to save: " + System.Environment.NewLine + ctStandardLib.ctHelper.serializeObject(myScreen)); var add = myIMObj.editScreen("UPDATE", myScreen); if (!String.IsNullOrWhiteSpace(add.errorMessage)) { MessageBox.Show(add.errorMessage); return; } else { myScreen = add; } } } }