Beispiel #1
0
        public void reportescaja(string P_UNAME, string P_PASSWORD, string P_IDSISTEMA, string P_INSTANCIA, string P_MANDANTE, string P_SAPROUTER, string P_SERVER
                                 , string P_IDIOMA, string P_ID_CAJA, string P_DATUMDESDE, string P_DATUMHASTA, string P_USUARIO
                                 , string P_PAIS, string P_SOCIEDAD, string P_ID_APERTURA, string P_ID_CIERRE, string P_ID_REPORT)
        {
            try
            {
                T_Retorno.Clear();
                resumen_viapago.Clear();
                detalle_rend.Clear();
                cab_arqueo.Clear();
                detalle_arqueo.Clear();
                resumen_caja.Clear();
                rendicion_caja.Clear();
                resumen_mensual.Clear();
                info_soc.Clear();
                RETORNO retorno;
                CajaIndigo.AppPersistencia.Class.RendicionCaja.Estructura.RESUMEN_VP resumenvp;
                DETALLE_REND    detallerend;
                CAB_ARQUEO      cabarqueo;
                DET_ARQUEO      detallearqueo;
                RESUMEN_CAJA    resumencaja;
                RESUMEN_MENSUAL resumenmensual;
                RENDICION_CAJA  rendicioncaja;
                INFO_SOC        infosoc;

                errormessage     = "";
                message          = "";
                IdCaja           = "";
                FechArqueo       = "";
                FechaArqueoHasta = "";
                CajeroResp       = "";
                RUT              = "";
                Sucursal         = "";
                Sociedad         = "";
                SociedadR        = "";
                Empresa          = "";
                NombreCaja       = "";
                Tipo             = "";
                MontoIngresos    = 0;
                MontoEfect       = 0;
                MontoChqDia      = 0;
                MontoChqFech     = 0;
                MontoTransf      = 0;
                MontoValeV       = 0;
                MontoDepot       = 0;
                MontoTarj        = 0;
                MontoFinanc      = 0;
                MontoApp         = 0;
                MontoCredit      = 0;
                MontoEgresos     = 0;
                MontoFondosFijos = 0;
                SaldoTotal       = 0;
                IRfcStructure ls_RETORNO;
                IRfcTable     lt_RESUMEN_VP;
                IRfcTable     lt_DETALLE_REND;
                IRfcTable     lt_CAB_ARQUEO;
                IRfcTable     lt_DET_ARQUEO;
                IRfcTable     lt_RESUMEN_CAJA;
                IRfcTable     lt_RENDICION_CAJA;
                IRfcTable     lt_RESUMEN_MENSUAL;
                IRfcTable     lt_INFOSOC;

                //Conexion a SAP
                connectorSap.idioma    = P_IDIOMA;
                connectorSap.idSistema = P_IDSISTEMA;
                connectorSap.instancia = P_INSTANCIA;
                connectorSap.mandante  = P_MANDANTE;
                connectorSap.paswr     = P_PASSWORD;
                connectorSap.sapRouter = P_SAPROUTER;
                connectorSap.user      = P_UNAME;
                connectorSap.server    = P_SERVER;

                string retval = connectorSap.connectionsSAP();
                //Si el valor de retorno es nulo o vacio, hay conexion a SAP y la RFC trae datos
                if (string.IsNullOrEmpty(retval))
                {
                    RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(connectorSap.connectorConfig);
                    RfcRepository  SapRfcRepository  = SapRfcDestination.Repository;

                    IRfcFunction BapiGetUser = SapRfcRepository.CreateFunction("ZSCP_RFC_REP_CAJA");

                    BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA);

                    BapiGetUser.SetValue("DATE_DOC_FROM", Convert.ToDateTime(P_DATUMDESDE));
                    BapiGetUser.SetValue("DATE_DOC_TO", Convert.ToDateTime(P_DATUMHASTA));

                    BapiGetUser.SetValue("USUARIO", P_USUARIO);
                    BapiGetUser.SetValue("ID_CIERRE", P_ID_CIERRE);
                    BapiGetUser.SetValue("ID_APERTURA", P_ID_APERTURA);
                    BapiGetUser.SetValue("SOCIEDAD", P_SOCIEDAD);
                    BapiGetUser.SetValue("ID_REPORT", P_ID_REPORT);
                    BapiGetUser.SetValue("LAND", P_PAIS);
                    Tipo             = P_ID_REPORT;
                    FechArqueo       = P_DATUMDESDE;
                    FechaArqueoHasta = P_DATUMHASTA;

                    BapiGetUser.Invoke(SapRfcDestination);

                    Caja       = BapiGetUser.GetString("ID_CAJA_OUT");
                    CajeroResp = BapiGetUser.GetString("CAJERO_RESP_OUT");
                    Sucursal   = BapiGetUser.GetString("SUCURSAL");
                    NombreCaja = BapiGetUser.GetString("NOM_CAJA");
                    Sociedad   = BapiGetUser.GetString("SOCIEDAD_OUT");
                    Pais       = BapiGetUser.GetString("LAND_OUT");


                    lt_INFOSOC = BapiGetUser.GetTable("INFO_SOC");
                    try
                    {
                        for (int i = 0; i < lt_INFOSOC.Count(); i++)
                        {
                            lt_INFOSOC.CurrentIndex = i;
                            infosoc       = new INFO_SOC();
                            SociedadR     = lt_INFOSOC.GetString("BUKRS");
                            infosoc.BUKRS = lt_INFOSOC.GetString("BUKRS");
                            Empresa       = lt_INFOSOC.GetString("BUTXT");
                            infosoc.BUTXT = lt_INFOSOC.GetString("BUTXT");
                            RUT           = lt_INFOSOC.GetString("STCD1");
                            infosoc.STCD1 = lt_INFOSOC.GetString("STCD1");


                            info_soc.Add(infosoc);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, ex.StackTrace);
                        MessageBox.Show(ex.Message + ex.StackTrace);
                    }

                    lt_RESUMEN_VP = BapiGetUser.GetTable("RESUMEN_VP");
                    try
                    {
                        for (int i = 0; i < lt_RESUMEN_VP.Count(); i++)
                        {
                            lt_RESUMEN_VP.CurrentIndex = i;
                            resumenvp              = new CajaIndigo.AppPersistencia.Class.RendicionCaja.Estructura.RESUMEN_VP();
                            resumenvp.LAND         = lt_RESUMEN_VP.GetString("LAND");
                            resumenvp.ID_CAJA      = lt_RESUMEN_VP.GetString("ID_CAJA");
                            SociedadR              = lt_RESUMEN_VP.GetString("SOCIEDAD");
                            resumenvp.SOCIEDAD     = lt_RESUMEN_VP.GetString("SOCIEDAD");
                            Empresa                = lt_RESUMEN_VP.GetString("SOCIEDAD_TXT");
                            resumenvp.SOCIEDAD_TXT = lt_RESUMEN_VP.GetString("SOCIEDAD_TXT");
                            resumenvp.VIA_PAGO     = lt_RESUMEN_VP.GetString("VIA_PAGO");
                            if (lt_RESUMEN_VP.GetString("VIA_PAGO") == "N" || lt_RESUMEN_VP.GetString("VIA_PAGO") == "0")
                            {
                                MontoEgresos = MontoEgresos + Convert.ToDouble(lt_RESUMEN_VP.GetString("MONTO"));
                            }
                            resumenvp.TEXT1     = lt_RESUMEN_VP.GetString("TEXT1");
                            resumenvp.MONEDA    = lt_RESUMEN_VP.GetString("MONEDA");
                            resumenvp.MONTO     = lt_RESUMEN_VP.GetString("MONTO");
                            resumenvp.CANT_DOCS = lt_RESUMEN_VP.GetString("CANT_DOCS");
                            resumen_viapago.Add(resumenvp);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, ex.StackTrace);
                        MessageBox.Show(ex.Message + ex.StackTrace);
                    }
                    lt_DETALLE_REND = BapiGetUser.GetTable("DETALLE_REND");
                    try
                    {
                        for (int i = 0; i < lt_DETALLE_REND.Count(); i++)
                        {
                            lt_DETALLE_REND.CurrentIndex = i;
                            detallerend              = new DETALLE_REND();
                            detallerend.N_VENTA      = lt_DETALLE_REND.GetString("N_VENTA");
                            detallerend.FEC_EMI      = lt_DETALLE_REND.GetString("FEC_EMI");
                            detallerend.FEC_VENC     = lt_DETALLE_REND.GetString("FEC_VENC");
                            detallerend.MONTO        = lt_DETALLE_REND.GetString("MONTO");
                            detallerend.NAME1        = lt_DETALLE_REND.GetString("NAME1");
                            detallerend.MONTO_EFEC   = lt_DETALLE_REND.GetString("MONTO_EFEC");
                            MontoEfect               = MontoEfect + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_EFEC"));
                            detallerend.NUM_CHEQUE   = lt_DETALLE_REND.GetString("NUM_CHEQUE");
                            detallerend.MONTO_DIA    = lt_DETALLE_REND.GetString("MONTO_DIA");
                            MontoChqDia              = MontoChqDia + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_DIA"));
                            detallerend.MONTO_FECHA  = lt_DETALLE_REND.GetString("MONTO_FECHA");
                            MontoChqFech             = MontoChqFech + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_FECHA"));
                            detallerend.MONTO_TRANSF = lt_DETALLE_REND.GetString("MONTO_TRANSF");
                            MontoTransf              = MontoTransf + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_TRANSF"));
                            detallerend.MONTO_VALE_V = lt_DETALLE_REND.GetString("MONTO_VALE_V");
                            MontoValeV               = MontoValeV + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_VALE_V"));
                            detallerend.MONTO_DEP    = lt_DETALLE_REND.GetString("MONTO_DEP");
                            MontoDepot               = MontoDepot + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_DEP"));
                            detallerend.MONTO_TARJ   = lt_DETALLE_REND.GetString("MONTO_TARJ");
                            MontoTarj = MontoTarj + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_TARJ"));
                            detallerend.MONTO_FINANC = lt_DETALLE_REND.GetString("MONTO_FINANC");
                            MontoFinanc           = MontoFinanc + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_FINANC"));
                            detallerend.MONTO_APP = lt_DETALLE_REND.GetString("MONTO_APP");
                            MontoApp = MontoApp + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_APP"));
                            detallerend.MONTO_CREDITO = lt_DETALLE_REND.GetString("MONTO_CREDITO");
                            MontoCredit               = MontoCredit + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_CREDITO"));
                            detallerend.PATENTE       = lt_DETALLE_REND.GetString("PATENTE");
                            detallerend.MONTO_C_CURSE = lt_DETALLE_REND.GetString("MONTO_C_CURSE");
                            MontoCCurse               = MontoCCurse + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_C_CURSE"));
                            detallerend.DOC_SAP       = lt_DETALLE_REND.GetString("DOC_SAP");
                            detalle_rend.Add(detallerend);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, ex.StackTrace);
                        MessageBox.Show(ex.Message + ex.StackTrace);
                    }

                    MontoIngresos = MontoIngresos + MontoEfect + MontoChqDia + MontoChqFech + MontoTransf + MontoValeV +
                                    MontoDepot + MontoTarj + MontoFinanc + MontoApp + MontoCredit + MontoCCurse;
                    SaldoTotal = MontoIngresos; // +MontoEgresos;

                    lt_CAB_ARQUEO = BapiGetUser.GetTable("CAB_ARQUEO");
                    try
                    {
                        for (int i = 0; i < lt_CAB_ARQUEO.Count(); i++)
                        {
                            lt_CAB_ARQUEO.CurrentIndex = i;
                            cabarqueo                = new CAB_ARQUEO();
                            cabarqueo.MANDT          = lt_CAB_ARQUEO.GetString("MANDT");
                            cabarqueo.LAND           = lt_CAB_ARQUEO.GetString("LAND");
                            cabarqueo.ID_ARQUEO      = lt_CAB_ARQUEO.GetString("ID_ARQUEO");
                            cabarqueo.ID_REGISTRO    = lt_CAB_ARQUEO.GetString("ID_DENOMINACION");
                            cabarqueo.ID_CAJA        = lt_CAB_ARQUEO.GetString("CANTIDAD");
                            cabarqueo.MONTO_CIERRE   = lt_CAB_ARQUEO.GetString("MONTO_TOTAL");
                            cabarqueo.MONTO_DIF      = lt_CAB_ARQUEO.GetString("ID_DENOMINACION");
                            cabarqueo.COMENTARIO_DIF = lt_CAB_ARQUEO.GetString("CANTIDAD");
                            cabarqueo.NULO           = lt_CAB_ARQUEO.GetString("MONTO_TOTAL");
                            cab_arqueo.Add(cabarqueo);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, ex.StackTrace);
                        MessageBox.Show(ex.Message + ex.StackTrace);
                    }

                    lt_DET_ARQUEO = BapiGetUser.GetTable("DET_ARQUEO");
                    try
                    {
                        for (int i = 0; i < lt_DET_ARQUEO.Count(); i++)
                        {
                            lt_DET_ARQUEO.CurrentIndex = i;
                            detallearqueo                 = new DET_ARQUEO();
                            detallearqueo.MANDT           = lt_DET_ARQUEO.GetString("MANDT");
                            detallearqueo.LAND            = lt_DET_ARQUEO.GetString("LAND");
                            detallearqueo.ID_ARQUEO       = lt_DET_ARQUEO.GetString("ID_ARQUEO");
                            detallearqueo.ID_DENOMINACION = lt_DET_ARQUEO.GetString("ID_DENOMINACION");
                            detallearqueo.CANTIDAD        = lt_DET_ARQUEO.GetString("CANTIDAD");
                            detallearqueo.MONTO_TOTAL     = lt_DET_ARQUEO.GetString("MONTO_TOTAL");
                            detalle_arqueo.Add(detallearqueo);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, ex.StackTrace);
                        MessageBox.Show(ex.Message + ex.StackTrace);
                    }

                    lt_RESUMEN_CAJA = BapiGetUser.GetTable("RESUMEN_CAJA");
                    try
                    {
                        for (int i = 0; i < lt_RESUMEN_CAJA.Count(); i++)
                        {
                            lt_RESUMEN_CAJA.CurrentIndex = i;
                            resumencaja             = new RESUMEN_CAJA();
                            resumencaja.ID_SUCURSAL = lt_RESUMEN_CAJA.GetString("ID_SUCURSAL");
                            resumencaja.SUCURSAL    = lt_RESUMEN_CAJA.GetString("SUCURSAL");
                            resumencaja.ID_CAJA     = lt_RESUMEN_CAJA.GetString("ID_CAJA");
                            resumencaja.NOM_CAJA    = lt_RESUMEN_CAJA.GetString("NOM_CAJA");
                            resumencaja.MONTO_EFEC  = lt_RESUMEN_CAJA.GetString("MONTO_EFEC");
                            MontoEfect               = MontoEfect + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_EFEC"));
                            resumencaja.MONTO_DIA    = lt_RESUMEN_CAJA.GetString("MONTO_DIA");
                            MontoChqDia              = MontoChqDia + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_DIA"));
                            resumencaja.MONTO_FECHA  = lt_RESUMEN_CAJA.GetString("MONTO_FECHA");
                            MontoChqFech             = MontoChqFech + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_FECHA"));
                            resumencaja.MONTO_TRANSF = lt_RESUMEN_CAJA.GetString("MONTO_TRANSF");
                            MontoTransf              = MontoTransf + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_TRANSF"));
                            resumencaja.MONTO_VALE_V = lt_RESUMEN_CAJA.GetString("MONTO_VALE_V");
                            MontoValeV               = MontoValeV + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_VALE_V"));
                            resumencaja.MONTO_DEP    = lt_RESUMEN_CAJA.GetString("MONTO_DEP");
                            MontoDepot               = MontoDepot + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_DEP"));
                            resumencaja.MONTO_TARJ   = lt_RESUMEN_CAJA.GetString("MONTO_TARJ");
                            MontoTarj = MontoTarj + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_TARJ"));
                            resumencaja.MONTO_FINANC = lt_RESUMEN_CAJA.GetString("MONTO_FINANC");
                            MontoFinanc           = MontoFinanc + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_FINANC"));
                            resumencaja.MONTO_APP = lt_RESUMEN_CAJA.GetString("MONTO_APP");
                            MontoApp = MontoApp + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_APP"));
                            resumencaja.MONTO_CREDITO = lt_RESUMEN_CAJA.GetString("MONTO_CREDITO");
                            MontoCredit = MontoCredit + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_CREDITO"));
                            //resumencaja.MONEDA = lt_RESUMEN_CAJA.GetString("MONEDA");
                            resumen_caja.Add(resumencaja);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, ex.StackTrace);
                        MessageBox.Show(ex.Message + ex.StackTrace);
                    }

                    lt_RENDICION_CAJA = BapiGetUser.GetTable("RENDICION_CAJA");
                    try
                    {
                        for (int i = 0; i < lt_RENDICION_CAJA.Count(); i++)
                        {
                            lt_RENDICION_CAJA.CurrentIndex = i;
                            rendicioncaja            = new RENDICION_CAJA();
                            rendicioncaja.N_VENTA    = lt_RENDICION_CAJA.GetString("N_VENTA");
                            rendicioncaja.DOC_TRIB   = lt_RENDICION_CAJA.GetString("DOC_TRIB");
                            rendicioncaja.CAJERO     = lt_RENDICION_CAJA.GetString("CAJERO");
                            rendicioncaja.FEC_EMI    = lt_RENDICION_CAJA.GetString("FEC_EMI");
                            rendicioncaja.FEC_VENC   = lt_RENDICION_CAJA.GetString("FEC_VENC");
                            rendicioncaja.MONTO      = lt_RENDICION_CAJA.GetString("MONTO");
                            rendicioncaja.NAME1      = lt_RENDICION_CAJA.GetString("NAME1");
                            rendicioncaja.NUM_CHEQUE = lt_RENDICION_CAJA.GetString("NUM_CHEQUE");
                            rendicioncaja.MONTO_DIA  = lt_RENDICION_CAJA.GetString("MONTO_DIA");
                            MontoChqDia = MontoChqDia + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_DIA"));
                            rendicioncaja.MONTO_FECHA = lt_RENDICION_CAJA.GetString("MONTO_FECHA");
                            MontoChqFech             = MontoChqFech + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_FECHA"));
                            rendicioncaja.MONTO_EFEC = lt_RENDICION_CAJA.GetString("MONTO_EFEC");
                            MontoEfect = MontoEfect + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_EFEC"));
                            rendicioncaja.MONTO_TRANSF = lt_RENDICION_CAJA.GetString("MONTO_TRANSF");
                            MontoTransf = MontoTransf + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_TRANSF"));
                            rendicioncaja.MONTO_VALE_V = lt_RENDICION_CAJA.GetString("MONTO_VALE_V");
                            MontoValeV = MontoValeV + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_VALE_V"));
                            rendicioncaja.MONTO_DEP = lt_RENDICION_CAJA.GetString("MONTO_DEP");
                            MontoDepot = MontoDepot + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_DEP"));
                            rendicioncaja.MONTO_TARJ = lt_RENDICION_CAJA.GetString("MONTO_TARJ");
                            MontoTarj = MontoTarj + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_TARJ"));
                            rendicioncaja.MONTO_FINANC = lt_RENDICION_CAJA.GetString("MONTO_FINANC");
                            MontoFinanc             = MontoFinanc + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_FINANC"));
                            rendicioncaja.MONTO_APP = lt_RENDICION_CAJA.GetString("MONTO_APP");
                            MontoApp = MontoApp + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_APP"));
                            rendicioncaja.MONTO_CREDITO = lt_RENDICION_CAJA.GetString("MONTO_CREDITO");
                            MontoCredit = MontoCredit + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_CREDITO"));
                            //rendicioncaja.PATENTE = lt_RENDICION_CAJA.GetString("PATENTE");
                            //rendicioncaja.MONTO_C_CURSE = lt_RENDICION_CAJA.GetString("MONTO_C_CURSE");
                            //MontoCCurse = MontoCCurse + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_C_CURSE"));
                            rendicioncaja.DOC_SAP = lt_RENDICION_CAJA.GetString("DOC_SAP");
                            rendicioncaja.MONEDA  = lt_RENDICION_CAJA.GetString("MONEDA");
                            rendicion_caja.Add(rendicioncaja);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, ex.StackTrace);
                        MessageBox.Show(ex.Message + ex.StackTrace);
                    }

                    lt_RESUMEN_MENSUAL = BapiGetUser.GetTable("RESUMEN_MENSUAL");
                    try
                    {
                        for (int i = 0; i < lt_RESUMEN_MENSUAL.Count(); i++)
                        {
                            lt_RESUMEN_MENSUAL.CurrentIndex = i;
                            resumenmensual             = new RESUMEN_MENSUAL();
                            resumenmensual.ID_SUCURSAL = lt_RESUMEN_MENSUAL.GetString("ID_SUCURSAL");
                            resumenmensual.ID_CAJA     = lt_RESUMEN_MENSUAL.GetString("ID_CAJA");
                            resumenmensual.SUCURSAL    = lt_RESUMEN_MENSUAL.GetString("SUCURSAL");
                            resumenmensual.NOM_CAJA    = lt_RESUMEN_MENSUAL.GetString("NOM_CAJA");
                            resumenmensual.CAJERO      = lt_RESUMEN_MENSUAL.GetString("CAJERO");
                            resumenmensual.AREA_VTAS   = lt_RESUMEN_MENSUAL.GetString("AREA_VTAS");
                            resumenmensual.FLUJO_DOCS  = lt_RESUMEN_MENSUAL.GetString("FLUJO_DOCS");
                            resumenmensual.TOTAL_MOV   = lt_RESUMEN_MENSUAL.GetString("TOTAL_MOV");
                            resumenmensual.TOTAL_INGR  = lt_RESUMEN_MENSUAL.GetString("TOTAL_INGR");
                            resumenmensual.MONTO_EFEC  = lt_RESUMEN_MENSUAL.GetString("MONTO_EFEC");
                            MontoEfect = MontoEfect + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_EFEC"));
                            resumenmensual.MONTO_DIA = lt_RESUMEN_MENSUAL.GetString("MONTO_DIA");
                            MontoChqDia = MontoChqDia + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_DIA"));
                            resumenmensual.MONTO_FECHA = lt_RESUMEN_MENSUAL.GetString("MONTO_FECHA");
                            MontoChqFech = MontoChqFech + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_FECHA"));
                            resumenmensual.MONTO_TRANSF = lt_RESUMEN_MENSUAL.GetString("MONTO_TRANSF");
                            MontoTransf = MontoTransf + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_TRANSF"));
                            resumenmensual.MONTO_VALE_V = lt_RESUMEN_MENSUAL.GetString("MONTO_VALE_V");
                            MontoValeV = MontoValeV + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_VALE_V"));
                            resumenmensual.MONTO_DEP = lt_RESUMEN_MENSUAL.GetString("MONTO_DEP");
                            MontoDepot = MontoDepot + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_DEP"));
                            resumenmensual.MONTO_TARJ = lt_RESUMEN_MENSUAL.GetString("MONTO_TARJ");
                            MontoTarj = MontoTarj + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_TARJ"));
                            resumenmensual.MONTO_FINANC = lt_RESUMEN_MENSUAL.GetString("MONTO_FINANC");
                            MontoFinanc = MontoFinanc + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_FINANC"));
                            resumenmensual.MONTO_APP = lt_RESUMEN_MENSUAL.GetString("MONTO_APP");
                            MontoApp = MontoApp + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_APP"));
                            resumenmensual.MONTO_CREDITO = lt_RESUMEN_MENSUAL.GetString("MONTO_CREDITO");
                            MontoCredit = MontoCredit + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_CREDITO"));
                            //resumenmensual.MONTO_C_CURSE = lt_RESUMEN_MENSUAL.GetString("MONTO_C_CURSE");
                            //MontoCCurse = MontoCCurse + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_C_CURSE"));
                            resumenmensual.TOTAL_CAJERO = lt_RESUMEN_MENSUAL.GetString("TOTAL_CAJERO");
                            resumenmensual.MONEDA       = lt_RESUMEN_MENSUAL.GetString("MONEDA");
                            resumen_mensual.Add(resumenmensual);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, ex.StackTrace);
                        MessageBox.Show(ex.Message + ex.StackTrace);
                    }



                    ls_RETORNO = BapiGetUser.GetStructure("RETORNO");
                    try
                    {
                        for (int i = 0; i < ls_RETORNO.Count(); i++)
                        {
                            //ls_RETORNO.CurrentIndex = i;
                            retorno = new RETORNO();
                            if (ls_RETORNO.GetString("TYPE") == "S")
                            {
                                message = message + " - " + ls_RETORNO.GetString("MESSAGE");
                            }
                            if (ls_RETORNO.GetString("TYPE") == "E")
                            {
                                errormessage = errormessage + " - " + ls_RETORNO.GetString("MESSAGE");
                            }
                            retorno.TYPE       = ls_RETORNO.GetString("TYPE");
                            retorno.ID         = ls_RETORNO.GetString("ID");
                            retorno.NUMBER     = ls_RETORNO.GetString("NUMBER");
                            retorno.MESSAGE    = ls_RETORNO.GetString("MESSAGE");
                            retorno.LOG_NO     = ls_RETORNO.GetString("LOG_NO");
                            retorno.LOG_MSG_NO = ls_RETORNO.GetString("LOG_MSG_NO");
                            retorno.MESSAGE_V1 = ls_RETORNO.GetString("MESSAGE_V1");
                            retorno.MESSAGE_V2 = ls_RETORNO.GetString("MESSAGE_V2");
                            retorno.MESSAGE_V3 = ls_RETORNO.GetString("MESSAGE_V3");
                            retorno.MESSAGE_V4 = ls_RETORNO.GetString("MESSAGE_V4");
                            retorno.PARAMETER  = ls_RETORNO.GetString("PARAMETER");
                            retorno.ROW        = ls_RETORNO.GetString("ROW");
                            retorno.FIELD      = ls_RETORNO.GetString("FIELD");
                            retorno.SYSTEM     = ls_RETORNO.GetString("SYSTEM");
                            T_Retorno.Add(retorno);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, ex.StackTrace);
                        MessageBox.Show(ex.Message + ex.StackTrace);
                    }
                }
                else
                {
                    errormessage = retval;
                    MessageBox.Show("No se pudo conectar a la RFC");
                }
                GC.Collect();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message, ex.StackTrace);
                MessageBox.Show(ex.Message + ex.StackTrace);
            }
        }
Beispiel #2
0
        public void reimprcomprobantes(string P_UNAME, string P_PASSWORD, string P_IDSISTEMA, string P_INSTANCIA, string P_MANDANTE, string P_SAPROUTER, string P_SERVER, string P_IDIOMA, List <VIAS_PAGO2> P_VIASPAGO, List <DOCUMENTOS> P_DOCSAPAGAR)
        {
            try
            {
                DatosCabecera.Clear();
                DatosDetalle.Clear();
                DatosDocumentos.Clear();
                DatosViaPago.Clear();
                DatosCaja.Clear();
                DatosCliente.Clear();
                DatosEmpresa.Clear();
                IRfcStructure lt_DATOS_CAJA;
                IRfcStructure lt_DATOS_CLIENTES;
                IRfcTable     lt_DATOS_DOCUMENTOS;
                IRfcTable     lt_DATOS_VP;
                IRfcTable     lt_DATOSEMPRESA;
                //DATOS_CAJA DATOS_CAJA_resp;
                DATOS_CLIENTES   datosclientes;
                DATOS_CAJA       datoscaja;
                DATOS_DOCUMENTOS datosdocumentos;
                DATOS_VP         datosvp;
                INFO_SOC         datosempresa;
                //Conexion a SAP
                connectorSap.idioma    = P_IDIOMA;
                connectorSap.idSistema = P_IDSISTEMA;
                connectorSap.instancia = P_INSTANCIA;
                connectorSap.mandante  = P_MANDANTE;
                connectorSap.paswr     = P_PASSWORD;
                connectorSap.sapRouter = P_SAPROUTER;
                connectorSap.user      = P_UNAME;
                connectorSap.server    = P_SERVER;

                string retval = connectorSap.connectionsSAP();

                //Si el valor de retorno es nulo o vacio, hay conexion a SAP y la RFC trae datos
                if (string.IsNullOrEmpty(retval))
                {
                    RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(connectorSap.connectorConfig);
                    RfcRepository  SapRfcRepository  = SapRfcDestination.Repository;

                    IRfcFunction BapiGetUser = SapRfcRepository.CreateFunction("ZSCP_FM_REC_IMP_COMPROBANTE");
                    try
                    {
                        IRfcTable GralDat = BapiGetUser.GetTable("VIAS_PAGO");
                        for (var i = 0; i < P_VIASPAGO.Count; i++)
                        {
                            GralDat.Append();
                            GralDat.SetValue("MANDT", P_VIASPAGO[i].MANDT);
                            GralDat.SetValue("LAND", P_VIASPAGO[i].LAND);
                            GralDat.SetValue("ID_COMPROBANTE", P_VIASPAGO[i].ID_COMPROBANTE);
                            GralDat.SetValue("ID_DETALLE", P_VIASPAGO[i].ID_DETALLE);
                            GralDat.SetValue("VIA_PAGO", P_VIASPAGO[i].VIA_PAGO);
                            GralDat.SetValue("MONTO", P_VIASPAGO[i].MONTO);
                            GralDat.SetValue("MONEDA", P_VIASPAGO[i].MONEDA);
                            if (P_VIASPAGO[i].BANCO != "")
                            {
                                GralDat.SetValue("BANCO", P_VIASPAGO[i].BANCO.Substring(0, 3));
                            }
                            else
                            {
                                GralDat.SetValue("BANCO", P_VIASPAGO[i].BANCO);
                            }
                            GralDat.SetValue("EMISOR", P_VIASPAGO[i].EMISOR);
                            GralDat.SetValue("NUM_CHEQUE", P_VIASPAGO[i].NUM_CHEQUE);
                            GralDat.SetValue("COD_AUTORIZACION", P_VIASPAGO[i].COD_AUTORIZACION);
                            GralDat.SetValue("NUM_CUOTAS", P_VIASPAGO[i].NUM_CUOTAS);
                            if (P_VIASPAGO[i].FECHA_VENC != "0000-00-00")
                            {
                                GralDat.SetValue("FECHA_VENC", Convert.ToDateTime(P_VIASPAGO[i].FECHA_VENC));
                            }
                            GralDat.SetValue("TEXTO_POSICION", P_VIASPAGO[i].TEXTO_POSICION);
                            GralDat.SetValue("ANEXO", P_VIASPAGO[i].ANEXO);
                            GralDat.SetValue("SUCURSAL", P_VIASPAGO[i].SUCURSAL);
                            GralDat.SetValue("NUM_CUENTA", P_VIASPAGO[i].NUM_CUENTA);
                            GralDat.SetValue("NUM_TARJETA", P_VIASPAGO[i].NUM_TARJETA);
                            GralDat.SetValue("NUM_VALE_VISTA", P_VIASPAGO[i].NUM_VALE_VISTA);
                            GralDat.SetValue("PATENTE", P_VIASPAGO[i].PATENTE);
                            GralDat.SetValue("NUM_VENTA", P_VIASPAGO[i].NUM_VENTA);
                            GralDat.SetValue("PAGARE", P_VIASPAGO[i].PAGARE);
                            if (P_VIASPAGO[i].FECHA_EMISION != "0000-00-00")
                            {
                                GralDat.SetValue("FECHA_EMISION", Convert.ToDateTime(P_VIASPAGO[i].FECHA_EMISION));
                            }
                            GralDat.SetValue("NOMBRE_GIRADOR", P_VIASPAGO[i].NOMBRE_GIRADOR);
                            GralDat.SetValue("CARTA_CURSE", P_VIASPAGO[i].CARTA_CURSE);
                            GralDat.SetValue("NUM_TRANSFER", P_VIASPAGO[i].NUM_TRANSFER);
                            GralDat.SetValue("NUM_DEPOSITO", P_VIASPAGO[i].NUM_DEPOSITO);
                            GralDat.SetValue("CTA_BANCO", P_VIASPAGO[i].CTA_BANCO);
                            GralDat.SetValue("IFINAN", P_VIASPAGO[i].IFINAN);
                            GralDat.SetValue("CORRE", P_VIASPAGO[i].CORRE);
                            GralDat.SetValue("ZUONR", P_VIASPAGO[i].ZUONR);
                            GralDat.SetValue("HKONT", P_VIASPAGO[i].HKONT);
                            GralDat.SetValue("PRCTR", P_VIASPAGO[i].PRCTR);
                        }
                        BapiGetUser.SetValue("VIAS_PAGO", GralDat);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("{0} Exception caught.", ex);
                        System.Windows.MessageBox.Show(ex.Message + ex.StackTrace);
                    }
                    try
                    {
                        IRfcTable GralDat2 = BapiGetUser.GetTable("DOCUMENTOS");
                        for (var i = 0; i < P_DOCSAPAGAR.Count; i++)
                        {
                            GralDat2.Append();
                            GralDat2.SetValue("MANDT", P_DOCSAPAGAR[i].MANDT);
                            GralDat2.SetValue("LAND", P_DOCSAPAGAR[i].LAND);
                            GralDat2.SetValue("ID_COMPROBANTE", P_DOCSAPAGAR[i].ID_COMPROBANTE);
                            GralDat2.SetValue("POSICION", P_DOCSAPAGAR[i].POSICION);
                            GralDat2.SetValue("CLIENTE", P_DOCSAPAGAR[i].CLIENTE);
                            GralDat2.SetValue("TIPO_DOCUMENTO", P_DOCSAPAGAR[i].CLASE_DOC);
                            GralDat2.SetValue("SOCIEDAD", P_DOCSAPAGAR[i].SOCIEDAD);
                            if (i == 0)
                            {
                                NumDocCont = P_DOCSAPAGAR[i].NRO_DOCUMENTO;
                            }
                            GralDat2.SetValue("NRO_DOCUMENTO", P_DOCSAPAGAR[i].NRO_DOCUMENTO);
                            GralDat2.SetValue("NRO_REFERENCIA", P_DOCSAPAGAR[i].NRO_REFERENCIA);
                            GralDat2.SetValue("CAJERO_RESP", P_DOCSAPAGAR[i].CAJERO_RESP);
                            GralDat2.SetValue("CAJERO_GEN", P_DOCSAPAGAR[i].CAJERO_GEN);
                            GralDat2.SetValue("ID_CAJA", P_DOCSAPAGAR[i].ID_CAJA);
                            GralDat2.SetValue("FECHA_COMP", P_DOCSAPAGAR[i].FECHA_COMP);
                            GralDat2.SetValue("HORA", P_DOCSAPAGAR[i].HORA);
                            GralDat2.SetValue("NRO_COMPENSACION", P_DOCSAPAGAR[i].NRO_COMPENSACION);
                            GralDat2.SetValue("TEXTO_CABECERA", P_DOCSAPAGAR[i].TEXTO_CABECERA);
                            GralDat2.SetValue("NULO", P_DOCSAPAGAR[i].NULO);
                            GralDat2.SetValue("USR_ANULADOR", P_DOCSAPAGAR[i].USR_ANULADOR);
                            GralDat2.SetValue("NRO_ANULACION", P_DOCSAPAGAR[i].NRO_ANULACION);
                            GralDat2.SetValue("APROBADOR_ANULA", P_DOCSAPAGAR[i].APROBADOR_ANULA);
                            GralDat2.SetValue("TXT_ANULACION", P_DOCSAPAGAR[i].TXT_ANULACION);
                            GralDat2.SetValue("EXCEPCION", P_DOCSAPAGAR[i].EXCEPCION);
                            if (P_DOCSAPAGAR[i].FECHA_COMP != "0000-00-00")
                            {
                                GralDat2.SetValue("FECHA_DOC", Convert.ToDateTime(P_DOCSAPAGAR[i].FECHA_COMP));
                            }
                            if (P_DOCSAPAGAR[i].FECHA_VENC_DOC != "0000-00-00")
                            {
                                GralDat2.SetValue("FECHA_VENC_DOC", Convert.ToDateTime(P_DOCSAPAGAR[i].FECHA_VENC_DOC));
                            }
                            GralDat2.SetValue("NUM_CUOTA", P_DOCSAPAGAR[i].NUM_CUOTA);
                            GralDat2.SetValue("MONTO_DOC", P_DOCSAPAGAR[i].MONTO_DOC);
                            GralDat2.SetValue("MONTO_DIFERENCIA", P_DOCSAPAGAR[i].MONTO_DIFERENCIA);
                            GralDat2.SetValue("TEXTO_EXCEPCION", P_DOCSAPAGAR[i].TEXTO_EXCEPCION);
                            GralDat2.SetValue("PARCIAL", P_DOCSAPAGAR[i].PARCIAL);
                            GralDat2.SetValue("TIME", P_DOCSAPAGAR[i].TIME);
                            GralDat2.SetValue("APROBADOR_EX", P_DOCSAPAGAR[i].APROBADOR_EX);
                            GralDat2.SetValue("MONEDA", P_DOCSAPAGAR[i].MONEDA);
                            GralDat2.SetValue("CLASE_CUENTA", P_DOCSAPAGAR[i].CLASE_CUENTA);
                            GralDat2.SetValue("CLASE_DOC", P_DOCSAPAGAR[i].CLASE_DOC);
                            GralDat2.SetValue("NUM_CANCELACION", P_DOCSAPAGAR[i].NUM_CANCELACION);
                            GralDat2.SetValue("CME", P_DOCSAPAGAR[i].CME);
                            GralDat2.SetValue("NOTA_VENTA", P_DOCSAPAGAR[i].NOTA_VENTA);
                            GralDat2.SetValue("CEBE", P_DOCSAPAGAR[i].CEBE);
                            GralDat2.SetValue("ACC", P_DOCSAPAGAR[i].ACC);
                        }
                        BapiGetUser.SetValue("DOCUMENTOS", GralDat2);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("{0} Exception caught.", ex);
                        System.Windows.MessageBox.Show(ex.Message + ex.StackTrace);
                    }

                    BapiGetUser.Invoke(SapRfcDestination);
                    //LLenamos los datos que retorna la estructura de la RFC
                    try
                    {
                        lt_DATOS_CAJA = BapiGetUser.GetStructure("DATOS_CAJA");
                        for (int i = 0; i < lt_DATOS_CAJA.Count(); i++)
                        {
                            //lt_DATOS_CAJA.CurrentIndex = i;
                            datoscaja                = new DATOS_CAJA();
                            datoscaja.NAME_CAJERO    = lt_DATOS_CAJA.GetString("NAME_CAJERO");
                            datoscaja.USUARIO        = lt_DATOS_CAJA.GetString("USUARIO");
                            datoscaja.ID_COMPROBANTE = lt_DATOS_CAJA.GetString("ID_COMPROBANTE");
                            datoscaja.NRO_DOCUMENTO  = lt_DATOS_CAJA.GetString("NRO_DOCUMENTO");
                            datoscaja.NOM_SOCIEDAD   = lt_DATOS_CAJA.GetString("NOM_SOCIEDAD");
                            datoscaja.RUT_SOCIEDAD   = lt_DATOS_CAJA.GetString("RUT_SOCIEDAD");
                            datoscaja.NOM_CAJA       = lt_DATOS_CAJA.GetString("NOM_CAJA");
                            DatosCaja.Add(datoscaja);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("{0} Exception caught.", ex);
                        System.Windows.MessageBox.Show(ex.Message + ex.StackTrace);
                    }
                    try
                    {
                        lt_DATOS_CLIENTES = BapiGetUser.GetStructure("DATOS_CLIENTES");
                        for (int i = 0; i < lt_DATOS_CLIENTES.Count(); i++)
                        {
                            //lt_DATOS_CLIENTES.CurrentIndex = i;
                            datosclientes        = new DATOS_CLIENTES();
                            datosclientes.RUT    = lt_DATOS_CLIENTES.GetString("RUT");
                            datosclientes.NOMBRE = lt_DATOS_CLIENTES.GetString("NOMBRE");
                            DatosCliente.Add(datosclientes);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("{0} Exception caught.", ex);
                        System.Windows.MessageBox.Show(ex.Message + ex.StackTrace);
                    }

                    try
                    {
                        lt_DATOS_DOCUMENTOS = BapiGetUser.GetTable("DATOS_DOCUMENTOS");
                        for (int i = 0; i < lt_DATOS_DOCUMENTOS.Count(); i++)
                        {
                            lt_DATOS_DOCUMENTOS.CurrentIndex = i;
                            datosdocumentos                = new DATOS_DOCUMENTOS();
                            datosdocumentos.TXT_DOCU       = lt_DATOS_DOCUMENTOS.GetString("TXT_DOCU");
                            datosdocumentos.NRO_DOCUMENTO  = lt_DATOS_DOCUMENTOS.GetString("NRO_DOCUMENTO");
                            datosdocumentos.FECHA_DOC      = lt_DATOS_DOCUMENTOS.GetString("FECHA_DOC");
                            datosdocumentos.FECHA_VENC_DOC = lt_DATOS_DOCUMENTOS.GetString("FECHA_VENC_DOC");
                            datosdocumentos.MONEDA         = lt_DATOS_DOCUMENTOS.GetString("MONEDA");
                            string str = datosdocumentos.MONEDA;
                            switch (str)
                            {
                            case "USD":
                                //string Valor3 = lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_MO").Trim();
                                //Valor3 = Valor3.Replace(".", "");
                                //Valor3 = Valor3.Replace(",", "");
                                //decimal ValorAux3 = Convert.ToDecimal(Valor3.Substring(0, Valor3.Length - 2));
                                //string Cualquiernombre3 = string.Format("{0:0,0}", ValorAux3);
                                datosdocumentos.MONTO_DOC_MO = Formato.FormatoMonedaExtranjera(lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_MO").Trim());

                                //string Valor4 = lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_ML").Trim();
                                //Valor4 = Valor4.Replace(".", "");
                                //Valor4 = Valor4.Replace(",", "");
                                //decimal ValorAux4 = Convert.ToDecimal(Valor4.Substring(0, Valor4.Length - 2));
                                //string Cualquiernombre4 = string.Format("{0:0,0}", ValorAux4);
                                datosdocumentos.MONTO_DOC_ML = Formato.FormatoMonedaExtranjera(lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_ML").Trim());
                                break;

                            case "EUR":
                                //string Valor6 = lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_MO").Trim();
                                //Valor6 = Valor6.Replace(".", "");
                                //Valor6 = Valor6.Replace(",", "");
                                //decimal ValorAux6 = Convert.ToDecimal(Valor6.Substring(0, Valor6.Length - 2));
                                //string Cualquiernombre6 = string.Format("{0:0,0}", ValorAux6);
                                datosdocumentos.MONTO_DOC_MO = Formato.FormatoMonedaExtranjera(lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_MO").Trim());

                                //string Valor7 = lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_ML").Trim();
                                //Valor7 = Valor7.Replace(".", "");
                                //Valor7 = Valor7.Replace(",", "");
                                //decimal ValorAux7 = Convert.ToDecimal(Valor7.Substring(0, Valor7.Length - 2));
                                //string Cualquiernombre7 = string.Format("{0:0,0}", ValorAux7);
                                datosdocumentos.MONTO_DOC_ML = Formato.FormatoMonedaExtranjera(lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_ML").Trim());
                                break;

                            case "CLP":
                                datosdocumentos.MONTO_DOC_MO = Formato.FormatoMoneda(lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_MO"));
                                datosdocumentos.MONTO_DOC_ML = Formato.FormatoMoneda(lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_ML"));
                                break;
                            }
                            datosdocumentos.PEDIDO = lt_DATOS_DOCUMENTOS.GetString("PEDIDO");
                            DatosDocumentos.Add(datosdocumentos);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("{0} Exception caught.", ex);
                        System.Windows.MessageBox.Show(ex.Message + ex.StackTrace);
                    }
                    try
                    {
                        lt_DATOSEMPRESA = BapiGetUser.GetTable("INFO_SOC");
                        for (int i = 0; i < lt_DATOSEMPRESA.Count(); i++)
                        {
                            lt_DATOSEMPRESA.CurrentIndex = i;
                            datosempresa       = new INFO_SOC();
                            datosempresa.BUKRS = lt_DATOSEMPRESA.GetString("BUKRS");
                            datosempresa.BUTXT = lt_DATOSEMPRESA.GetString("BUTXT");
                            datosempresa.STCD1 = lt_DATOSEMPRESA.GetString("STCD1");
                            DatosEmpresa.Add(datosempresa);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("{0} Exception caught.", ex);
                        System.Windows.MessageBox.Show(ex.Message + ex.StackTrace);
                    }
                    try
                    {
                        lt_DATOS_VP = BapiGetUser.GetTable("DATOS_VP");
                        for (int i = 0; i < lt_DATOS_VP.Count(); i++)
                        {
                            lt_DATOS_VP.CurrentIndex = i;
                            datosvp               = new DATOS_VP();
                            datosvp.NUM_POS       = lt_DATOS_VP.GetString("NUM_POS");
                            datosvp.DESCRIP_VP    = lt_DATOS_VP.GetString("DESCRIP_VP");
                            datosvp.NUM_VP        = lt_DATOS_VP.GetString("NUM_VP");
                            datosvp.FECHA_EMISION = lt_DATOS_VP.GetString("FECHA_EMISION");
                            datosvp.FECHA_VENC    = lt_DATOS_VP.GetString("FECHA_VENC");
                            datosvp.MONEDA        = lt_DATOS_VP.GetString("MONEDA");
                            string str = datosvp.MONEDA;
                            switch (str)
                            {
                            case "USD":
                                //string Valor = lt_DATOS_VP.GetString("MONTO_MO").Trim();
                                //Valor = Valor.Replace(".", "");
                                //Valor = Valor.Replace(",", "");
                                //decimal ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                //string Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                datosvp.MONTO_MO = Formato.FormatoMonedaExtranjera(lt_DATOS_VP.GetString("MONTO_MO").Trim());

                                //string Valor2 = lt_DATOS_VP.GetString("MONTO_ML").Trim();
                                //Valor2 = Valor2.Replace(".", "");
                                //Valor2 = Valor2.Replace(",", "");
                                //decimal ValorAux2 = Convert.ToDecimal(Valor2.Substring(0, Valor2.Length - 2));
                                //string Cualquiernombre2 = string.Format("{0:0,0}", ValorAux2);
                                datosvp.MONTO_ML = Formato.FormatoMonedaExtranjera(lt_DATOS_VP.GetString("MONTO_ML").Trim());
                                break;

                            case "EUR":
                                //string Valor1 = lt_DATOS_VP.GetString("MONTO_MO").Trim();
                                //Valor1 = Valor1.Replace(".", "");
                                //Valor1 = Valor1.Replace(",", "");
                                //decimal ValorAux1 = Convert.ToDecimal(Valor1.Substring(0, Valor1.Length - 2));
                                //string Cualquiernombre1 = string.Format("{0:0,0}", ValorAux1);
                                datosvp.MONTO_MO = Formato.FormatoMonedaExtranjera(lt_DATOS_VP.GetString("MONTO_MO").Trim());

                                //string Valor5 = lt_DATOS_VP.GetString("MONTO_ML").Trim();
                                //Valor5 = Valor5.Replace(".", "");
                                //Valor5 = Valor5.Replace(",", "");
                                //decimal ValorAux5 = Convert.ToDecimal(Valor5.Substring(0, Valor5.Length - 2));
                                //string Cualquiernombre5 = string.Format("{0:0,0}", ValorAux5);
                                datosvp.MONTO_ML = Formato.FormatoMonedaExtranjera(lt_DATOS_VP.GetString("MONTO_ML").Trim());
                                break;

                            case "CLP":
                                datosvp.MONTO_MO = Formato.FormatoMoneda(lt_DATOS_VP.GetString("MONTO_MO"));
                                datosvp.MONTO_ML = Formato.FormatoMoneda(lt_DATOS_VP.GetString("MONTO_ML"));
                                break;
                            }
                            DatosViaPago.Add(datosvp);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("{0} Exception caught.", ex);
                        System.Windows.MessageBox.Show(ex.Message + ex.StackTrace);
                    }
                }
                GC.Collect();
            }

            catch (InvalidCastException ex)
            {
                Console.WriteLine("{0} Exception caught.", ex);
                System.Windows.MessageBox.Show(ex.Message + ex.StackTrace);
            }
        }