public bool ReverseJournal(string pStrFolio, string pStrTransCode) { SAPbobsCOM.JournalEntries lObjJournalEntry = null; int lIntResult = 0; try { lObjJournalEntry = (SAPbobsCOM.JournalEntries)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oJournalEntries); lObjJournalEntry.GetByKey(GetTransId(pStrFolio, pStrTransCode)); //Cancel JournalEntry lIntResult = lObjJournalEntry.Cancel(); if (lIntResult != 0) { throw new SapBoException(string.Format("Error code: {0} \nError message: {1}", lIntResult, DIApplication.Company.GetLastErrorDescription())); } } catch (Exception lObjException) { UIApplication.ShowError(string.Format("CreateAction: {0}", lObjException.Message)); LogService.WriteError("JournalService (CreateAction): " + lObjException.Message); LogService.WriteError(lObjException); return(false); } finally { MemoryUtility.ReleaseComObject(lObjJournalEntry); } return(lIntResult == 0 ? true : false); }
//Cancela asiento public bool CancelJournalEntry(string pStrTransID, string pStrCodeVoucher) { bool lBolSuccess = false; try { DIApplication.Company.StartTransaction(); SAPbobsCOM.JournalEntries lObjJournalEntryes = (SAPbobsCOM.JournalEntries)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oJournalEntries); lObjJournalEntryes.GetByKey(Convert.ToInt32(pStrTransID)); lObjJournalEntryes.Reference2 = pStrTransID; if (lObjJournalEntryes.Update() != 0) { UIApplication.ShowMessageBox(string.Format("Mensaje: {0} ", DIApplication.Company.GetLastErrorDescription())); LogService.WriteError("PolicyDI (CancelJournalEntry) Código:" + pStrTransID + " Mensaje:" + DIApplication.Company.GetLastErrorDescription()); lBolSuccess = false; } else if (lObjJournalEntryes.Cancel() != 0) { UIApplication.ShowMessageBox(string.Format("Mensaje: {0} ", DIApplication.Company.GetLastErrorDescription())); LogService.WriteError("PolicyDI (CancelJournalEntry) Código:" + pStrTransID + " Mensaje:" + DIApplication.Company.GetLastErrorDescription()); lBolSuccess = false; } else { //if (UpdateJournalEntryCancel(pStrTransID))//solicitado que no se cancelara if (UpdateCancel(pStrTransID, pStrCodeVoucher)) { LogService.WriteSuccess("PolicyDI (CancelJournalEntry) Cancelacion realizada correctamente, Código:" + pStrTransID); lBolSuccess = true; } } } catch (Exception ex) { LogService.WriteError("PolicyDI (CancelJournalEntry) Código:" + pStrTransID + " Mensaje:" + ex.Message); LogService.WriteError(ex); return(false); } finally { try { if (lBolSuccess) { DIApplication.Company.EndTransaction(SAPbobsCOM.BoWfTransOpt.wf_Commit); UIApplication.ShowMessageBox(string.Format("Documento realizado correctamente")); } else { //mStrCodeVoucher = string.Empty; if (DIApplication.Company.InTransaction) { DIApplication.Company.EndTransaction(SAPbobsCOM.BoWfTransOpt.wf_RollBack); } } } catch (Exception ex) { LogService.WriteError("(btnSave_ClickBefore): " + ex.Message); LogService.WriteError(ex); } } return(lBolSuccess); }