private void button1_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(textBox1.Text)) { MessageBox.Show(" Please Input PO Number. "); } else { oPoDraft = (SAPbobsCOM.Documents)pCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseOrders); oPoDraft.DocObjectCode = SAPbobsCOM.BoObjectTypes.oPurchaseOrders; if (oPoDraft.GetByKey(data.CheckPoNumber(textBox1.Text))) { if (oPoDraft.CardName == vendor) { form2.existingPo = data.CheckPoNumber(textBox1.Text); form2.oPoDraft = oPoDraft; this.DialogResult = DialogResult.Yes; this.Close(); } else { MessageBox.Show(" The Vendor Code Is not Matched with This Purchase Order "); } } else { MessageBox.Show(" This PO Is Not Exist Or Is Close. "); } } }
public void AddPayment(SAPbouiCOM.Form form, double total) { try { SAPbobsCOM.Documents oDoc = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices); int sNum = int.Parse(getItemValue(form, fidRecordID)); oDoc.GetByKey(sNum); if (!oDoc.GetByKey(sNum)) { SBO_Application.MessageBox(oCompany.GetLastErrorDescription()); return; } SAPbobsCOM.Payments oPmt = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oIncomingPayments); oPmt.Invoices.DocEntry = sNum; oPmt.CardCode = oDoc.CardCode; oPmt.DocDate = DateTime.Now; oPmt.DocTypte = SAPbobsCOM.BoRcptTypes.rCustomer; string acct = GetConfig("SAPAccountForIncomingPayment"); if (acct != "") { oPmt.CashAccount = acct; } oPmt.CashSum = total; oPmt.JournalRemarks = GetRemark(form); int r = oPmt.Add(); if (r != 0) { SBO_Application.MessageBox(oCompany.GetLastErrorDescription()); } } catch (Exception ex) { errorLog(ex); } }
public async Task <IActionResult> GetList(string date) { SAPContext context = HttpContext.RequestServices.GetService(typeof(SAPContext)) as SAPContext; SAPbobsCOM.Documents items = (SAPbobsCOM.Documents)context.oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDeliveryNotes); SAPbobsCOM.Recordset oRecSet = (SAPbobsCOM.Recordset)context.oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); List <Object> list = new List <Object>(); oRecSet.DoQuery("Select * From ODLN Where \"DocDate\" = '" + date + "'"); int rc = oRecSet.RecordCount; if (rc == 0) { return(NotFound()); } items.Browser.Recordset = oRecSet; items.Browser.MoveFirst(); while (items.Browser.EoF == false) { JToken temp = context.XMLTOJSON(items.GetAsXML()); temp["ODLN"] = temp["ODLN"][0]; // temp["PDN4"]?.Parent.Remove(); // temp["PDN12"]?.Parent.Remove(); // temp["BTNT"]?.Parent.Remove(); list.Add(temp); items.Browser.MoveNext(); } return(Ok(list)); }
public void loadDocument() { SAPbobsCOM.Documents oDraft = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDrafts); try { string path = ""; FileDialog dlg = new OpenFileDialog(); dlg.Filter = "xml files (*.xml)|*.xml"; DialogResult result = dlg.ShowDialog(); if (result == DialogResult.OK) { path = dlg.FileName; } oDraft = (SAPbobsCOM.Documents)oCompany.GetBusinessObjectFromXML(path, 0); string i = oDraft.GetType().ToString(); if (manageError(oDraft.Add(), true)) { MessageBox.Show("Document inserted correctly"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public SAPbobsCOM.Documents importSalesOrder() { SAPbobsCOM.Documents oDoc = null; try { oDoc = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders); oDoc.DocNum = getNextTableNum("ORDR"); oDoc.CardCode = getFormItemVal(oOrderImpForm, cbCustomerID); oDoc.DocDueDate = DateTime.Now.AddDays(5); oDoc.DocDate = DateTime.Now; if (transObjForImport.Details.Shipping > 0) { oDoc.Expenses.ExpenseCode = getExpenseCode(); oDoc.Expenses.TaxCode = getEmptTaxCode(); oDoc.Expenses.LineTotal = transObjForImport.Details.Shipping; oDoc.Expenses.Add(); } oDoc.Comments = "Created by eBizCharge Import base on trans id: " + transObjForImport.Response.RefNum; foreach (LineItem item in transObjForImport.LineItems) { if (getItemCode(item.SKU) == "") { createItem(item.SKU); } oDoc.Lines.ItemCode = item.SKU; oDoc.Lines.Quantity = getDoubleValue(item.Qty); oDoc.Lines.UnitPrice = getDoubleValue(item.UnitPrice); oDoc.Lines.Add(); } int r = oDoc.Add(); if (r != 0) { string err = "Add Order failed. " + oCompany.GetLastErrorDescription(); errorLog(err); } else { int id = getNextTableID("ORDR") - 1; try{ if (transObjForImport.ShippingAddress.Street != "") { string addr = transObjForImport.ShippingAddress.Street + " " + transObjForImport.ShippingAddress.Street2 + "\r\n" + transObjForImport.ShippingAddress.City + " " + transObjForImport.ShippingAddress.State + " " + transObjForImport.ShippingAddress.Zip; updateOrderShipTo(addr, id); } }catch (Exception) {} logCustomTransaction(id.ToString(), oDoc.CardCode); return(oDoc); } } catch (Exception ex) { errorLog(ex); } return(null); }
public void BatchPreauth(SAPbouiCOM.Form form) { try { if (cfgBatchPreauth != "Y") { return; } if (SBO_Application.MessageBox("Run pre-auth on selected orders?", 1, "Yes", "No") != 1) { return; } SAPbouiCOM.Matrix oMatrix = (SAPbouiCOM.Matrix)form.Items.Item("10").Specific; for (int i = 1; i <= oMatrix.RowCount; i++) { SAPbouiCOM.CheckBox check = (SAPbouiCOM.CheckBox)oMatrix.Columns.Item("1").Cells.Item(i).Specific; if (check.Checked) { string docnum = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("11").Cells.Item(i).Specific).Value; string customerid = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("10").Cells.Item(i).Specific).Value; int docentry = getDocEntry("17", docnum, customerid); SAPbobsCOM.Documents oDoc = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders); if (oDoc.GetByKey(docentry)) { if (oDoc.DocumentStatus == SAPbobsCOM.BoStatus.bost_Close) { SBO_Application.SetStatusBarMessage("eBizCharge Batch pre-auth sales order : " + docnum + " is closed.", SAPbouiCOM.BoMessageTime.bmt_Medium, true); } else { SAPCust sapcust = getCustomerByID(customerid, ""); if (sapcust == null) { SBO_Application.SetStatusBarMessage("eBizCharge Batch pre-auth sales order : " + docnum + " error customer: " + customerid + " has no payment method.", SAPbouiCOM.BoMessageTime.bmt_Medium, true); } else { if (isOrderPreauthed(docentry.ToString())) { SBO_Application.SetStatusBarMessage("eBizCharge Batch pre-auth sales order : " + docnum + " order already pre-authed", SAPbouiCOM.BoMessageTime.bmt_Medium, true); } else { BatchPreauth_PreAuthCustomer(oDoc, sapcust); } } } } else { SBO_Application.SetStatusBarMessage("eBizCharge Batch pre-auth can not retrieve sales order : " + docnum + ". " + oCompany.GetLastErrorDescription(), SAPbouiCOM.BoMessageTime.bmt_Medium, true); } } } } catch (Exception ex) { } }
public int job_createInvoice(SAPbobsCOM.Documents oRefDoc, CCJOB job) { try { SAPbobsCOM.Documents oDoc = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices); oDoc.DocNum = getNextTableNum("OINV"); oDoc.CardCode = oRefDoc.CardCode; oDoc.CardName = oRefDoc.CardName; oDoc.DocDueDate = DateTime.Now.AddDays(5); oDoc.DocDate = DateTime.Now; oDoc.Comments = "Created by eBizCharge Job base on order entry: " + oRefDoc.DocEntry; SAPbobsCOM.Document_Lines olines = oRefDoc.Lines; double total = 0; oDoc.DocType = oRefDoc.DocType; for (int i = 0; i < olines.Count; i++) { olines.SetCurrentLine(i); if (oRefDoc.DocType == SAPbobsCOM.BoDocumentTypes.dDocument_Items) { oDoc.Lines.ItemCode = olines.ItemCode; oDoc.Lines.SerialNum = olines.SerialNum; oDoc.Lines.Quantity = olines.Quantity; oDoc.Lines.Price = olines.Price; oDoc.Lines.DiscountPercent = olines.DiscountPercent; } else { oDoc.Lines.AccountCode = olines.AccountCode; } oDoc.Lines.ItemDescription = olines.ItemDescription; oDoc.Lines.TaxCode = olines.TaxCode; oDoc.Lines.LineTotal = olines.LineTotal; oDoc.Lines.Add(); total += olines.LineTotal; } int r = oDoc.Add(); if (r != 0) { string err = string.Format("Job create invoice failed. JobID:{0};OrderID:{1}\r\n", job.jobID, job.OrderID) + getErrorString(); errorLog(err); job.Result = err; job.LastRunDate = DateTime.Today; update(job); return 0; } return getNextTableID("OINV") - 1; } catch (Exception ex) { errorLog(ex); } return 0; }
private TransactionRequestObject Batch_createRequest(SAPbobsCOM.Documents doc) { TransactionRequestObject req = new TransactionRequestObject(); try { req.BillingAddress = new GwAddress(); req.ClientIP = getIP(); req.CustReceipt = false; //true; req.Details = new TransactionDetail(); req.Details.Clerk = oCompany.UserName; req.Details.AllowPartialAuth = true; req.Details.Amount = Math.Round(doc.DocTotal, 2); req.Details.Discount = Math.Round(doc.TotalDiscount, 2); req.Details.Shipping = getShipping(doc); req.Details.Tax = doc.VatSum; req.Details.Invoice = doc.DocNum.ToString(); req.Details.OrderID = GetSalesOrderDocNum(req.Details.Invoice); req.Details.PONum = doc.NumAtCard; if (req.Details.PONum == "" || req.Details.PONum == null) { req.Details.PONum = doc.DocNum.ToString(); } req.Details.ShipFromZip = getZipFromAddr(doc.Address2); req.Details.Description = doc.Comments; req.Details.Subtotal = 0; // req.Details.Subtotal = Math.Round(req.Details.Amount - (req.Details.Shipping + req.Details.Tax - req.Details.Discount), 2); SAPbobsCOM.Document_Lines olines = doc.Lines; req.LineItems = new LineItem[olines.Count]; for (int i = 0; i < olines.Count; i++) { olines.SetCurrentLine(i); req.LineItems[i] = new LineItem(); req.LineItems[i].CommodityCode = merchantData.ItemCommodityCode == null ? olines.ItemCode : merchantData.ItemCommodityCode; req.LineItems[i].Qty = olines.Quantity.ToString(); req.LineItems[i].UnitPrice = olines.Price.ToString(); req.LineItems[i].ProductName = olines.ItemDescription; req.LineItems[i].UnitOfMeasure = "EACH"; req.LineItems[i].SKU = olines.ItemCode; req.LineItems[i].CommodityCode = olines.ItemCode; req.LineItems[i].Taxable = true; // req.LineItems[i].TaxableSpecified = true; req.LineItems[i].TaxRate = olines.TaxPercentagePerRow.ToString(); } } catch (Exception ex) { errorLog(ex); } return(req); }
public void handleRBillingInvoice(CCJOB job) { string CustNum = ""; string CCAccountID = ""; try { int invID = getDocEntry("13", job.InvoiceID.ToString(), job.CustomerID); SAPbobsCOM.Documents oDoc = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices); if (!oDoc.GetByKey(invID)) { string err = string.Format("Job {0} failed. Invoice ID: {1} not found", job.jobID, job.InvoiceID); job.Result = err; job.LastRunDate = DateTime.Today; update(job); errorLog(err); return; } SAPCust sapcust = job_getCustomer(job); if (sapcust != null) { string amt = job.Amount; double balance = getBalance(invID.ToString()); if (balance == 0) { job.EndDate = DateTime.Today; job.LastRunDate = DateTime.Today; job.Result = "Invoice closed"; update(job); amt = ""; } else if (balance < getDoubleValue(amt)) amt = balance.ToString(); if (amt != "") { if (job_runCustomerTrans(sapcust, oDoc, job, amt)) { if (job_AddPayment(job, oDoc, sapcust, amt)) { job_setNextRunDate(job.jobID, GetNextRunDate(job)); } } } } }catch(Exception ex) { errorLog("Job failed on handleRBillingInvoice. \r\n" + "JobID:" + job.jobID + "\r\n" + "InvoiceID:" + job.InvoiceID + "\r\n" + "CustNum:" + CustNum + "\r\n" + "CCAcountID:" + CCAccountID + "\r\n" + ex.Message); job.Result = "Failed. " + ex.Message; job.EndDate = DateTime.Today; update(job); } }
public Form1GridViewsInitializer(int jobNumber, int orderObjectKey, SAPbobsCOM.Company company) { jobNo = jobNumber; pCompany = company; orderKey = orderObjectKey; oOrder = (SAPbobsCOM.Documents)pCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders); oOrder.GetByKey(orderKey); }
public bool job_AddPayment( CCJOB job , SAPbobsCOM.Documents oDoc, SAPCust cust, string amt = "", string customerID = "") { try { double dtotal = 0; if(oDoc != null) dtotal = oDoc.DocTotal; if (amt != "") dtotal = getDoubleValue(amt); SAPbobsCOM.Payments oPmt = (SAPbobsCOM.Payments)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oIncomingPayments); int bplid = getBranchIdFromINV(oDoc.DocEntry.ToString()); if (bplid != 0) oPmt.BPLID = bplid; if (oDoc != null) { oPmt.Invoices.DocEntry = oDoc.DocEntry; oPmt.Invoices.InvoiceType = SAPbobsCOM.BoRcptInvTypes.it_Invoice; oPmt.CardCode = oDoc.CardCode; oPmt.Invoices.SumApplied = dtotal; } else oPmt.CardCode = customerID; oPmt.DocDate = DateTime.Now; oPmt.Remarks = "eBizCharge Payment On Account Recurring Billing " + confirmNum; //oPmt.TransferDate = DateTime.Now; oPmt.DocTypte = SAPbobsCOM.BoRcptTypes.rCustomer; AddCreditCardPayment(oPmt, cust, dtotal, true); int r = oPmt.Add(); if (r != 0) { errorLog("Job Failed on Add Payment. ID:" + job.jobID + "\r\n" + "OrderID:" + job.OrderID + "\r\n" + "CCAcountID:" + cust.cccust.CCAccountID + "\r\n" + getErrorString()); voidCustomer(confirmNum); job.Result = "Failed. " + getErrorString(); job.LastRunDate = DateTime.Today; update(job); return false; } CCTRANUpdateIncomingPaymentID(confirmNum); } catch (Exception ex) { errorLog(ex); job.Result = "Failed. " +ex.Message; job.LastRunDate = DateTime.Today; update(job); voidCustomer(confirmNum); return false; } return true; }
/// <summary> /// Create a Food Delivery in Corrals. Data will be stores in Tables ODLN and DLN1 frin SAP B1 /// </summary> public static ResultDTO CreateDelivery(DeliveryDTO deliveryDTO) { var result = new ResultDTO(); var lObjDistributionDAO = new DistributionDAO(); try { SAPbobsCOM.Documents lObjDocDelivery = (SAPbobsCOM.Documents)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDeliveryNotes); //ODLN} var task = Task.Run(() => { lObjDocDelivery.CardCode = deliveryDTO.CardCode; lObjDocDelivery.CardName = deliveryDTO.CardName; lObjDocDelivery.UserFields.Fields.Item("U_GLO_BusinessPartner").Value = deliveryDTO.CardCode; lObjDocDelivery.DocDate = deliveryDTO.DocDate; lObjDocDelivery.Series = deliveryDTO.Series; }); var task2 = Task.Factory.StartNew(() => { foreach (var docLine in deliveryDTO.DocLines) //DLN { lObjDocDelivery.Lines.ItemCode = docLine.ItemCode; lObjDocDelivery.Lines.ItemDescription = docLine.Dscription; lObjDocDelivery.Lines.Quantity = docLine.Quantity; lObjDocDelivery.Lines.WarehouseCode = docLine.WhsCode; lObjDocDelivery.Lines.UserFields.Fields.Item("U_GLO_BagsBales").Value = docLine.BagsBales; lObjDocDelivery.Lines.UserFields.Fields.Item("U_GLO_Corral").Value = docLine.Corral; lObjDocDelivery.Lines.CostingCode = docLine.Area; lObjDocDelivery.Lines.Price = docLine.Price; lObjDocDelivery.Lines.Add(); } }); Task.WaitAll(task, task2); if (lObjDocDelivery.Add() != 0) { LogService.WriteError("DeliveryDI (CreateDocument) " + DIApplication.Company.GetLastErrorDescription()); result.Message = DIApplication.Company.GetLastErrorDescription(); result.Success = false; return(result); } } catch (Exception ex) { LogService.WriteError(String.Format("{0}: {1}, {2}", "DeliveryDI(Exception)", ex.Message, ex.StackTrace)); result.Success = false; result.Message = ex.Message; return(result); } result.Message = "La Entrega se realizó con éxito"; result.Success = true; return(result); }
public Form2GridViewsInitializer(int jobNumber, int DraftObjectKey, SAPbobsCOM.Company company) { // odrfObject = new ODRFConnector(jobNumber,true); jobNo = jobNumber; pCompany = company; data = new SqlData(); invDraftKey = DraftObjectKey; oInvTransDraft = (SAPbobsCOM.Documents)pCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDrafts); oInvTransDraft.DocObjectCode = SAPbobsCOM.BoObjectTypes.oStockTransfer; isAvailable = oInvTransDraft.GetByKey(invDraftKey); }
private void HandleSQPress(SAPbouiCOM.Form form, SAPbouiCOM.ItemEvent pVal) { try { switch (pVal.ItemUID) { case tbCreditCard: form.PaneLevel = paneCCLog; SQDocEntry = form.DataSources.DBDataSources.Item("OQUT").GetValue("DocEntry", 0); if (SQDocEntry != "") { strWhere = string.Format(" Where \"U_customerID\"='{0}' and \"U_QuoteID\"='{1}' ", getFormItemVal(form, fidCustID), SQDocEntry); } else { strWhere = string.Format(" Where 1=0 ", getFormItemVal(form, fidCustID)); } populateLog(form); break; case btnCharge: SQDocEntry = form.DataSources.DBDataSources.Item("OQUT").GetValue("DocEntry", 0); if (SQDocEntry != "") { SAPbobsCOM.Documents oDoc = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oQuotations); oDoc.GetByKey(int.Parse(SQDocEntry)); if (oDoc.DocumentStatus == SAPbobsCOM.BoStatus.bost_Close) { showMessage("Quotation is closed"); bAuto = true; tProcess = new Thread(RecordRefreshThreadProc); tProcess.Start(); return; } } if (!ItemValidate(form)) { return; } theActiveForm = form; CreateCreditCardForm(); break; } } catch (Exception ex) { errorLog(ex); } }
public void handleRBillingOrder(CCJOB job) { string refNum = ""; int CCAccountID = 0; try { SAPbobsCOM.Documents oRefDoc = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders); if (!oRefDoc.GetByKey((int)job.OrderID)) { string err = string.Format("Job {0} failed. Order ID: {1} not found", job.jobID, job.OrderID); job.Result = err; job.LastRunDate = DateTime.Today; update(job); errorLog(err); return; } int invID = job_createInvoice(oRefDoc, job); if (invID != 0) { SAPbobsCOM.Documents oDoc = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices); oDoc.GetByKey(invID); job_getInfoformTrans(job, ref refNum); SAPCust sapcust = job_getCustomer(job); if (sapcust != null) { if (job_runCustomerTrans(sapcust, oDoc, job)) { if (job_AddPayment(job, oDoc, sapcust)) { job_setNextRunDate(job.jobID, GetNextRunDate(job)); } } } } }catch(Exception ex) { errorLog("Job failed on handleRBillingOrder. \r\n" + "JobID:" + job.jobID + "\r\n" + "OrderID:" + job.OrderID + "\r\n" + "CustNum:" + CustNum + "\r\n" + "CCAcountID:" + CCAccountID + "\r\n" + ex.Message); job.Result = "Failed. " + ex.Message; job.LastRunDate = DateTime.Today; update(job); } }
//Approve Button private void Button0_PressedAfter(object sboObject, SAPbouiCOM.SBOItemEventArg pVal) { if (DocEntry_ODRF > 0) { SAPbobsCOM.ApprovalRequestsService oApprovalRequestsService = (SAPbobsCOM.ApprovalRequestsService)oCompany.GetCompanyService().GetBusinessService(SAPbobsCOM.ServiceTypes.ApprovalRequestsService); SAPbobsCOM.ApprovalRequestsParams oApprovalRequestsParams = (SAPbobsCOM.ApprovalRequestsParams)oApprovalRequestsService.GetDataInterface(SAPbobsCOM.ApprovalRequestsServiceDataInterfaces.arsApprovalRequestsParams); SAPbobsCOM.ApprovalRequest oApprovalRequest = (SAPbobsCOM.ApprovalRequest)oApprovalRequestsService.GetDataInterface(SAPbobsCOM.ApprovalRequestsServiceDataInterfaces.arsApprovalRequest); SAPbobsCOM.ApprovalRequestParams oApprovalRequestParams = (SAPbobsCOM.ApprovalRequestParams)oApprovalRequestsService.GetDataInterface(SAPbobsCOM.ApprovalRequestsServiceDataInterfaces.arsApprovalRequestParams); oApprovalRequestParams.Code = WddCode; //Approve request oApprovalRequest = oApprovalRequestsService.GetApprovalRequest(oApprovalRequestParams); oApprovalRequest.ApprovalRequestDecisions.Add(); oApprovalRequest.ApprovalRequestDecisions.Item(0).Remarks = EditText0.Value; oApprovalRequest.ApprovalRequestDecisions.Item(0).Status = SAPbobsCOM.BoApprovalRequestDecisionEnum.ardApproved; try { oApprovalRequestsService.UpdateRequest(oApprovalRequest); oApp.MessageBox("Phê duyệt thành công"); oApprovalRequest = oApprovalRequestsService.GetApprovalRequest(oApprovalRequestParams); if (oApprovalRequest.Status == SAPbobsCOM.BoApprovalRequestStatusEnum.arsApproved) { try { //Approved Document Add to Valid Document SAPbobsCOM.Documents oDraft = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDrafts); oDraft.GetByKey(oApprovalRequest.ObjectEntry); int ErrorCode = oDraft.SaveDraftToDocument(); if (ErrorCode == 0) { oApp.SetStatusBarMessage("Document added successfully", SAPbouiCOM.BoMessageTime.bmt_Medium, false); } else { oApp.SetStatusBarMessage(ErrorCode.ToString() + "|" + oCompany.GetLastErrorDescription(), SAPbouiCOM.BoMessageTime.bmt_Medium, true); } } catch { } } } catch (Exception ex) { oApp.MessageBox("Phê duyệt không thành công |" + ex.Message); } } }
private int createTypePurchaseOrder() { int result = -1; double AddQty = 0.00; AddQty = Math.Round(Convert.ToDouble(dtHead.GetValue("TodayQty", 0))); string cardCode = Convert.ToString(dtHead.GetValue("CardCode", 0)); string numAtCard = Convert.ToString(dtHead.GetValue("Ref", 0)); DateTime dtDocDate = Convert.ToDateTime(dtHead.GetValue("PoDate", 0)); oApplication.SetStatusBarMessage("Creating Purcahse order of qty " + AddQty.ToString(), SAPbouiCOM.BoMessageTime.bmt_Short, false); if (AddQty > 0) { SAPbobsCOM.Documents PurchaseOrder = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseOrders); PurchaseOrder.DocDate = dtDocDate; PurchaseOrder.CardCode = cardCode; PurchaseOrder.NumAtCard = numAtCard; PurchaseOrder.Lines.ItemCode = cbAT.Selected.Value.ToString().Trim(); PurchaseOrder.Lines.Quantity = AddQty; // PurchaseOrder.Lines.GrossBuyPrice PurchaseOrder.Lines.Add(); result = PurchaseOrder.Add(); if (result != 0) { int errorCode = 0; string errmsg = ""; oCompany.GetLastError(out errorCode, out errmsg); oApplication.MessageBox(errmsg); } else { int newWorEntry = Convert.ToInt32(oCompany.GetNewObjectKey()); newPOEntry = newWorEntry; //prodOrder.GetByKey(newWorEntry); //for (int p = 0; p < prodOrder.Lines.Count; p++) //{ // prodOrder.Lines.SetCurrentLine(p); // prodOrder.Lines.PlannedQuantity = prodOrder.Lines.PlannedQuantity * Yield / 100; //} //// prodOrder.ProductionOrderStatus = SAPbobsCOM.BoProductionOrderStatusEnum.boposReleased; //prodOrder.Update(); } } return(result); }
/// <summary> /// 生成采购收货单 /// </summary> /// <param name="purchaseOrder"></param> /// <returns></returns> private Result CreatePurchaseOrder(PurchaseOrder purchaseOrder) { int DocEntry = default(int); if (BOneCommon.IsExistDocument("OPDN", purchaseOrder.OMSDocEntry, out DocEntry)) { return new Result() { ResultCode = 0, ObjCode = DocEntry.ToString(), Message = "has been successfully created documents." } } ; Result result = new Result(); SAPbobsCOM.Documents myDocument = SAP.SAPCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseDeliveryNotes); myDocument.CardCode = purchaseOrder.CardCode; myDocument.DocDate = purchaseOrder.OMSDocDate; myDocument.UserFields.Fields.Item("U_OMSDocEntry").Value = purchaseOrder.OMSDocEntry; myDocument.UserFields.Fields.Item("U_BatchNum").Value = purchaseOrder.BatchNum; myDocument.Comments = purchaseOrder.Comments; foreach (var item in purchaseOrder.PurchaseOrderItems) { myDocument.Lines.UserFields.Fields.Item("U_OMSDocEntry").Value = item.OMSDocEntry; myDocument.Lines.UserFields.Fields.Item("U_OMSLineNum").Value = item.OMSLineNum; myDocument.Lines.ItemCode = item.ItemCode; myDocument.Lines.Quantity = Convert.ToDouble(item.Quantity); myDocument.Lines.PriceAfterVAT = Convert.ToDouble(item.Price); var vatGroup = BOneCommon.GetVatGroupbyItemCode(item.ItemCode); myDocument.Lines.VatGroup = vatGroup.Item1; myDocument.Lines.Add(); } int rt = myDocument.Add(); if (rt != 0) { result.ResultCode = -1; result.Message = SAP.SAPCompany.GetLastErrorDescription(); } else { result.ResultCode = 0; result.ObjCode = SAP.SAPCompany.GetNewObjectKey(); result.Message = "create purchaseOrder successful."; } return(result); }
public static Result CreateInvoice(MergeSalesOrder salesOrder) { Result result = new Result(); SAPbobsCOM.Documents myDocuments = SAP.SAPCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices); myDocuments.DocDate = salesOrder.OMSDocDate; myDocuments.DocDueDate = salesOrder.OMSDocDate; myDocuments.TaxDate = salesOrder.OMSDocDate; myDocuments.UserFields.Fields.Item("U_DocType").Value = salesOrder.DocType; myDocuments.UserFields.Fields.Item("U_BusinessType").Value = salesOrder.BusinessType; myDocuments.UserFields.Fields.Item("U_PlatformCode").Value = salesOrder.PlatformCode; myDocuments.CardCode = salesOrder.CardCode; foreach (var item in salesOrder.MergeSalesOrderItems) { myDocuments.Lines.ItemCode = item.ItemCode; if (salesOrder.DocType == "S01") { myDocuments.Lines.Quantity = Convert.ToDouble(item.Quantity); } else { myDocuments.Lines.Quantity = -Convert.ToDouble(item.Quantity); } myDocuments.Lines.VatGroup = BOneCommon.GetVatGroupbyItemCode(item.ItemCode).Item2; myDocuments.Lines.PriceAfterVAT = Convert.ToDouble(item.ItemPaied) / myDocuments.Lines.Quantity; myDocuments.Lines.Add(); } int rtCode = myDocuments.Add(); if (rtCode != 0) { result.ResultCode = -1; result.Message = SAP.SAPCompany.GetLastErrorDescription(); } else { result.ResultCode = 0; result.ObjCode = SAP.SAPCompany.GetNewObjectKey(); result.Message = "Create Invoice Successfully."; } return(result); }
/// <summary> /// 生成库存收货 /// </summary> /// <param name="purchaseOrder"></param> /// <returns></returns> private Result CreateGoodsReceipts(PurchaseOrder purchaseOrder) { int DocEntry = default(int); if (BOneCommon.IsExistDocument("OIGN", purchaseOrder.OMSDocEntry, out DocEntry)) { return new Result() { ResultCode = 0, ObjCode = DocEntry.ToString(), Message = "has been successfully created document." } } ; Result result = new Result(); SAPbobsCOM.Documents myDocument = SAP.SAPCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInventoryGenEntry); myDocument.CardCode = purchaseOrder.CardCode; myDocument.DocDate = purchaseOrder.OMSDocDate; myDocument.UserFields.Fields.Item("U_OMSDocEntry").Value = purchaseOrder.OMSDocEntry; myDocument.UserFields.Fields.Item("U_BatchNum").Value = purchaseOrder.BatchNum; myDocument.UserFields.Fields.Item("U_InvnTrnsType").Value = purchaseOrder.BusinessType; myDocument.Comments = purchaseOrder.Comments; foreach (var item in purchaseOrder.PurchaseOrderItems) { myDocument.Lines.UserFields.Fields.Item("U_OMSDocEntry").Value = item.OMSDocEntry; myDocument.Lines.UserFields.Fields.Item("U_OMSLineNum").Value = item.OMSLineNum; myDocument.Lines.ItemCode = item.ItemCode; myDocument.Lines.Quantity = Convert.ToDouble(item.Quantity); myDocument.Lines.PriceAfterVAT = Convert.ToDouble(item.Price); myDocument.Lines.AccountCode = BOneCommon.GetAccCodeByBusinessType(purchaseOrder.BusinessType); myDocument.Lines.Add(); } int rt = myDocument.Add(); if (rt != 0) { result.ResultCode = -1; result.Message = SAP.SAPCompany.GetLastErrorDescription(); } else { result.ResultCode = 0; result.ObjCode = SAP.SAPCompany.GetNewObjectKey(); result.Message = "create document successful."; } return(result); }
/// <summary> /// Creates a Return Credit Note /// </summary> /// <param name="pOriginal">The original document the credit note is based of.</param> private void CreateReturnDraft(SAPbobsCOM.Documents pOriginal) { try { // Create new draft document SAPbobsCOM.Documents lDraft = (SAPbobsCOM.Documents)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDrafts); lDraft.DocObjectCode = SAPbobsCOM.BoObjectTypes.oCreditNotes; lDraft.CardCode = pOriginal.CardCode; lDraft.GroupNumber = -1; lDraft.PaymentMethod = pOriginal.PaymentMethod; lDraft.UserFields.Fields.Item("U_B1SYS_MainUsage").Value = pOriginal.UserFields.Fields.Item("U_B1SYS_MainUsage").Value; lDraft.UserFields.Fields.Item("U_CO_TypeInvoice").Value = "NCD"; for (int i = 0; i < pOriginal.Lines.Count; i++) { pOriginal.Lines.SetCurrentLine(i); lDraft.Lines.ItemCode = pOriginal.Lines.ItemCode; lDraft.Lines.Quantity = pOriginal.Lines.Quantity; lDraft.Lines.UnitPrice = pOriginal.Lines.UnitPrice; lDraft.Lines.TaxCode = pOriginal.Lines.TaxCode; lDraft.Lines.WarehouseCode = pOriginal.Lines.WarehouseCode; lDraft.Lines.CostingCode = pOriginal.Lines.CostingCode; lDraft.Lines.CostingCode2 = pOriginal.Lines.CostingCode2; lDraft.Lines.CostingCode3 = pOriginal.Lines.CostingCode3; lDraft.Lines.UserFields.Fields.Item("U_GLO_BagsBales").Value = pOriginal.Lines.UserFields.Fields.Item("U_GLO_BagsBales").Value; lDraft.Lines.Add(); } int intError = lDraft.Add(); string lStrErrMsg; if (intError != 0) { DIApplication.Company.GetLastError(out intError, out lStrErrMsg); UIApplication.ShowError(lStrErrMsg); } else { string lStrLastDoc = DIApplication.Company.GetNewObjectKey().ToString(); //Insert original document in references mCreditMemoDao.InsertDocumentReference(Convert.ToInt32(lStrLastDoc), (int)SAPbobsCOM.BoObjectTypes.oCreditNotes, 1, pOriginal.DocEntry, pOriginal.DocNum, (int)pOriginal.DocObjectCode, "03", pOriginal.CreationDate.ToString("yyyyMMdd")); Application.SBO_Application.OpenForm((SAPbouiCOM.BoFormObjectEnum) 112, "", lStrLastDoc); } } catch (Exception lObjException) { LogUtility.WriteError(string.Format("[BonusModal - CreateReturnDraft] Error al crear el borrador de la devolución de la nota de crédito: {0}", lObjException.Message)); UIApplication.ShowMessageBox(string.Format("Error al crear el borrador de la devolución de la nota de crédito: {0}", lObjException.Message)); } }
//[Authorize] public async Task <IActionResult> Post([FromBody] PurchaseOrderDeliveryReturn value) { SAPContext context = HttpContext.RequestServices.GetService(typeof(SAPContext)) as SAPContext; SAPbobsCOM.Documents returnDocument = (SAPbobsCOM.Documents)context.oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseReturns); SAPbobsCOM.Documents purchaseDelivery = (SAPbobsCOM.Documents)context.oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseDeliveryNotes); if (purchaseDelivery.GetByKey(value.order)) { returnDocument.CardCode = purchaseDelivery.CardCode; returnDocument.DocDate = DateTime.Now; returnDocument.DocDueDate = DateTime.Now; for (int i = 0; i < value.products.Count; i++) { returnDocument.Lines.BaseEntry = purchaseDelivery.DocEntry; returnDocument.Lines.BaseLine = value.products[i].Line; returnDocument.Lines.BaseType = 20; returnDocument.Lines.Quantity = value.products[i].Count; for (int j = 0; j < value.products[i].batch.Count; j++) { returnDocument.Lines.BatchNumbers.BaseLineNumber = returnDocument.Lines.LineNum; returnDocument.Lines.BatchNumbers.BatchNumber = value.products[i].batch[j].name; returnDocument.Lines.BatchNumbers.Quantity = value.products[i].batch[j].quantity; returnDocument.Lines.BatchNumbers.Add(); } returnDocument.Lines.Add(); } int result = returnDocument.Add(); if (result == 0) { return(Ok(new { value })); } else { string error = context.oCompany.GetLastErrorDescription(); return(BadRequest(new { error })); } } return(BadRequest(new { error = "No Existe Documento" })); }
//ok public SAPbobsCOM.Documents EliminarLineaOrdenCompra(SDK.Documentos.frmDocumentos form, SDK_SAP.Clases.Document document, int Line) { SAPbobsCOM.Documents oDocument = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseOrders); SAPbobsCOM.Documents oDocumentCopy = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseOrders); oDocument.GetByKey(Convert.ToInt32(document.DocEntry)); oDocumentCopy = oDocument; #region Eliminar Linea oDocument.Lines.SetCurrentLine(Line); if (oDocument.Lines.LineStatus != SAPbobsCOM.BoStatus.bost_Close) { oDocument.Lines.Delete(); } if (oDocument.Update() != 0) { throw new Exception("Error [" + oCompany.GetLastErrorDescription() + "]"); } #endregion else { #region Datos SAP form.txtFolio.Text = oCompany.GetNewObjectKey(); oDocumentCopy.GetByKey(Convert.ToInt32(form.txtFolio.Text)); form.txtFolio.Text = oDocumentCopy.DocNum.ToString(); if (SAPbobsCOM.BoStatus.bost_Close == oDocumentCopy.DocumentStatus) { form.txtStatus.Text = "Cerrado"; } else if (SAPbobsCOM.BoStatus.bost_Open == oDocumentCopy.DocumentStatus) { form.txtStatus.Text = "Abierto"; } //form.btnCrear.Enabled = false; #endregion } this.CloseConnection(); return(oDocument); }
//ok public decimal CerrarOrdenCompra(SDK.Documentos.frmDocumentos form, SDK_SAP.Clases.Document document) { SAPbobsCOM.Documents oDocument = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseOrders); oDocument.GetByKey(Convert.ToInt32(document.DocEntry)); #region Detalle for (int i = 0; i < oDocument.Lines.Count; i++) { oDocument.Lines.SetCurrentLine(i); if (oDocument.Lines.LineStatus != SAPbobsCOM.BoStatus.bost_Close) { oDocument.Lines.LineStatus = SAPbobsCOM.BoStatus.bost_Close; } } #endregion if (oDocument.Update() != 0) { throw new Exception("Error [" + oCompany.GetLastErrorDescription() + "]"); } else { #region Datos SAP form.txtFolio.Text = oCompany.GetNewObjectKey(); oDocument.GetByKey(Convert.ToInt32(form.txtFolio.Text)); form.txtFolio.Text = oDocument.DocNum.ToString(); if (SAPbobsCOM.BoStatus.bost_Close == oDocument.DocumentStatus) { form.txtStatus.Text = "Cerrado"; } else if (SAPbobsCOM.BoStatus.bost_Open == oDocument.DocumentStatus) { form.txtStatus.Text = "Abierto"; } #endregion } this.CloseConnection(); return(oDocument.DocNum); }
public int AtualizarPedidoVenda(SAPbobsCOM.Company company, int docEntry) { this.log = new Log(); try { this.oCompany = company; log.WriteLogPedido("Atualizando Pedido de Venda - NF enviada p/ VTEX"); SAPbobsCOM.Documents oInvoice = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices); if (oInvoice.GetByKey(docEntry)) { //SAPbobsCOM.Documents oOrderUpdate = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders); //oOrderUpdate = oOrder; oInvoice.UserFields.Fields.Item("U_EnvioNFVTEX").Value = "S"; int updateOrderNum = oInvoice.Update(); if (updateOrderNum != 0) { string messageError = oCompany.GetLastErrorDescription(); log.WriteLogPedido("AtualizarPedidoVenda error SAP: " + messageError); System.Runtime.InteropServices.Marshal.ReleaseComObject(oInvoice); return(1); } else { System.Runtime.InteropServices.Marshal.ReleaseComObject(oInvoice); return(0); } } return(1); } catch (Exception) { return(1); throw; } }
public async Task <IActionResult> PostMASS([FromBody] DeliveryModelMASS value) { SAPContext context = HttpContext.RequestServices.GetService(typeof(SAPContext)) as SAPContext; SAPbobsCOM.Documents delivery = (SAPbobsCOM.Documents)context.oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInventoryGenExit); delivery.DocDate = value.date; delivery.TaxDate = value.date; delivery.Comments = value.comments; for (int i = 0; i < value.product.Count; i++) { delivery.Lines.ItemCode = value.product[i].ItemCode; //delivery.Lines.UoMEntry = 6; delivery.Lines.Quantity = value.product[i].Count; delivery.Lines.AccountCode = value.product[i].AccCode; delivery.Lines.WarehouseCode = value.sucursal; //Console.WriteLine(value.product[i].batch.Count); for (int j = 0; j < value.product[i].batch.Count; j++) { delivery.Lines.BatchNumbers.BaseLineNumber = delivery.Lines.LineNum; delivery.Lines.BatchNumbers.BatchNumber = value.product[i].batch[j].BatchNum; delivery.Lines.BatchNumbers.Quantity = value.product[i].batch[j].Quantity; delivery.Lines.BatchNumbers.Add(); } delivery.Lines.Add(); } int result = delivery.Add(); if (result == 0) { return(Ok(new { value })); } else { string error = context.oCompany.GetLastErrorDescription(); return(BadRequest(new { error })); } }
public void DeleteDrafts(string pStrType) { try { DraftDAO lObjDraftDAO = new DraftDAO(); List <DraftDTO> lLstDraft = lObjDraftDAO.GetDraftInvoices(pStrType); LogService.WriteInfo(string.Format("Iniciando proceso de eliminar preliminares de tipo {0}. Se procesarán {1} preliminares", pStrType, lLstDraft.Count)); foreach (var lObjDraft in lLstDraft) { //Load your original draft invoice. SAPbobsCOM.Documents lObjDraftInvoice = (SAPbobsCOM.Documents)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDrafts); lObjDraftInvoice.GetByKey(lObjDraft.DocEntry); if (lObjDraftInvoice.Remove() == 0) { System.Console.WriteLine(string.Format("Se eliminó correctamente el Preliminar con DocEntry {0}", lObjDraft.DocEntry)); LogService.WriteSuccess(string.Format("Se eliminó correctamente el Preliminar con DocEntry {0}", lObjDraft.DocEntry)); } else { string lStrLastError = DIApplication.Company.GetLastErrorDescription(); System.Console.WriteLine(string.Format("Error al eliminar el Preliminar con DocEntry {0}: {1}", lObjDraft.DocEntry, lStrLastError)); LogService.WriteError(string.Format("Error al eliminar el Preliminar con DocEntry {0}: {1}", lObjDraft.DocEntry, lStrLastError)); } } LogService.WriteInfo("Proceso de eliminar preliminares terminado"); } catch (Exception lObjException) { HandleException(lObjException, "GetDraftInvoices"); throw lObjException; } }
public void AddOutgoingPayment(SAPbouiCOM.Form form, double total) { try { SAPbobsCOM.Documents oDoc = null; oDoc = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oCreditNotes); int sNum = int.Parse(getItemValue(form, fidRecordID)); if (!oDoc.GetByKey(sNum)) { SBO_Application.MessageBox(oCompany.GetLastErrorDescription()); return; } SAPbobsCOM.Payments oPmt = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oVendorPayments); oPmt.Invoices.DocEntry = sNum; oPmt.Invoices.InvoiceType = SAPbobsCOM.BoRcptInvTypes.it_CredItnote; oPmt.CashAccount = GetConfig("SAPAccountForOutgoingPayment"); oPmt.CardCode = oDoc.CardCode; oPmt.DocDate = DateTime.Now; oPmt.DocTypte = SAPbobsCOM.BoRcptTypes.rCustomer; oPmt.CashSum = total; oPmt.JournalRemarks = GetRemark(form); int r = oPmt.Add(); if (r != 0) { SBO_Application.MessageBox(oCompany.GetLastErrorDescription()); } else { SBO_Application.MessageBox("Outgoing payment record added"); } } catch (Exception ex) { errorLog(ex); } }
//Procedimiento utilizado para actualizar las facturas eliminadas en la guian en el sistema SAP public void proActFacturasSAP(List <int> lstEliminados) { try { string mError = ""; int iError = 0; csAccesoDatos.proIniciarSesionSAP(); SAPbobsCOM.Documents varOINV = csConexionSap.objConexionSap.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices); foreach (int filEliminado in lstEliminados) { varOINV.GetByKey(filEliminado); varOINV.UserFields.Fields.Item("U_NUM_GUIA").Value = ""; iError = varOINV.Update(); if (!iError.Equals(0)) { csConexionSap.objConexionSap.GetLastError(out iError, out mError); } } } catch (Exception) { throw; } finally { csAccesoDatos.proFinalizarSesionSAP(); } }
public bool BatchPreauth_PreAuthCustomer(SAPbobsCOM.Documents doc, SAPCust sapcust) { try { CustomerTransactionRequest req = Batch_createCustomRequest(doc); req.CustReceipt = cfgsendCustomerEmail == "Y" ? true : false; req.CustReceiptName = "vterm_customer"; req.CustReceiptEmail = sapcust.custObj.Email; req.Command = "cc:authonly"; if (req.Command == "cc:authonly" && cfgPreAuthEmail != "Y") { req.CustReceipt = false; } if (req.CustReceiptEmail == "") { req.CustReceipt = false; } string refNum = ""; if (Batch_runCustomRequest(req, sapcust, doc.DocEntry.ToString(), "", ref refNum)) { confirmNum = refNum; BatchPreAuthUpdateTrans(doc.DocEntry, doc.CardCode, refNum); SBO_Application.SetStatusBarMessage("eBizCharge Batch pre-auth sales order : " + doc.DocNum + " approved. Approval Code:" + refNum + ", Amount:" + doc.DocTotal.ToString(), SAPbouiCOM.BoMessageTime.bmt_Medium, false); } else { return(false); } } catch (Exception ex) { errorLog(ex); } return(true); }