Ejemplo n.º 1
0
 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);
     }
 }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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); }
        }
Ejemplo n.º 5
0
    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);
    }
Ejemplo n.º 6
0
    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)
        {
        }
    }
Ejemplo n.º 7
0
    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;
    }
Ejemplo n.º 8
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);
    }
Ejemplo n.º 9
0
    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);
        }
    }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
    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;
    }
Ejemplo n.º 12
0
        /// <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);
        }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
    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);
        }
    }
Ejemplo n.º 15
0
    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);
        }
    }
Ejemplo n.º 16
0
        //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);
                }
            }
        }
Ejemplo n.º 17
0
        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);
        }
Ejemplo n.º 18
0
        /// <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);
        }
Ejemplo n.º 19
0
        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);
        }
Ejemplo n.º 20
0
        /// <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);
        }
Ejemplo n.º 21
0
 /// <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));
     }
 }
Ejemplo n.º 22
0
        //[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" }));
        }
Ejemplo n.º 23
0
        //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);
        }
Ejemplo n.º 24
0
        //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;
            }
        }
Ejemplo n.º 26
0
        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 }));
            }
        }
Ejemplo n.º 27
0
        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);
     }
 }
Ejemplo n.º 29
0
        //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(); }
        }
Ejemplo n.º 30
0
    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);
    }