public ExtractFormatDTO GetAccountExtractFormat(string pAcctCode) { SAPbobsCOM.Recordset lObjResults = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); try { string lStrQuery = this.GetSQL("GetAccountExtractFormat").InjectSingleValue("AcctCode", pAcctCode); lObjResults.DoQuery(lStrQuery); if (lObjResults.RecordCount > 0) { ExtractFormatDTO lObjExtractFormat = new ExtractFormatDTO(); lObjExtractFormat.Code = lObjResults.GetColumnValue <string>("U_FZ_ExtFormat"); lObjExtractFormat.Name = lObjResults.GetColumnValue <string>("Name"); if (lObjExtractFormat.Code == null || lObjExtractFormat.Code == "") { return(null); } return(lObjExtractFormat); } return(null); } catch (Exception e) { LogUtility.WriteError(string.Format("[ExtractFormatDAO - GetAccountExtractFormat] Error al obtener el formato de la cuenta {0}: {1}", pAcctCode, e.Message)); throw new Exception(string.Format("Error al obtener el formato de la cuenta {0}: {1}", pAcctCode, e.Message)); } finally { MemoryUtility.ReleaseComObject(lObjResults); } }
private void SBO_Application_ItemEvent(string FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent) { BubbleEvent = true; try { if (pVal.FormUID != mObjForm.UniqueID) { return; } if (!pVal.BeforeAction) { switch (pVal.EventType) { case SAPbouiCOM.BoEventTypes.et_VALIDATE: if (pVal.ItemUID == mEdtAccountField.Item.UniqueID) { string lStrGLAcct = (mObjForm.Items.Item(STR_SEARCH_UID).Specific as SAPbouiCOM.EditText).Value; mObjExtractFormat = mObjExtractFormatDAO.GetAccountExtractFormat(lStrGLAcct); mBtnImport.Item.Visible = mObjExtractFormat != null; mTxtSelectedFormat.Item.Visible = mObjExtractFormat != null; if (mObjExtractFormat != null) { mTxtSelectedFormat.Caption = string.Format("Formato: {0}", mObjExtractFormat.Name); } } break; case SAPbouiCOM.BoEventTypes.et_CLICK: if (pVal.ItemUID == mBtnImport.Item.UniqueID) { if (mEdtAccountField.Value != "") { // Based on the sellected account's bank, select the proper formatter. switch (mObjExtractFormat.Code) { case "BANAMEX": mObjExtractFormatter = new BanamexFormatter(); break; case "BANCOMER": mObjExtractFormatter = new BancomerFormatter(); break; case "BANORTE": mObjExtractFormatter = new BanorteFormatter(); break; case "SANTANDER": mObjExtractFormatter = new SantanderFormatter(); break; case "SCOTIABANK": mObjExtractFormatter = new ScotiabankFormatter(); break; default: Application.SBO_Application.MessageBox("Formato no soportado."); return; } showOpenFileDialog(); } else { Application.SBO_Application.MessageBox("No se selecciono una Cuenta Contable."); } } break; } } else { switch (pVal.EventType) { case SAPbouiCOM.BoEventTypes.et_FORM_CLOSE: UnloadEvents(); break; } } } catch (Exception ex) { Application.SBO_Application.MessageBox(ex.Message); } }