コード例 #1
0
        private void SaveChecks()
        {
            try
            {
                string mStrReturnedChecksAcct = mObjQueryManager.GetValue("U_VALUE", "Name", "FZ_ACCTCHEQUE", Constants.STR_CONFIG_TABLE);
                string mStrItemCode           = mObjQueryManager.GetValue("U_VALUE", "Name", "FZ_ITEMCHEQDELV", Constants.STR_CONFIG_TABLE);
                for (int i = 0; i < mDtChecks.Rows.Count; i++)
                {
                    if (mDtChecks.GetCellValue <string>("C_Selected", i) == "Y")
                    {
                        string lStrCheckAcct = mDtChecks.GetCellValue <string>("C_BankAcc", i);
                        // If the check is not deposited, a deposit is generated first
                        if (mDtChecks.GetCellValue <string>("C_Status", i) == "Ventanilla")
                        {
                            lStrCheckAcct = mStrReturnedChecksAcct;
                            SAPbobsCOM.CompanyService  lObjService        = DIApplication.Company.GetCompanyService();
                            SAPbobsCOM.DepositsService lObjDepositService = lObjService.GetBusinessService(SAPbobsCOM.ServiceTypes.DepositsService) as SAPbobsCOM.DepositsService;
                            SAPbobsCOM.Deposit         lObjDeposit        = lObjDepositService.GetDataInterface(SAPbobsCOM.DepositsServiceDataInterfaces.dsDeposit) as SAPbobsCOM.Deposit;

                            lObjDeposit.DepositType        = SAPbobsCOM.BoDepositTypeEnum.dtChecks;
                            lObjDeposit.DepositAccountType = SAPbobsCOM.BoDepositAccountTypeEnum.datBankAccount;
                            //lObjDeposit.TotalLC = mDtChecks.GetCellValue<double>("C_CheckSum", i);
                            lObjDeposit.ReconcileAfterDeposit = SAPbobsCOM.BoYesNoEnum.tYES;
                            lObjDeposit.DepositAccount        = mStrReturnedChecksAcct;

                            SAPbobsCOM.CheckLine lObjCheckLine = lObjDeposit.Checks.Add();
                            lObjCheckLine.CheckKey = mDtChecks.GetCellValue <int>("C_CheckKey", i);

                            SAPbobsCOM.DepositParams lObjDepositParams = lObjDepositService.AddDeposit(lObjDeposit);
                        }

                        SAPbobsCOM.Documents lObjDebitNote = DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices) as SAPbobsCOM.Documents;
                        lObjDebitNote.DocObjectCode   = SAPbobsCOM.BoObjectTypes.oInvoices;
                        lObjDebitNote.DocumentSubType = SAPbobsCOM.BoDocumentSubType.bod_DebitMemo;
                        lObjDebitNote.DocType         = SAPbobsCOM.BoDocumentTypes.dDocument_Items;
                        lObjDebitNote.DocDate         = DateTime.Now;
                        lObjDebitNote.CardCode        = mDtChecks.GetCellValue <string>("C_CardCode", i);
                        lObjDebitNote.NumAtCard       = mDtChecks.GetCellValue <string>("C_CheckKey", i);

                        lObjDebitNote.Lines.ItemCode    = mStrItemCode;
                        lObjDebitNote.Lines.Quantity    = 1;
                        lObjDebitNote.Lines.UnitPrice   = mDtChecks.GetCellValue <double>("C_CheckSum", i);
                        lObjDebitNote.Lines.TaxCode     = "VE";
                        lObjDebitNote.Lines.AccountCode = mStrReturnedChecksAcct;
                        lObjDebitNote.Lines.Add();

                        lObjDebitNote.EDocGenerationType = SAPbobsCOM.EDocGenerationTypeEnum.edocNotRelevant;

                        int    lLongErr = lObjDebitNote.Add();
                        string lStrErrMsg;
                        if (lLongErr != 0)
                        {
                            DIApplication.Company.GetLastError(out lLongErr, out lStrErrMsg);
                            UIApplication.ShowError(lStrErrMsg);
                        }
                        else
                        {
                            UIApplication.ShowMessage("Success");
                        }
                        SearchChecks();
                    }
                }
            }
            catch (Exception pObjException)
            {
                LogUtility.WriteError(string.Format("[BouncedChecks - SaveChecks] Error al guardar cheque: {0}", pObjException.Message));
                UIApplication.ShowMessageBox(string.Format("Error al guardar cheque: {0}", pObjException.Message));
            }
        }