Beispiel #1
0
        private SAPbobsCOM.BankPages PopulateBankPages(ExtractBanking pObjExtractBanking)
        {
            mObjBankPage = (SAPbobsCOM.BankPages)mObjCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBankPages);

            mObjBankPage.AccountCode = pObjExtractBanking.AccountCode;
            mObjBankPage.DueDate     = pObjExtractBanking.Date;
            mObjBankPage.Reference   = pObjExtractBanking.Reference;
            mObjBankPage.Memo        = pObjExtractBanking.Detail;

            if (pObjExtractBanking.DebitAmount == 0 && pObjExtractBanking.CreditAmount == 0)
            {
            }

            if (pObjExtractBanking.DebitAmount > 0)
            {
                mObjBankPage.DebitAmount = pObjExtractBanking.DebitAmount;
            }

            if (pObjExtractBanking.CreditAmount > 0)
            {
                mObjBankPage.CreditAmount = pObjExtractBanking.CreditAmount;
            }

            return(mObjBankPage);
        }
Beispiel #2
0
        private void ReadFileXlsx_Bancomer(string pStrPath)
        {
            mObjForm.Freeze(true);
            string[] ArrStrWords;
            mIntCountCarga = 0;
            mIntTotalCarga = 0;

            //DataTable lDtbFileBancomer = new DataTable();
            try
            {
                ArrStrWords = System.IO.File.ReadAllLines(pStrPath);
                //lDtbFileBancomer = GetDtbFileBancomer(pStrPath);
                mObjProgressBar = new ProgressBarManager(Application.SBO_Application, "Cargando extractos bancarios", ArrStrWords.Length);
                foreach (ExtractBanking lObjExtractBanking in GetBancomerExtractBanking(ArrStrWords))
                {
                    mObjBankPage = PopulateBankPages(lObjExtractBanking);
                    int result = mObjBankPage.Add();
                    mIntTotalCarga++;
                    if (result == 0)
                    {
                        mIntCountCarga++;
                    }
                    if (result != 0)
                    {
                        //Application.SBO_Application.MessageBox("No se cargo el movimiento número: " + mIntTotalCarga);
                        Application.SBO_Application.StatusBar.SetText("No se cargo el movimiento número: " + mIntTotalCarga, SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Error);
                    }
                    mObjProgressBar.NextPosition();
                }
                ((SAPbouiCOM.EditText)mObjForm.Items.Item("18").Specific).Value = "";
                ((SAPbouiCOM.EditText)mObjForm.Items.Item("18").Specific).Value = lStrAccountCode;
            }
            catch (Exception ex)
            {
                Application.SBO_Application.StatusBar.SetText(ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error);
                BankStatementsLogService.WriteError(ex.Message);
            }
            finally
            {
                mObjForm.Freeze(false);
                MemoryUtility.ReleaseComObject(mObjBankPage);
            }
            Application.SBO_Application.MessageBox("Proceso Terminado. Se cargaron " + mIntCountCarga + " de " + mIntTotalCarga + " movimientos bancarios.");
            BankStatementsLogService.WriteSuccess("Proceso Terminado. Se cargaron " + mIntCountCarga + " de " + mIntTotalCarga + " movimientos bancarios.");
        }
Beispiel #3
0
        public string funEnviarExtBancarioSAP()
        {
            try
            {
                string mError = "";
                int    iError = 0;

                csAccesoDatos.proIniciarSesionSAP();
                SAPbobsCOM.BankPages varOBNK = csConexionSap.objConexionSap.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBankPages);
                //Recuperamos informacion de los detalles del movimiento
                List <clsGbaExtBancarioDet> objDetalle = new List <clsGbaExtBancarioDet>();
                clsGbaExtBancarioDet.proListar(CabCodigo, out objDetalle);
                //Recorremos las lineas de detalle del extracto bancario
                foreach (clsGbaExtBancarioDet objFilaDetalle in objDetalle)
                {
                    if (funVerificarExtBancarioSAP(DocNombre, CabNumero, objFilaDetalle.DetSecuencia).Equals(0))
                    {
                        varOBNK.AccountCode  = CueCodigo;
                        varOBNK.DueDate      = objFilaDetalle.DetFecha;
                        varOBNK.Reference    = objFilaDetalle.DetReferencia;
                        varOBNK.Memo         = objFilaDetalle.DetComentario;
                        varOBNK.ExternalCode = DocNombre + " - " + CabNumero.ToString() + " - " + objFilaDetalle.DetSecuencia.ToString();
                        varOBNK.DebitAmount  = double.Parse(objFilaDetalle.DetDebe.ToString());
                        varOBNK.CreditAmount = double.Parse(objFilaDetalle.DetHaber.ToString());

                        iError = varOBNK.Add();
                        if (!iError.Equals(0))
                        {
                            csConexionSap.objConexionSap.GetLastError(out iError, out mError);
                            return(mError);
                        }
                    }
                }
                csAccesoDatos.funIniciarSesion("conDBUmbrella");
                csAccesoDatos.GDatos.funEjecutarSql(string.Format("Update GBA_CABEXTBANCARIO Set EstCodigo = 'Sap'  Where CabCodigo = {0}", CabCodigo));
                csAccesoDatos.proFinalizarSesion();
                return(mError);
            }
            catch (Exception) { throw; }
            finally { csAccesoDatos.proFinalizarSesionSAP(); }
        }
Beispiel #4
0
 /// <summary>
 /// Reads the contents of the selected file and parses the bank pages.
 /// </summary>
 /// <param name="pStrPath">The absolute path to the file.</param>
 private void ReadFile(string pStrPath)
 {
     mIntCountCarga = 0;
     mIntTotalCarga = 0;
     try
     {
         IList <BankStatement> mLstObjLines = mObjExtractFormatter.ParseFile(pStrPath, mEdtAccountField.Value);
         mObjProgressBar = new ProgressBarManager(Application.SBO_Application, "Cargando extractos bancarios", mLstObjLines.Count);
         foreach (BankStatement lObjlObjExtractBanking in mLstObjLines)
         {
             mObjBankPage = PopulateBankPages(lObjlObjExtractBanking);
             int result = mObjBankPage.Add();
             mIntTotalCarga++;
             if (result == 0)
             {
                 mIntCountCarga++;
             }
             if (result != 0)
             {
                 Application.SBO_Application.MessageBox("No se cargo el movimiento número: " + mIntTotalCarga);
                 Application.SBO_Application.StatusBar.SetText("No se cargo el movimiento número: " + mIntTotalCarga, SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Error);
             }
             mObjProgressBar.NextPosition();
         }
         ((SAPbouiCOM.EditText)mObjForm.Items.Item(STR_SEARCH_UID).Specific).Value = "";
         ((SAPbouiCOM.EditText)mObjForm.Items.Item(STR_SEARCH_UID).Specific).Value = lStrAccountCode;
     }
     catch (Exception ex)
     {
         Application.SBO_Application.StatusBar.SetText(ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error);
         LogUtility.WriteError(string.Format("[BankExtractsImporting - ReadFile] Error al leer el archivo: {0}", ex.Message));
     }
     finally
     {
         mObjForm.Freeze(false);
         MemoryUtility.ReleaseComObject(mObjBankPage);
     }
     Application.SBO_Application.MessageBox("Proceso Terminado. Se cargaron " + mIntCountCarga + " de " + mIntTotalCarga + " movimientos bancarios.");
 }