Exemplo n.º 1
0
        public void docsanulacion(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_DOCUMENTO, string P_RUT,
                                  string P_SOCIEDAD, string P_LAND, string P_IDCAJA, string P_TP_DOC)
        {
            CabeceraDocs.Clear();
            DetalleDocs.Clear();
            Retorno.Clear();
            IRfcTable      lt_h_documentos;
            IRfcTable      lt_d_documentos;
            IRfcTable      lt_retorno;
            FormatoMonedas FM = new FormatoMonedas();
            //  PART_ABIERTAS  PART_ABIERTAS_resp;
            CAB_COMP DOCS_CABECERA_resp;
            DET_COMP DOCS_DETALLES_resp;
            RETORNO  retorno_resp;

            //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_BUSCA_COMP_ANULAR");

                BapiGetUser.SetValue("ID_COMPROBANTE", P_DOCUMENTO);
                BapiGetUser.SetValue("RUT", P_RUT);
                BapiGetUser.SetValue("LAND", P_LAND);
                BapiGetUser.SetValue("SOCIEDAD", P_SOCIEDAD);
                BapiGetUser.SetValue("ID_CAJA", P_IDCAJA);
                BapiGetUser.SetValue("TP_DOC", P_TP_DOC);
                BapiGetUser.Invoke(SapRfcDestination);

                lt_h_documentos = BapiGetUser.GetTable("CAB_COMP");
                lt_d_documentos = BapiGetUser.GetTable("DET_COMP");
                lt_retorno      = BapiGetUser.GetTable("RETORNO");

                if (lt_h_documentos.Count > 0)
                {
                    //LLenamos la tabla de salida lt_DatGen
                    for (int i = 0; i < lt_h_documentos.RowCount; i++)
                    {
                        try
                        {
                            lt_h_documentos.CurrentIndex      = i;
                            DOCS_CABECERA_resp                = new CAB_COMP();
                            DOCS_CABECERA_resp.LAND           = P_LAND;
                            DOCS_CABECERA_resp.ID_CAJA        = P_IDCAJA;
                            DOCS_CABECERA_resp.ID_COMPROBANTE = lt_h_documentos[i].GetString("ID_COMPROBANTE");
                            DOCS_CABECERA_resp.TIPO_DOCUMENTO = lt_h_documentos[i].GetString("TIPO_DOCUMENTO");
                            DOCS_CABECERA_resp.DESCRIPCION    = lt_h_documentos[i].GetString("DESCRIPCION");
                            DOCS_CABECERA_resp.NRO_REFERENCIA = lt_h_documentos[i].GetString("NRO_REFERENCIA");
                            DOCS_CABECERA_resp.FECHA_COMP     = lt_h_documentos[i].GetString("FECHA_COMP");
                            DOCS_CABECERA_resp.FECHA_VENC_DOC = lt_h_documentos[i].GetString("FECHA_VENC_DOC");
                            if (lt_h_documentos[i].GetString("MONEDA") == "CLP")
                            {
                                DOCS_CABECERA_resp.MONTO_DOC = FM.FormatoMonedaChilena(lt_h_documentos[i].GetString("MONTO_DOC").Trim(), "2");
                            }
                            else
                            {
                                //string moneda = Convert.ToString(lt_h_documentos[i].GetString("MONTO_DOC"));
                                //decimal ValorAux = Convert.ToDecimal(moneda);
                                DOCS_CABECERA_resp.MONTO_DOC = FM.FormatoMonedaExtranjera(lt_h_documentos[i].GetString("MONTO_DOC").Trim());
                            }
                            //DOCS_CABECERA_resp.MONTO_DOC = lt_h_documentos[i].GetString("MONTO_DOC");
                            DOCS_CABECERA_resp.TEXTO_EXCEPCION = lt_h_documentos[i].GetString("TEXTO_EXCEPCION");
                            DOCS_CABECERA_resp.CLIENTE         = lt_h_documentos[i].GetString("CLIENTE");
                            DOCS_CABECERA_resp.MONEDA          = lt_h_documentos[i].GetString("MONEDA");
                            DOCS_CABECERA_resp.CLASE_DOC       = lt_h_documentos[i].GetString("CLASE_DOC");
                            DOCS_CABECERA_resp.TXT_CLASE_DOC   = lt_h_documentos[i].GetString("TXT_CLASE_DOC");
                            DOCS_CABECERA_resp.NUM_CANCELACION = lt_h_documentos[i].GetString("NUM_CANCELACION");
                            DOCS_CABECERA_resp.AUT_JEF         = lt_h_documentos[i].GetString("AUT_JEF");
                            DOCS_CABECERA_resp.VIA_PAGO        = lt_h_documentos[i].GetString("VIA_PAGO");
                            CabeceraDocs.Add(DOCS_CABECERA_resp);
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message + ex.StackTrace);
                            System.Windows.MessageBox.Show(ex.Message + ex.StackTrace);
                        }
                    }
                }
                else
                {
                    System.Windows.MessageBox.Show("No existe(n) registro(s)");
                }

                if (lt_d_documentos.Count > 0)
                {
                    //LLenamos la tabla de salida lt_DatGen
                    for (int i = 0; i < lt_d_documentos.RowCount; i++)
                    {
                        try
                        {
                            lt_d_documentos.CurrentIndex = i;
                            DOCS_DETALLES_resp           = new DET_COMP();

                            DOCS_DETALLES_resp.ID_COMPROBANTE = lt_d_documentos[i].GetString("ID_COMPROBANTE");
                            DOCS_DETALLES_resp.ID_DETALLE     = lt_d_documentos[i].GetString("ID_DETALLE");
                            DOCS_DETALLES_resp.VIA_PAGO       = lt_d_documentos[i].GetString("VIA_PAGO");
                            DOCS_DETALLES_resp.DESCRIP_VP     = lt_d_documentos[i].GetString("DESCRIP_VP");
                            DOCS_DETALLES_resp.NUM_CHEQUE     = lt_d_documentos[i].GetString("NUM_CHEQUE");
                            DOCS_DETALLES_resp.FECHA_VENC     = lt_d_documentos[i].GetString("FECHA_VENC");
                            if (lt_d_documentos[i].GetString("MONEDA") == "CLP")
                            {
                                DOCS_DETALLES_resp.MONTO = FM.FormatoMonedaChilena(lt_d_documentos[i].GetString("MONTO").Trim(), "1");
                            }
                            else
                            {
                                DOCS_DETALLES_resp.MONTO = FM.FormatoMonedaExtranjera(lt_d_documentos[i].GetString("MONTO").Trim());
                            }
                            //DOCS_DETALLES_resp.MONTO = lt_d_documentos[i].GetString("MONTO");
                            DOCS_DETALLES_resp.MONEDA     = lt_d_documentos[i].GetString("MONEDA");
                            DOCS_DETALLES_resp.NUM_CUOTAS = lt_d_documentos[i].GetString("NUM_CUOTAS");
                            DOCS_DETALLES_resp.EMISOR     = lt_d_documentos[i].GetString("EMISOR");
                            DetalleDocs.Add(DOCS_DETALLES_resp);
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message + ex.StackTrace);
                            System.Windows.MessageBox.Show(ex.Message + ex.StackTrace);
                        }
                    }
                }

                String Mensaje = "";
                if (lt_retorno.Count > 0)
                {
                    for (int i = 0; i < lt_retorno.Count(); i++)
                    {
                        lt_retorno.CurrentIndex = i;
                        retorno_resp            = new RETORNO();
                        retorno_resp.TYPE       = lt_retorno.GetString("TYPE");
                        retorno_resp.ID         = lt_retorno.GetString("ID");
                        retorno_resp.NUMBER     = lt_retorno.GetString("NUMBER");
                        retorno_resp.MESSAGE    = lt_retorno.GetString("MESSAGE");
                        retorno_resp.LOG_NO     = lt_retorno.GetString("LOG_NO");
                        retorno_resp.LOG_MSG_NO = lt_retorno.GetString("LOG_MSG_NO");
                        retorno_resp.MESSAGE    = lt_retorno.GetString("MESSAGE");
                        retorno_resp.MESSAGE_V1 = lt_retorno.GetString("MESSAGE_V1");
                        Mensaje = Mensaje + " - " + lt_retorno.GetString("MESSAGE") + " - " + lt_retorno.GetString("MESSAGE_V1");
                        retorno_resp.MESSAGE_V2 = lt_retorno.GetString("MESSAGE_V2");
                        retorno_resp.MESSAGE_V3 = lt_retorno.GetString("MESSAGE_V3");
                        retorno_resp.MESSAGE_V4 = lt_retorno.GetString("MESSAGE_V4");
                        retorno_resp.PARAMETER  = lt_retorno.GetString("PARAMETER");
                        retorno_resp.ROW        = lt_retorno.GetString("ROW");
                        retorno_resp.FIELD      = lt_retorno.GetString("FIELD");
                        retorno_resp.SYSTEM     = lt_retorno.GetString("SYSTEM");
                        Retorno.Add(retorno_resp);
                    }
                    System.Windows.MessageBox.Show(Mensaje);
                }
                //else
                //{
                //    System.Windows.MessageBox.Show("No existe(n) registro(s)");
                //}
            }
            else
            {
                errormessage = retval;
            }
            GC.Collect();
        }
Exemplo n.º 2
0
        public void PagaVehicu(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 ID_CAJA, string TOTAL_VENTA, List <VIAS_PAGO_VEHI> ViaPago, List <DOCUMENTO_CAB> DocumPago, List <ACT_FPAGOS> pago, string PAY_CURRENCY, string RUT, string SOCIEDAD, string NOTA_VENTA, string TOTAL_VIAS, string LAND)
        {
            objReturn2.Clear();
            DOCUMENTO  = "";
            DOCUMENTO2 = "";
            IRfcTable lt_VIAS_PAGO_VEHI;

            VIAS_PAGO_VEHI VIAS_PAGO_VEHI_RESP;

            errormessage = "";
            message      = "";
            try
            {
                RETURN p_return;
                TOTAL_VENTA = TOTAL_VENTA.Replace(".", "");
                TOTAL_VENTA = TOTAL_VENTA.Replace(",", "");
                decimal        totalventa_d = Convert.ToDecimal(TOTAL_VENTA);
                FormatoMonedas FM           = new FormatoMonedas();

                //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();

                if (string.IsNullOrEmpty(retval))
                {
                    RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(connectorSap.connectorConfig);
                    RfcRepository  SapRfcRepository  = SapRfcDestination.Repository;

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

                    BapiGetUser.SetValue("PAY_CURRENCY", PAY_CURRENCY);
                    BapiGetUser.SetValue("RUT", RUT);
                    BapiGetUser.SetValue("SOCIEDAD", SOCIEDAD);
                    BapiGetUser.SetValue("NOTA_VENTA", NOTA_VENTA);
                    BapiGetUser.SetValue("TOTAL_VIAS", TOTAL_VIAS);
                    BapiGetUser.SetValue("LAND", LAND);
                    BapiGetUser.SetValue("ID_CAJA", ID_CAJA);
                    BapiGetUser.SetValue("TOTAL_VENTA", totalventa_d);

                    // LLENAMOS TABLA DOCUMENTO
                    IRfcTable paramt = BapiGetUser.GetTable("DOCUMENTO_CAB");
                    for (int i = 0; i < DocumPago.Count(); i++)
                    {
                        paramt.Append();
                        paramt.SetValue("MANDT", DocumPago[i].MANDT);
                        paramt.SetValue("LAND", DocumPago[i].LAND);
                        paramt.SetValue("ID_COMPROBANTE", DocumPago[i].ID_COMPROBANTE);
                        paramt.SetValue("POSICION", DocumPago[i].POSICION);
                        paramt.SetValue("ID_CAJA", DocumPago[i].ID_CAJA);
                        paramt.SetValue("ID_APERTURA", DocumPago[i].ID_APERTURA);
                        paramt.SetValue("CLIENTE", DocumPago[i].CLIENTE);
                        paramt.SetValue("TIPO_DOCUMENTO", DocumPago[i].TIPO_DOCUMENTO);
                        paramt.SetValue("SOCIEDAD", DocumPago[i].SOCIEDAD);
                        paramt.SetValue("NRO_DOCUMENTO", DocumPago[i].NRO_DOCUMENTO);
                        paramt.SetValue("NRO_REFERENCIA", DocumPago[i].NRO_REFERENCIA);
                        paramt.SetValue("CAJERO_RESP", DocumPago[i].CAJERO_RESP);
                        paramt.SetValue("CAJERO_GEN", DocumPago[i].CAJERO_GEN);
                        paramt.SetValue("FECHA_COMP", DocumPago[i].FECHA_COMP);
                        paramt.SetValue("HORA", DocumPago[i].HORA);
                        paramt.SetValue("NRO_COMPENSACION", DocumPago[i].NRO_COMPENSACION);
                        paramt.SetValue("TEXTO_CABECERA", DocumPago[i].TEXTO_CABECERA);
                        paramt.SetValue("NULO", DocumPago[i].NULO);
                        paramt.SetValue("USR_ANULADOR", DocumPago[i].USR_ANULADOR);
                        paramt.SetValue("NRO_ANULACION", DocumPago[i].NRO_ANULACION);
                        paramt.SetValue("APROBADOR_ANULA", DocumPago[i].APROBADOR_ANULA);
                        paramt.SetValue("TXT_ANULACION", DocumPago[i].TXT_ANULACION);
                        paramt.SetValue("EXCEPCION", DocumPago[i].EXCEPCION);
                        paramt.SetValue("FECHA_DOC", DocumPago[i].FECHA_DOC);
                        paramt.SetValue("FECHA_VENC_DOC", DocumPago[i].FECHA_VENC_DOC);
                        paramt.SetValue("NUM_CUOTA", DocumPago[i].NUM_CUOTA);
                        //if (DocumPago[i].MONEDA == "CLP")
                        //{
                        //    paramt.SetValue("MONTO_DOC",FM.FormatoMonedaChilena(DocumPago[i].MONTO_DOC, "2"));
                        //}
                        //else
                        //{
                        //    paramt.SetValue("MONTO_DOC", FM.FormatoMonedaExtranjera(DocumPago[i].MONTO_DOC));
                        //}
                        paramt.SetValue("MONTO_DOC", DocumPago[i].MONTO_DOC);
                        //if (DocumPago[i].MONEDA == "CLP")
                        //{
                        //    paramt.SetValue("MONTO_DIFERENCIA", FM.FormatoMonedaChilena(DocumPago[i].MONTO_DIFERENCIA, "2"));
                        //}
                        //else
                        //{
                        //    paramt.SetValue("MONTO_DIFERENCIA", FM.FormatoMonedaExtranjera(DocumPago[i].MONTO_DIFERENCIA));
                        //}
                        paramt.SetValue("MONTO_DIFERENCIA", DocumPago[i].MONTO_DIFERENCIA);
                        paramt.SetValue("TEXTO_EXCEPCION", DocumPago[i].TEXTO_EXCEPCION);
                        paramt.SetValue("PARCIAL", DocumPago[i].PARCIAL);
                        paramt.SetValue("TIME", DocumPago[i].TIME);
                        paramt.SetValue("APROBADOR_EX", DocumPago[i].APROBADOR_EX);
                        paramt.SetValue("MONEDA", DocumPago[i].MONEDA);
                        paramt.SetValue("CLASE_CUENTA", DocumPago[i].CLASE_CUENTA);
                        paramt.SetValue("CLASE_DOC", DocumPago[i].CLASE_DOC);
                        paramt.SetValue("NUM_CANCELACION", DocumPago[i].NUM_CANCELACION);
                        paramt.SetValue("CME", DocumPago[i].CME);
                        paramt.SetValue("NOTA_VENTA", DocumPago[i].NOTA_VENTA);
                        paramt.SetValue("CEBE", DocumPago[i].CEBE);
                        paramt.SetValue("ACC", DocumPago[i].ACC);
                    }

                    //LLENAMOS TABLA VIAS DE PAGO
                    IRfcTable paramt2 = BapiGetUser.GetTable("VIAS_PAGO_VEHI");

                    for (int i = 0; i < ViaPago.Count(); i++)
                    {
                        paramt2.Append();
                        paramt2.SetValue("MANDT", ViaPago[i].MANDT);
                        paramt2.SetValue("LAND", ViaPago[i].LAND);
                        paramt2.SetValue("ID_COMPROBANTE", ViaPago[i].ID_COMPROBANTE);
                        paramt2.SetValue("ID_DETALLE", ViaPago[i].ID_DETALLE);
                        paramt2.SetValue("ID_CAJA", ViaPago[i].ID_CAJA);
                        paramt2.SetValue("VIA_PAGO", ViaPago[i].VIA_PAGO);
                        //if (ViaPago[i].MONEDA == "CLP")
                        //{
                        //    paramt2.SetValue("MONTO", FM.FormatoMonedaChilena(ViaPago[i].MONTO, "1"));
                        //}
                        //else
                        //{
                        //    paramt2.SetValue("MONTO", FM.FormatoMonedaExtranjera(ViaPago[i].MONTO));
                        //}
                        paramt2.SetValue("MONTO", ViaPago[i].MONTO);
                        paramt2.SetValue("MONEDA", ViaPago[i].MONEDA);
                        paramt2.SetValue("BANCO", ViaPago[i].BANCO);
                        paramt2.SetValue("EMISOR", ViaPago[i].EMISOR);
                        paramt2.SetValue("NUM_CHEQUE", ViaPago[i].NUM_CHEQUE);
                        paramt2.SetValue("COD_AUTORIZACION", ViaPago[i].COD_AUTORIZACION);
                        paramt2.SetValue("NUM_CUOTAS", ViaPago[i].NUM_CUOTAS);
                        paramt2.SetValue("FECHA_VENC", ViaPago[i].FECHA_VENC);
                        paramt2.SetValue("TEXTO_POSICION", ViaPago[i].TEXTO_POSICION);
                        paramt2.SetValue("ANEXO", ViaPago[i].ANEXO);
                        paramt2.SetValue("SUCURSAL", ViaPago[i].SUCURSAL);
                        paramt2.SetValue("NUM_CUENTA", ViaPago[i].NUM_CUENTA);
                        paramt2.SetValue("NUM_TARJETA", ViaPago[i].NUM_TARJETA);
                        paramt2.SetValue("NUM_VALE_VISTA", ViaPago[i].NUM_VALE_VISTA);
                        paramt2.SetValue("PATENTE", ViaPago[i].PATENTE);
                        paramt2.SetValue("NUM_VENTA", ViaPago[i].NUM_VENTA);
                        paramt2.SetValue("PAGARE", ViaPago[i].PAGARE);
                        if ((ViaPago[i].VIA_PAGO == "B") | (ViaPago[i].VIA_PAGO == "U"))
                        {
                            paramt2.SetValue("FECHA_EMISION", Convert.ToDateTime(ViaPago[i].FECHA_EMISION));
                        }
                        else
                        {
                            paramt2.SetValue("FECHA_EMISION", ViaPago[i].FECHA_EMISION);
                        }
                        paramt2.SetValue("NOMBRE_GIRADOR", ViaPago[i].NOMBRE_GIRADOR);
                        paramt2.SetValue("CARTA_CURSE", ViaPago[i].CARTA_CURSE);
                        paramt2.SetValue("NUM_TRANSFER", ViaPago[i].NUM_TRANSFER);
                        paramt2.SetValue("NUM_DEPOSITO", ViaPago[i].NUM_DEPOSITO);
                        paramt2.SetValue("CTA_BANCO", ViaPago[i].CTA_BANCO);
                        paramt2.SetValue("IFINAN", ViaPago[i].IFINAN);
                        paramt2.SetValue("ZUONR", ViaPago[i].ZUONR);
                        paramt2.SetValue("CORRE", ViaPago[i].CORRE);
                        paramt2.SetValue("HKONT", ViaPago[i].HKONT);
                        paramt2.SetValue("PRCTR", ViaPago[i].PRCTR);
                        paramt2.SetValue("ZNOP", ViaPago[i].ZNOP);
                    }

                    IRfcTable paramt3 = BapiGetUser.GetTable("ACT_FPAGOS");
                    for (int i = 0; i < pago.Count(); i++)
                    {
                        paramt3.Append();
                        paramt3.SetValue("VBELN", pago[i].VBELN);
                        paramt3.SetValue("CORRE", pago[i].CORRE);
                    }

                    BapiGetUser.SetValue("DOCUMENTO_CAB", paramt);
                    BapiGetUser.SetValue("VIAS_PAGO_VEHI", paramt2);
                    BapiGetUser.SetValue("ACT_FPAGOS", paramt3);

                    BapiGetUser.Invoke(SapRfcDestination);


                    DOCUMENTO  = BapiGetUser.GetValue("DOCUMENTO").ToString();
                    DOCUMENTO2 = BapiGetUser.GetValue("COMPROBANTE").ToString();
                    IRfcTable retorno = BapiGetUser.GetTable("RETORNO");

                    for (var i = 0; i < retorno.RowCount; i++)
                    {
                        retorno.CurrentIndex = i;

                        p_return = new RETURN();

                        p_return.TYPE       = retorno[i].GetString("TYPE");
                        p_return.ID         = retorno[i].GetString("ID");
                        p_return.NUMBER     = retorno[i].GetString("NUMBER");
                        p_return.MESSAGE    = retorno[i].GetString("MESSAGE");
                        p_return.LOG_NO     = retorno[i].GetString("LOG_NO");
                        p_return.LOG_MSG_NO = retorno[i].GetString("LOG_MSG_NO");
                        p_return.MESSAGE_V1 = retorno[i].GetString("MESSAGE_V1");
                        p_return.MESSAGE_V2 = retorno[i].GetString("MESSAGE_V2");
                        p_return.MESSAGE_V3 = retorno[i].GetString("MESSAGE_V3");
                        p_return.MESSAGE_V4 = retorno[i].GetString("MESSAGE_V4");
                        p_return.PARAMETER  = retorno[i].GetString("PARAMETER");
                        p_return.ROW        = retorno[i].GetString("ROW");
                        p_return.FIELD      = retorno[i].GetString("FIELD");
                        p_return.SYSTEM     = retorno[i].GetString("SYSTEM");

                        if (retorno[i].GetString("TYPE") == "E")
                        {
                            if (errormessage.Contains(retorno[i].GetString("MESSAGE")))
                            {
                                ;
                            }
                            else
                            {
                                errormessage = errormessage + " - " + retorno[i].GetString("MESSAGE");
                            }
                        }
                        if (retorno[i].GetString("TYPE") == "S")
                        {
                            if (message.Contains(retorno[i].GetString("MESSAGE")))
                            {
                                ;
                            }
                            else
                            {
                                message = message + " - " + retorno[i].GetString("MESSAGE");
                            }
                        }


                        objReturn2.Add(p_return);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("{0} Exception caught.", ex);
            }
        }
Exemplo n.º 3
0
        public void recauVehi(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 VBELN, string STCD1, string SOCIEDAD)
        {
            objPag.Clear();
            objPagCab.Clear();
            objReturn2.Clear();
            errormessage = "";
            message      = "";
            try
            {
                RETURN    p_return;
                IRfcTable lt_IT_PAGOS_CAB;
                IRfcTable lt_IT_PAGOS;

                IT_PAGOS       GET_IT_PAGOS_resp;
                IT_PAGOS_CAB   GET_IT_PAGOS_CAB_resp;
                FormatoMonedas FM = new FormatoMonedas();

                //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_RECAU_VEHI");
                    BapiGetUser.SetValue("VBELN", VBELN);
                    BapiGetUser.SetValue("STCD1", STCD1);
                    BapiGetUser.SetValue("SOCIEDAD", SOCIEDAD);

                    BapiGetUser.Invoke(SapRfcDestination);

                    lt_IT_PAGOS_CAB = BapiGetUser.GetTable("IT_PAGOS_CAB");
                    lt_IT_PAGOS     = BapiGetUser.GetTable("IT_PAGOS");

                    if (lt_IT_PAGOS_CAB.RowCount > 0)
                    {
                        for (int i = 0; i < lt_IT_PAGOS_CAB.RowCount; i++)
                        {
                            lt_IT_PAGOS_CAB.CurrentIndex = i;
                            GET_IT_PAGOS_CAB_resp        = new IT_PAGOS_CAB();

                            GET_IT_PAGOS_CAB_resp.VBELN    = lt_IT_PAGOS_CAB[i].GetString("VBELN");
                            GET_IT_PAGOS_CAB_resp.LICPL    = lt_IT_PAGOS_CAB[i].GetString("LICPL");
                            GET_IT_PAGOS_CAB_resp.H_NETWR  = lt_IT_PAGOS_CAB[i].GetString("H_NETWR");
                            GET_IT_PAGOS_CAB_resp.WAERK    = lt_IT_PAGOS_CAB[i].GetString("WAERK");
                            GET_IT_PAGOS_CAB_resp.BUKRS_VF = lt_IT_PAGOS_CAB[i].GetString("BUKRS_VF");
                            GET_IT_PAGOS_CAB_resp.KKBER    = lt_IT_PAGOS_CAB[i].GetString("KKBER");
                            GET_IT_PAGOS_CAB_resp.STCD1    = lt_IT_PAGOS_CAB[i].GetString("STCD1");
                            objPagCab.Add(GET_IT_PAGOS_CAB_resp);
                        }
                    }

                    if (lt_IT_PAGOS.RowCount > 0)
                    {
                        for (int i = 0; i < lt_IT_PAGOS.RowCount; i++)
                        {
                            lt_IT_PAGOS.CurrentIndex = i;
                            GET_IT_PAGOS_resp        = new IT_PAGOS();

                            GET_IT_PAGOS_resp.VBELN      = lt_IT_PAGOS[i].GetString("VBELN");
                            GET_IT_PAGOS_resp.CORRE      = lt_IT_PAGOS[i].GetString("CORRE");
                            GET_IT_PAGOS_resp.VIADP      = lt_IT_PAGOS[i].GetString("VIADP");
                            GET_IT_PAGOS_resp.DESCV      = lt_IT_PAGOS[i].GetString("DESCV");
                            GET_IT_PAGOS_resp.DBM_LICEXT = lt_IT_PAGOS[i].GetString("DBM_LICEXT");
                            GET_IT_PAGOS_resp.NUDOC      = lt_IT_PAGOS[i].GetString("NUDOC");
                            GET_IT_PAGOS_resp.CODBA      = lt_IT_PAGOS[i].GetString("CODBA");
                            GET_IT_PAGOS_resp.NOMBA      = lt_IT_PAGOS[i].GetString("NOMBA");
                            GET_IT_PAGOS_resp.CODIN      = lt_IT_PAGOS[i].GetString("CODIN");
                            GET_IT_PAGOS_resp.NOMIN      = lt_IT_PAGOS[i].GetString("NOMIN");
                            //string VALORUN = Convert.ToString(lt_IT_PAGOS[i].GetString("MONTO"));
                            //VALORUN = VALORUN.Replace(".", "");
                            //VALORUN = VALORUN.Replace(",", "");
                            //decimal monto = Convert.ToDecimal(VALORUN);
                            //GET_IT_PAGOS_resp.MONTO = string.Format("{0:0,0}", monto);
                            GET_IT_PAGOS_resp.KUNNR = lt_IT_PAGOS[i].GetString("KUNNR");
                            if (lt_IT_PAGOS[i].GetString("WAERS") == "CLP")
                            {
                                GET_IT_PAGOS_resp.MONTO = FM.FormatoMonedaChilena(lt_IT_PAGOS[i].GetString("MONTO"), "2");
                                //paramt.SetValue("MONTO_DOC", FM.FormatoMonedaChilena(DocumPago[i].MONTO_DOC, "2"));
                            }
                            else
                            {
                                GET_IT_PAGOS_resp.MONTO = FM.FormatoMonedaExtranjera(lt_IT_PAGOS[i].GetString("MONTO"));
                                //paramt.SetValue("MONTO_DOC", FM.FormatoMonedaExtranjera(DocumPago[i].MONTO_DOC));
                            }
                            //GET_IT_PAGOS_resp.MONTO = lt_IT_PAGOS[i].GetString("MONTO");
                            GET_IT_PAGOS_resp.CTACE = lt_IT_PAGOS[i].GetString("CTACE");
                            GET_IT_PAGOS_resp.FEACT = lt_IT_PAGOS[i].GetString("FEACT");
                            GET_IT_PAGOS_resp.FEVEN = lt_IT_PAGOS[i].GetString("FEVEN");
                            GET_IT_PAGOS_resp.INTER = lt_IT_PAGOS[i].GetString("INTER");
                            GET_IT_PAGOS_resp.TASAI = lt_IT_PAGOS[i].GetString("TASAI");
                            GET_IT_PAGOS_resp.CUOTA = lt_IT_PAGOS[i].GetString("CUOTA");
                            GET_IT_PAGOS_resp.MINTE = lt_IT_PAGOS[i].GetString("MINTE");
                            //string VALORTOTIN = Convert.ToString(lt_IT_PAGOS[i].GetString("TOTIN"));
                            //VALORTOTIN = VALORTOTIN.Replace(".", "");
                            //VALORTOTIN = VALORTOTIN.Replace(",", "");
                            //decimal TOTIN2 = Convert.ToDecimal(VALORTOTIN);
                            if (lt_IT_PAGOS[i].GetString("WAERS") == "CLP")
                            {
                                GET_IT_PAGOS_resp.TOTIN = FM.FormatoMonedaChilena(lt_IT_PAGOS[i].GetString("TOTIN"), "2");
                                //paramt.SetValue("MONTO_DOC", FM.FormatoMonedaChilena(DocumPago[i].MONTO_DOC, "2"));
                            }
                            else
                            {
                                GET_IT_PAGOS_resp.TOTIN = FM.FormatoMonedaExtranjera(lt_IT_PAGOS[i].GetString("TOTIN"));
                                //paramt.SetValue("MONTO_DOC", FM.FormatoMonedaExtranjera(DocumPago[i].MONTO_DOC));
                            }
                            //GET_IT_PAGOS_resp.TOTIN = string.Format("{0:0,0}", TOTIN2);
                            // GET_IT_PAGOS_resp.TOTIN = lt_IT_PAGOS[i].GetString("TOTIN");
                            GET_IT_PAGOS_resp.RUTGI = lt_IT_PAGOS[i].GetString("RUTGI");
                            GET_IT_PAGOS_resp.NOMGI = lt_IT_PAGOS[i].GetString("NOMGI");
                            GET_IT_PAGOS_resp.WAERS = lt_IT_PAGOS[i].GetString("WAERS");
                            GET_IT_PAGOS_resp.STAT  = lt_IT_PAGOS.GetString("STAT");
                            GET_IT_PAGOS_resp.PRCTR = lt_IT_PAGOS[i].GetString("PRCTR");
                            GET_IT_PAGOS_resp.KUNNR = lt_IT_PAGOS[i].GetString("KUNNR");
                            GET_IT_PAGOS_resp.KKBER = lt_IT_PAGOS[i].GetString("KKBER");
                            GET_IT_PAGOS_resp.STCD1 = lt_IT_PAGOS[i].GetString("STCD1");
                            GET_IT_PAGOS_resp.HKONT = lt_IT_PAGOS[i].GetString("HKONT");
                            GET_IT_PAGOS_resp.BANKN = lt_IT_PAGOS[i].GetString("BANKN");
                            objPag.Add(GET_IT_PAGOS_resp);
                        }
                    }
                    else
                    {
                        // MessageBox.Show("No existen datos para este número de documento o RUT");
                    }


                    IRfcTable retorno = BapiGetUser.GetTable("RETURN");

                    for (var i = 0; i < retorno.RowCount; i++)
                    {
                        retorno.CurrentIndex = i;

                        p_return = new RETURN();

                        p_return.TYPE       = retorno[i].GetString("TYPE");
                        p_return.ID         = retorno[i].GetString("ID");
                        p_return.NUMBER     = retorno[i].GetString("NUMBER");
                        p_return.MESSAGE    = retorno[i].GetString("MESSAGE");
                        p_return.LOG_NO     = retorno[i].GetString("LOG_NO");
                        p_return.LOG_MSG_NO = retorno[i].GetString("LOG_MSG_NO");
                        p_return.MESSAGE_V1 = retorno[i].GetString("MESSAGE_V1");
                        p_return.MESSAGE_V2 = retorno[i].GetString("MESSAGE_V2");
                        p_return.MESSAGE_V3 = retorno[i].GetString("MESSAGE_V3");
                        p_return.MESSAGE_V4 = retorno[i].GetString("MESSAGE_V4");
                        p_return.PARAMETER  = retorno[i].GetString("PARAMETER");
                        p_return.ROW        = retorno[i].GetString("ROW");
                        p_return.FIELD      = retorno[i].GetString("FIELD");
                        p_return.SYSTEM     = retorno[i].GetString("SYSTEM");
                        objReturn2.Add(p_return);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("{0} Exception caught.", ex);
            }
        }
Exemplo n.º 4
0
        public void rendicioncaja(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_IND_ARQUEO, string P_MONEDA)
        {
            try
            {
                ESTATUS        retorno;
                DETALLE_VP     detallevp;
                RESUMEN_VP     resumenvp;
                DETALLE_REND   detallerend;
                DETALLE_ARQUEO detallearqueo;
                INFO_SOCI      InfoSociedad;

                T_Retorno.Clear();
                detalle_rend.Clear();
                detalle_arqueo.Clear();
                detalle_viapago.Clear();
                resumen_viapago.Clear();
                errormessage     = "";
                message          = "";
                IdCaja           = "";
                FechArqueo       = "";
                FechaArqueoHasta = "";
                CajeroResp       = "";
                Sucursal         = "";
                Sociedad         = "";
                NombreCaja       = "";
                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_DETALLE_VP;
                IRfcTable     lt_RESUMEN_VP;
                IRfcTable     lt_DETALLE_REND;
                IRfcTable     lt_DET_ARQUEO;
                IRfcTable     lt_INFO_SOCI;

                //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_REN_CAJA");

                    BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA);
                    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("IND_ARQUEO", P_IND_ARQUEO);
                    BapiGetUser.SetValue("LAND", P_PAIS);

                    BapiGetUser.Invoke(SapRfcDestination);

                    BapiGetUser.GetString("ID_CAJA_OUT");
                    FechArqueo       = BapiGetUser.GetString("DATE_ARQ_OUT");
                    FechaArqueoHasta = BapiGetUser.GetString("DATE_ARQ_TO_OUT");
                    CajeroResp       = BapiGetUser.GetString("CAJERO_RESP_OUT");
                    Sucursal         = BapiGetUser.GetString("SUCURSAL");
                    NombreCaja       = BapiGetUser.GetString("NOM_CAJA");
                    Sociedad         = BapiGetUser.GetString("SOCIEDAD_OUT");
                    id_arqueo        = BapiGetUser.GetString("ID_ARQUEO");
                    id_cierre        = BapiGetUser.GetString("ID_CIERRE_OUT");
                    lt_DETALLE_VP    = BapiGetUser.GetTable("DETALLE_VP");
                    lt_INFO_SOCI     = BapiGetUser.GetTable("INFO_SOCI");
                    try
                    {
                        for (int i = 0; i < lt_INFO_SOCI.Count(); i++)
                        {
                            lt_INFO_SOCI.CurrentIndex = i;
                            InfoSociedad       = new INFO_SOCI();
                            InfoSociedad.BUKRS = lt_INFO_SOCI.GetString("BUKRS");
                            InfoSociedad.BUTXT = lt_INFO_SOCI.GetString("BUTXT");
                            InfoSociedad.STCD1 = lt_INFO_SOCI.GetString("STCD1");
                            ObjInfoSoc.Add(InfoSociedad);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, ex.StackTrace);
                        MessageBox.Show(ex.Message + ex.StackTrace);
                    }
                    try
                    {
                        for (int i = 0; i < lt_DETALLE_VP.Count(); i++)
                        {
                            lt_DETALLE_VP.CurrentIndex = i;
                            detallevp                = new DETALLE_VP();
                            detallevp.SOCIEDAD       = lt_DETALLE_VP.GetString("SOCIEDAD");
                            detallevp.SOCIEDAD_TXT   = lt_DETALLE_VP.GetString("SOCIEDAD_TXT");
                            detallevp.ID_COMPROBANTE = lt_DETALLE_VP.GetString("ID_COMPROBANTE");
                            detallevp.ID_DETALLE     = lt_DETALLE_VP.GetString("ID_DETALLE");
                            detallevp.VIA_PAGO       = lt_DETALLE_VP.GetString("VIA_PAGO");
                            FormatoMonedas FM = new FormatoMonedas();
                            if (lt_DETALLE_VP[i].GetString("MONEDA") == "CLP")
                            {
                                string Formateo = FM.FormatoMonedaChilena(lt_DETALLE_VP[i].GetString("MONTO").Trim(), "2");
                                detallevp.MONTO = Formateo;
                            }
                            else
                            {
                                string Formateo = FM.FormatoMonedaExtranjera(lt_DETALLE_VP[i].GetString("MONTO").Trim());
                                detallevp.MONTO = Formateo;
                            }
                            detallevp.MONTO            = lt_DETALLE_VP.GetString("MONTO");
                            detallevp.MONEDA           = lt_DETALLE_VP.GetString("MONEDA");
                            detallevp.BANCO            = lt_DETALLE_VP.GetString("BANCO");
                            detallevp.BANCO_TXT        = lt_DETALLE_VP.GetString("BANCO_TXT");
                            detallevp.EMISOR           = lt_DETALLE_VP.GetString("EMISOR");
                            detallevp.NUM_CHEQUE       = lt_DETALLE_VP.GetString("NUM_CHEQUE");
                            detallevp.COD_AUTORIZACION = lt_DETALLE_VP.GetString("COD_AUTORIZACION");
                            detallevp.CLIENTE          = lt_DETALLE_VP.GetString("CLIENTE");
                            detallevp.NRO_DOCUMENTO    = lt_DETALLE_VP.GetString("NRO_DOCUMENTO");
                            detallevp.NUM_CUOTAS       = lt_DETALLE_VP.GetString("NUM_CUOTAS");
                            detallevp.FECHA_VENC       = lt_DETALLE_VP.GetString("FECHA_VENC");
                            detallevp.FECHA_EMISION    = lt_DETALLE_VP.GetString("FECHA_EMISION");
                            detallevp.NOTA_VENTA       = lt_DETALLE_VP.GetString("NOTA_VENTA");
                            detallevp.TEXTO_POSICION   = lt_DETALLE_VP.GetString("TEXTO_POSICION");
                            detallevp.NULO             = lt_DETALLE_VP.GetString("NULO");
                            detallevp.NRO_REFERENCIA   = lt_DETALLE_VP.GetString("NRO_REFERENCIA");
                            detallevp.TIPO_DOCUMENTO   = lt_DETALLE_VP.GetString("TIPO_DOCUMENTO");
                            detalle_viapago.Add(detallevp);
                        }
                    }
                    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 RESUMEN_VP();
                            resumenvp.LAND         = lt_RESUMEN_VP.GetString("LAND");
                            resumenvp.ID_CAJA      = lt_RESUMEN_VP.GetString("ID_CAJA");
                            resumenvp.SOCIEDAD     = lt_RESUMEN_VP.GetString("SOCIEDAD");
                            resumenvp.SOCIEDAD_TXT = lt_RESUMEN_VP.GetString("SOCIEDAD_TXT");
                            resumenvp.VIA_PAGO     = lt_RESUMEN_VP.GetString("VIA_PAGO");

                            //string Valor = lt_RESUMEN_VP[i].GetString("MONTO_EFEC").Trim();
                            ////if (lt_RESUMEN_VP.GetString("VIA_PAGO") == "0" || lt_RESUMEN_VP.GetString("VIA_PAGO") == "N")
                            ////{
                            ////    MontoEgresos = MontoEgresos + Convert.ToDouble(lt_RESUMEN_VP.GetString("MONTO"));
                            ////}
                            resumenvp.TEXT1  = lt_RESUMEN_VP.GetString("TEXT1");
                            resumenvp.MONEDA = lt_RESUMEN_VP.GetString("MONEDA");
                            FormatoMonedas FM = new FormatoMonedas();
                            if (lt_RESUMEN_VP[i].GetString("MONEDA") == "CLP")
                            {
                                resumenvp.MONTO = FM.FormatoMonedaChilena(lt_RESUMEN_VP[i].GetString("MONTO"), "1");
                            }
                            else
                            {
                                resumenvp.MONTO = FM.FormatoMonedaExtranjera(lt_RESUMEN_VP[i].GetString("MONTO"));
                            }
                            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.MONEDA   = lt_DETALLE_REND.GetString("MONEDA");
                            detallerend.VIA_PAGO = lt_DETALLE_REND.GetString("VIA_PAGO");

                            FormatoMonedas FM = new FormatoMonedas();
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO = FM.FormatoMonedaChilena(lt_DETALLE_REND[i].GetString("MONTO"), "2");
                            }
                            else
                            {
                                detallerend.MONTO = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO"));
                            }
                            detallerend.NAME1 = lt_DETALLE_REND.GetString("NAME1");
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                MontoEfect             = MontoEfect + Convert.ToDouble(FM.FormatoMonedaChilena(lt_DETALLE_REND[i].GetString("MONTO_EFEC"), "2"));
                                detallerend.MONTO_EFEC = FM.FormatoMonedaChilena(lt_DETALLE_REND[i].GetString("MONTO_EFEC"), "2");
                                string Valor = lt_DETALLE_REND[i].GetString("MONTO_EFEC").Trim();

                                if (Valor.Contains("-"))
                                {
                                    MontoEgresos = MontoEgresos + Convert.ToDouble(lt_DETALLE_REND[i].GetString("MONTO_EFEC"));
                                }
                            }
                            else
                            {
                                detallerend.MONTO_EFEC = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_EFEC"));
                            }
                            detallerend.NUM_CHEQUE = lt_DETALLE_REND.GetString("NUM_CHEQUE");
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO_DIA = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_DIA"), "2");
                                MontoChqDia           = MontoChqDia + Convert.ToDouble(FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_DIA"), "2"));
                            }
                            else
                            {
                                detallerend.MONTO_DIA = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_DIA"));
                                MontoChqDia           = MontoChqDia + Convert.ToDouble(detallerend.MONTO_DIA);
                            }
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                MontoChqFech            = MontoChqFech + Convert.ToDouble(FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_FECHA"), "2"));
                                detallerend.MONTO_FECHA = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_FECHA"), "2");
                            }
                            else
                            {
                                detallerend.MONTO_FECHA = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_FECHA"));
                                MontoChqFech            = MontoChqFech + Convert.ToDouble(detallerend.MONTO_FECHA);
                            }
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO_TRANSF = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_TRANSF"), "2");
                                MontoTransf = MontoTransf + Convert.ToDouble(FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_TRANSF"), "2"));
                            }
                            else
                            {
                                detallerend.MONTO_TRANSF = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_TRANSF"));
                                MontoTransf = MontoTransf + Convert.ToDouble(detallerend.MONTO_TRANSF);
                            }
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO_VALE_V = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_VALE_V"), "2");
                                MontoValeV = MontoValeV + Convert.ToDouble(detallerend.MONTO_VALE_V);
                            }
                            else
                            {
                                detallerend.MONTO_VALE_V = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_VALE_V"));
                                MontoValeV = MontoValeV + Convert.ToDouble(detallerend.MONTO_VALE_V);
                            }
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO_DEP = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_DEP"), "2");
                                MontoDepot            = MontoDepot + Convert.ToDouble(detallerend.MONTO_DEP);
                            }
                            else
                            {
                                detallerend.MONTO_DEP = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_DEP"));
                                MontoDepot            = MontoDepot + Convert.ToDouble(detallerend.MONTO_DEP);
                            }
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO_TARJ = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_TARJ"), "2");
                                MontoTarj = MontoTarj + Convert.ToDouble(detallerend.MONTO_TARJ);
                            }
                            else
                            {
                                detallerend.MONTO_TARJ = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_TARJ"));
                                MontoTarj = MontoTarj + Convert.ToDouble(detallerend.MONTO_TARJ);
                            }
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO_FINANC = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_FINANC"), "2");
                                MontoFinanc = MontoFinanc + Convert.ToDouble(detallerend.MONTO_FINANC);
                            }
                            else
                            {
                                detallerend.MONTO_FINANC = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_FINANC"));
                                MontoFinanc = MontoFinanc + Convert.ToDouble(detallerend.MONTO_FINANC);
                            }
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO_APP = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_APP"), "2");
                                MontoApp = MontoApp + Convert.ToDouble(detallerend.MONTO_APP);
                            }
                            else
                            {
                                detallerend.MONTO_APP = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_APP"));
                                MontoApp = MontoApp + Convert.ToDouble(detallerend.MONTO_APP);
                            }
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO_CREDITO = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_CREDITO"), "2");
                                MontoCredit = MontoCredit + Convert.ToDouble(detallerend.MONTO_CREDITO);
                            }
                            else
                            {
                                detallerend.MONTO_CREDITO = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_CREDITO"));
                                MontoCredit = MontoCredit + Convert.ToDouble(detallerend.MONTO_CREDITO);
                            }
                            detallerend.PATENTE = lt_DETALLE_REND.GetString("PATENTE");
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO_C_CURSE = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_C_CURSE"), "2");
                                MontoCCurse = MontoCCurse + Convert.ToDouble(detallerend.MONTO_C_CURSE);
                            }
                            else
                            {
                                detallerend.MONTO_C_CURSE = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_C_CURSE"));
                                MontoCCurse = MontoCCurse + Convert.ToDouble(detallerend.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_DET_ARQUEO = BapiGetUser.GetTable("DETALLE_ARQUEO");
                    try
                    {
                        for (int i = 0; i < lt_DET_ARQUEO.Count(); i++)
                        {
                            lt_DET_ARQUEO.CurrentIndex = i;
                            detallearqueo              = new DETALLE_ARQUEO();
                            detallearqueo.LAND         = lt_DET_ARQUEO.GetString("LAND");
                            detallearqueo.ID_CAJA      = lt_DET_ARQUEO.GetString("ID_CAJA");
                            detallearqueo.USUARIO      = lt_DET_ARQUEO.GetString("USUARIO");
                            detallearqueo.SOCIEDAD     = lt_DET_ARQUEO.GetString("SOCIEDAD");
                            detallearqueo.FECHA_REND   = lt_DET_ARQUEO.GetString("FECHA_REND");
                            detallearqueo.HORA_REND    = lt_DET_ARQUEO.GetString("HORA_REND");
                            detallearqueo.MONEDA       = lt_DET_ARQUEO.GetString("MONEDA");
                            detallearqueo.VIA_PAGO     = lt_DET_ARQUEO.GetString("VIA_PAGO");
                            detallearqueo.TIPO_MONEDA  = lt_DET_ARQUEO.GetString("TIPO_MONEDA");
                            detallearqueo.CANTIDAD_MON = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                            //*
                            if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                            {
                                string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                if (Valor.Contains("-"))
                                {
                                    Valor = "-" + Valor.Replace("-", "");
                                }
                                Valor = Valor.Replace(".", "");
                                Valor = Valor.Replace(",", "");
                                decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                detallearqueo.SUMA_MON_BILL = Cualquiernombre;
                            }
                            else
                            {
                                string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                decimal ValorAux = Convert.ToDecimal(moneda);
                                detallearqueo.SUMA_MON_BILL = string.Format("{0:0,0.##}", ValorAux);
                            }
                            if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                            {
                                string Valor = lt_DET_ARQUEO[i].GetString("SUMA_DOCS").Trim();
                                if (Valor.Contains("-"))
                                {
                                    Valor = "-" + Valor.Replace("-", "");
                                }
                                Valor = Valor.Replace(".", "");
                                Valor = Valor.Replace(",", "");
                                decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                detallearqueo.SUMA_DOCS = Cualquiernombre;
                            }
                            else
                            {
                                string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_DOCS"));
                                decimal ValorAux = Convert.ToDecimal(moneda);
                                detallearqueo.SUMA_DOCS = string.Format("{0:0,0.##}", ValorAux);
                            }
                            detallearqueo.SUMA_DOCS = lt_DET_ARQUEO.GetString("SUMA_DOCS");
                            C1 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000000001")
                            {
                                //C1 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M1 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M1 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                //M1 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000000005")
                            {
                                //C5 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M5 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M5 = string.Format("{0:0,0.##}", ValorAux);
                                }
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000000010")
                            {
                                //C10 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == "CLP")
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M10 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M10 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                //M10 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000000050")
                            {
                                //C50 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M50 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M50 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                //M50 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000000100")
                            {
                                //C100 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M100 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M100 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                //M100 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000000500")
                            {
                                //C500 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == "CLP")
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M500 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M500 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                //M500 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000001000")
                            {
                                //C1000 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M1000 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M1000 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                //M1000 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000002000")
                            {
                                //C2000 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M2000 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M2000 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                //M2000 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000005000")
                            {
                                //C5000 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M5000 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M5000 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                M5000 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000010000")
                            {
                                //C10000 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M10000 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M10000 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                M10000 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000020000")
                            {
                                //C20000 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M20000 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M20000 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                M20000 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            detalle_arqueo.Add(detallearqueo);
                        }
                    }
                    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 ESTATUS();
                            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");
                            if (ls_RETORNO.GetString("MESSAGE_V4") != "")
                            {
                                // comprobante = ls_RETORNO.GetString("MESSAGE_V4");
                            }
                            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);
            }
        }