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