Ejemplo 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();
        }
Ejemplo n.º 2
0
        public void pagoanticiposingreso(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_SOCIEDAD, List <DetalleViasPago> P_VIASPAGO, List <T_DOCUMENTOS> P_DOCSAPAGAR, string P_PAIS, string P_MONEDA, string P_CAJA, string P_CAJERO, string P_INGRESO, string P_APAGAR, string P_PARCIAL)
        {
            try
            {
                T_Retorno.Clear();
                comprobante = "";
                status      = "";
                message     = "";
                stringRfc   = "";
                IRfcTable ANTICIPOS_resp;
                IRfcTable lt_PAGO_MESS;
                RETORNO   retorno;
                //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_PAGO_ANTICIPO");
                    BapiGetUser.SetValue("ID_CAJA", P_CAJA);
                    BapiGetUser.SetValue("PAY_CURRENCY", P_MONEDA);
                    BapiGetUser.SetValue("LAND", P_PAIS);
                    BapiGetUser.SetValue("PARCIAL", P_PARCIAL);
                    BapiGetUser.SetValue("TOTAL_FACTURAS", Convert.ToDouble(P_INGRESO));
                    BapiGetUser.SetValue("TOTAL_VIAS", Convert.ToDouble(P_APAGAR));
                    BapiGetUser.SetValue("DIFERENCIA", Convert.ToDouble(P_INGRESO) - Convert.ToDouble(P_APAGAR));
                    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);
                        double Monto = Convert.ToDouble(P_VIASPAGO[i].MONTO); // 100;
                        if (P_VIASPAGO[i].MONEDA == "CLP")
                        {
                            Monto = Monto / 100;
                        }
                        GralDat.SetValue("MONTO", Monto);
                        GralDat.SetValue("MONEDA", P_VIASPAGO[i].MONEDA);
                        if (!String.IsNullOrEmpty(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);
                        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);
                        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);

                    IRfcTable GralDat2 = BapiGetUser.GetTable("DOCUMENTOS");
                    for (var i = 0; i < P_DOCSAPAGAR.Count; i++)
                    {
                        GralDat2.Append();
                        GralDat2.SetValue("MANDT", "");
                        GralDat2.SetValue("LAND", P_PAIS);
                        GralDat2.SetValue("ID_COMPROBANTE", "");
                        GralDat2.SetValue("POSICION", "");
                        GralDat2.SetValue("CLIENTE", P_DOCSAPAGAR[i].RUTCLI);
                        GralDat2.SetValue("TIPO_DOCUMENTO", P_DOCSAPAGAR[i].CLASE_DOC);
                        GralDat2.SetValue("SOCIEDAD", P_DOCSAPAGAR[i].SOCIEDAD);
                        GralDat2.SetValue("NRO_DOCUMENTO", P_DOCSAPAGAR[i].NDOCTO);
                        GralDat2.SetValue("NRO_REFERENCIA", P_DOCSAPAGAR[i].NREF);
                        GralDat2.SetValue("CAJERO_RESP", P_CAJERO);
                        GralDat2.SetValue("CAJERO_GEN", "");
                        GralDat2.SetValue("ID_CAJA", P_CAJA);
                        GralDat2.SetValue("NRO_COMPENSACION", "");
                        GralDat2.SetValue("TEXTO_CABECERA", "");
                        GralDat2.SetValue("NULO", "");
                        GralDat2.SetValue("USR_ANULADOR", "");
                        GralDat2.SetValue("NRO_ANULACION", "");
                        GralDat2.SetValue("APROBADOR_ANULA", "");
                        GralDat2.SetValue("TXT_ANULACION", "");
                        GralDat2.SetValue("EXCEPCION", "");
                        GralDat2.SetValue("FECHA_DOC", Convert.ToDateTime(P_DOCSAPAGAR[i].FECHA_DOC));
                        GralDat2.SetValue("FECHA_VENC_DOC", Convert.ToDateTime(P_DOCSAPAGAR[i].FECVENCI));
                        GralDat2.SetValue("NUM_CUOTA", "");
                        double Monto = Convert.ToDouble(P_DOCSAPAGAR[i].MONTO.Trim());
                        if (P_DOCSAPAGAR[i].MONEDA == "CLP")
                        {
                            Monto = Monto / 100;
                            GralDat2.SetValue("MONTO_DOC", Convert.ToString(Monto));
                        }
                        else
                        {
                            GralDat.SetValue("MONTO_DOC", P_DOCSAPAGAR[i].MONTO);
                        }
                        GralDat2.SetValue("MONTO_DIFERENCIA", 0);
                        GralDat2.SetValue("TEXTO_EXCEPCION", "");
                        GralDat2.SetValue("PARCIAL", "");
                        GralDat2.SetValue("APROBADOR_EX", "");
                        GralDat2.SetValue("MONEDA", P_MONEDA);
                        GralDat2.SetValue("CLASE_CUENTA", "D");
                        GralDat2.SetValue("CLASE_DOC", P_DOCSAPAGAR[i].CLASE_DOC);
                        GralDat2.SetValue("NUM_CANCELACION", "");
                        GralDat2.SetValue("CME", P_DOCSAPAGAR[i].CME);
                        GralDat2.SetValue("NOTA_VENTA", "");
                        GralDat2.SetValue("CEBE", P_DOCSAPAGAR[i].CEBE);
                        GralDat2.SetValue("ACC", P_DOCSAPAGAR[i].ACC);
                    }
                    BapiGetUser.SetValue("DOCUMENTOS", GralDat2);
                    BapiGetUser.Invoke(SapRfcDestination);
                    ANTICIPOS_resp = BapiGetUser.GetTable("RETORNO");

                    for (int i = 0; i < ANTICIPOS_resp.Count(); i++)
                    {
                        ANTICIPOS_resp.CurrentIndex = i;
                        retorno      = new RETORNO();
                        retorno.TYPE = ANTICIPOS_resp.GetString("TYPE");
                        retorno.CODE = ANTICIPOS_resp.GetString("CODE");
                        if (ANTICIPOS_resp.GetString("TYPE") == "S")
                        {
                            message = message + " - " + ANTICIPOS_resp.GetString("MESSAGE");
                        }
                        if (ANTICIPOS_resp.GetString("TYPE") == "E")
                        {
                            status = status + " - " + ANTICIPOS_resp.GetString("MESSAGE");
                        }
                        retorno.MESSAGE    = ANTICIPOS_resp.GetString("MESSAGE");
                        retorno.LOG_NO     = ANTICIPOS_resp.GetString("LOG_NO");
                        retorno.LOG_MSG_NO = ANTICIPOS_resp.GetString("LOG_MSG_NO");
                        retorno.MESSAGE_V1 = ANTICIPOS_resp.GetString("MESSAGE_V1");
                        retorno.MESSAGE_V2 = ANTICIPOS_resp.GetString("MESSAGE_V2");
                        retorno.MESSAGE_V3 = ANTICIPOS_resp.GetString("MESSAGE_V3");
                        if (ANTICIPOS_resp.GetString("MESSAGE_V4") != "")
                        {
                            comprobante = ANTICIPOS_resp.GetString("MESSAGE_V4");
                        }
                        retorno.MESSAGE_V4 = ANTICIPOS_resp.GetString("MESSAGE_V4");
                        T_Retorno.Add(retorno);
                    }
                }
                GC.Collect();
            }
            catch (Exception ex)
            {
                Console.WriteLine("{0} Exception caught.", ex);
                System.Windows.MessageBox.Show(ex.Message + ex.StackTrace);
                GC.Collect();
            }
            // return T_Retorno;
        }
Ejemplo n.º 3
0
        public void gestiondedepositos(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_USUARIO, string P_PAIS, string P_ID_APERTURA
                                       , string P_ID_CIERRE, string P_ID_ARQUEO)

        {
            try
            {
                RETORNO       retorno;
                VIAS_PAGOGD   vpgestion;
                BCO_DESTINO   banco_destino;
                BCO_DEPOSITOS banco_depositos;

                //DETALLE_REND detallerend;
                vpgestiondepositos.Clear();
                Retorno.Clear();
                BancoDest.Clear();
                BancoDeposito.Clear();
                errormessage = "";
                message      = "";
                IdCaja       = "";
                Efectivo     = "0";

                IRfcTable lt_RETORNO;
                IRfcTable lt_VPGESTIONBANCOS;
                IRfcTable lt_BANCODEST;
                IRfcTable lt_BANCODEPOSITOS;

                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_GESTION_DEPOSITOS");

                    BapiGetUser.SetValue("LAND", P_PAIS);
                    BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA);
                    BapiGetUser.SetValue("USUARIO", P_USUARIO);
                    BapiGetUser.SetValue("ID_APERTURA", P_ID_APERTURA);
                    BapiGetUser.SetValue("ID_CIERRE", P_ID_CIERRE);
                    BapiGetUser.SetValue("ID_ARQUEO", P_ID_ARQUEO);



                    BapiGetUser.Invoke(SapRfcDestination);
                    //BapiGetUser.SetValue("I_VBELN",P_NUMDOCSD);
                    //IRfcTable GralDat = BapiGetUser.GetTable("VIAS_PAGO");
                    lt_VPGESTIONBANCOS = BapiGetUser.GetTable("VIAS_PAGO");

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

                                vpgestion.SELECCION     = lt_VPGESTIONBANCOS[i].GetString("SELECCION");
                                vpgestion.ID_CAJA       = lt_VPGESTIONBANCOS[i].GetString("ID_CAJA");
                                vpgestion.ID_APERTURA   = lt_VPGESTIONBANCOS[i].GetString("ID_APERTURA");
                                vpgestion.ID_CIERRE     = P_ID_CIERRE;
                                vpgestion.TEXT_VIA_PAGO = lt_VPGESTIONBANCOS[i].GetString("TEXT_VIA_PAGO");
                                vpgestion.FECHA_EMISION = lt_VPGESTIONBANCOS[i].GetString("FECHA_EMISION");
                                vpgestion.NUM_DOC       = lt_VPGESTIONBANCOS[i].GetString("NUM_DOC");
                                vpgestion.TEXT_BANCO    = lt_VPGESTIONBANCOS[i].GetString("TEXT_BANCO");
                                if (lt_VPGESTIONBANCOS[i].GetString("MONEDA") == "CLP")
                                {
                                    string Valor = lt_VPGESTIONBANCOS[i].GetString("MONTO_DOC").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux    = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  monedachile = string.Format("{0:0,0}", ValorAux);
                                    vpgestion.MONTO_DOC = monedachile;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_VPGESTIONBANCOS[i].GetString("MONTO_DOC"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    vpgestion.MONTO_DOC = string.Format("{0:0,0.##}", ValorAux);
                                }
                                //vpgestion.MONTO_DOC = lt_VPGESTIONBANCOS[i].GetString("MONTO_DOC");
                                vpgestion.ZUONR          = lt_VPGESTIONBANCOS[i].GetString("ZUONR");
                                vpgestion.FECHA_VENC     = lt_VPGESTIONBANCOS[i].GetString("FECHA_VENC");
                                vpgestion.MONEDA         = lt_VPGESTIONBANCOS[i].GetString("MONEDA");
                                vpgestion.ID_BANCO       = lt_VPGESTIONBANCOS[i].GetString("ID_BANCO");
                                vpgestion.VIA_PAGO       = lt_VPGESTIONBANCOS[i].GetString("VIA_PAGO");
                                vpgestion.SOCIEDAD       = lt_VPGESTIONBANCOS[i].GetString("SOCIEDAD");
                                vpgestion.NUM_DEPOSITO   = lt_VPGESTIONBANCOS[i].GetString("NUM_DEPOSITO");
                                vpgestion.USUARIO        = lt_VPGESTIONBANCOS[i].GetString("USUARIO");
                                vpgestion.ID_DEPOSITO    = lt_VPGESTIONBANCOS[i].GetString("ID_DEPOSITO");
                                vpgestion.FEC_DEPOSITO   = lt_VPGESTIONBANCOS[i].GetString("FEC_DEPOSITO");
                                vpgestion.BANCO          = lt_VPGESTIONBANCOS[i].GetString("BANCO");
                                vpgestion.CTA_BANCO      = lt_VPGESTIONBANCOS[i].GetString("CTA_BANCO");
                                vpgestion.BELNR_DEP      = lt_VPGESTIONBANCOS[i].GetString("BELNR_DEP");
                                vpgestion.BELNR          = lt_VPGESTIONBANCOS[i].GetString("BELNR");
                                vpgestion.SOCIEDAD       = lt_VPGESTIONBANCOS[i].GetString("SOCIEDAD");
                                vpgestion.HKONT          = lt_VPGESTIONBANCOS[i].GetString("HKONT");
                                vpgestion.ID_COMPROBANTE = lt_VPGESTIONBANCOS[i].GetString("ID_COMPROBANTE");
                                vpgestion.ID_DETALLE     = lt_VPGESTIONBANCOS[i].GetString("ID_DETALLE");
                                vpgestiondepositos.Add(vpgestion);
                            }
                            catch (Exception ex)
                            {
                                Console.WriteLine(ex.Message + ex.StackTrace);
                                System.Windows.MessageBox.Show(ex.Message + ex.StackTrace);
                            }
                        }
                    }
                    else
                    {
                        System.Windows.Forms.MessageBox.Show("No existe(n) registro(s) de vias de pago");
                    }

                    lt_BANCODEST = BapiGetUser.GetTable("BCO_DESTINO");

                    if (lt_BANCODEST.Count > 0)
                    {
                        //LLenamos la tabla de salida lt_DatGen
                        for (int i = 0; i < lt_BANCODEST.RowCount; i++)
                        {
                            try
                            {
                                lt_BANCODEST.CurrentIndex = i;
                                banco_destino             = new BCO_DESTINO();
                                banco_destino.BUKRS       = lt_BANCODEST[i].GetString("BUKRS");
                                banco_destino.HBKID       = lt_BANCODEST[i].GetString("HBKID");
                                banco_destino.HKTID       = lt_BANCODEST[i].GetString("HKTID");
                                banco_destino.BANKN       = lt_BANCODEST[i].GetString("BANKN");
                                banco_destino.BANKL       = lt_BANCODEST[i].GetString("BANKL");
                                banco_destino.BANKA       = lt_BANCODEST[i].GetString("BANKA");
                                banco_destino.WAERS       = lt_BANCODEST[i].GetString("WAERS");
                                banco_destino.TEXT1       = lt_BANCODEST[i].GetString("TEXT1");

                                BancoDest.Add(banco_destino);
                            }
                            catch (Exception ex)
                            {
                                Console.WriteLine(ex.Message + ex.StackTrace);
                                System.Windows.MessageBox.Show(ex.Message + ex.StackTrace);
                            }
                        }
                    }
                    else
                    {
                        System.Windows.Forms.MessageBox.Show("No existe(n) registro(s) en banco destino");
                    }

                    lt_BANCODEPOSITOS = BapiGetUser.GetTable("BCO_DEPOSITOS");

                    if (lt_BANCODEPOSITOS.Count > 0)
                    {
                        //LLenamos la tabla de salida lt_DatGen
                        for (int i = 0; i < lt_BANCODEPOSITOS.RowCount; i++)
                        {
                            try
                            {
                                lt_BANCODEPOSITOS.CurrentIndex = i;
                                banco_depositos       = new BCO_DEPOSITOS();
                                banco_depositos.MANDT = lt_BANCODEPOSITOS[i].GetString("MANDT");
                                banco_depositos.BANKS = lt_BANCODEPOSITOS[i].GetString("BANKS");
                                banco_depositos.BUKRS = lt_BANCODEPOSITOS[i].GetString("BUKRS");
                                banco_depositos.WAERS = lt_BANCODEPOSITOS[i].GetString("WAERS");
                                banco_depositos.BANKL = lt_BANCODEPOSITOS[i].GetString("BANKL");
                                banco_depositos.HBKID = lt_BANCODEPOSITOS[i].GetString("HBKID");
                                banco_depositos.BANKN = lt_BANCODEPOSITOS[i].GetString("BANKN");
                                banco_depositos.BANKA = lt_BANCODEPOSITOS[i].GetString("BANKA");
                                banco_depositos.HKONT = lt_BANCODEPOSITOS[i].GetString("HKONT");

                                BancoDeposito.Add(banco_depositos);
                            }
                            catch (Exception ex)
                            {
                                Console.WriteLine(ex.Message + ex.StackTrace);
                                System.Windows.MessageBox.Show(ex.Message + ex.StackTrace);
                            }
                        }
                    }
                    else
                    {
                        System.Windows.Forms.MessageBox.Show("No existe(n) registro(s) en depósitos de banco");
                    }



                    lt_RETORNO = BapiGetUser.GetTable("RETORNO");
                    try
                    {
                        for (int i = 0; i < lt_RETORNO.Count(); i++)
                        {
                            lt_RETORNO.CurrentIndex = i;
                            retorno = new RETORNO();
                            if (lt_RETORNO.GetString("TYPE") == "S")
                            {
                                message    = message + " - " + lt_RETORNO.GetString("MESSAGE") + "-" + lt_RETORNO.GetString("MESSAGE_V1").Trim();
                                NumComprob = lt_RETORNO.GetString("MESSAGE_V4").Trim();;
                            }
                            if (lt_RETORNO.GetString("TYPE") == "E")
                            {
                                errormessage = errormessage + " - " + lt_RETORNO.GetString("MESSAGE");
                            }
                            retorno.TYPE       = lt_RETORNO.GetString("TYPE");
                            retorno.ID         = lt_RETORNO.GetString("ID");
                            retorno.NUMBER     = lt_RETORNO.GetString("NUMBER");
                            retorno.MESSAGE    = lt_RETORNO.GetString("MESSAGE");
                            retorno.LOG_NO     = lt_RETORNO.GetString("LOG_NO");
                            retorno.LOG_MSG_NO = lt_RETORNO.GetString("LOG_MSG_NO");
                            retorno.MESSAGE_V1 = lt_RETORNO.GetString("MESSAGE_V1");
                            retorno.MESSAGE_V2 = lt_RETORNO.GetString("MESSAGE_V2");
                            retorno.MESSAGE_V3 = lt_RETORNO.GetString("MESSAGE_V3");
                            if (lt_RETORNO.GetString("MESSAGE_V4") != "")
                            {
                                // comprobante = ls_RETORNO.GetString("MESSAGE_V4");
                            }
                            retorno.MESSAGE_V4 = lt_RETORNO.GetString("MESSAGE_V4");
                            retorno.PARAMETER  = lt_RETORNO.GetString("PARAMETER");
                            retorno.ROW        = lt_RETORNO.GetString("ROW");
                            retorno.FIELD      = lt_RETORNO.GetString("FIELD");
                            retorno.SYSTEM     = lt_RETORNO.GetString("SYSTEM");
                            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);
            }
        }
Ejemplo n.º 4
0
        public void anulacioncomprobantes(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_COMPROBANTE, string P_APROBADOR_ANULACION,
                                          string P_TXT_ANULACION, string P_USUARIO, string P_IDCAJA, string P_ACCION)
        {
            Retorno.Clear();
            errormessage = "";
            IRfcTable lt_retorno;

            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_ANULA_REC_CAJA");
                BapiGetUser.SetValue("ID_COMPROBANTE", P_ID_COMPROBANTE);
                BapiGetUser.SetValue("APROBADOR_ANULACION", P_APROBADOR_ANULACION);
                BapiGetUser.SetValue("TXT_ANULACION", P_TXT_ANULACION);
                BapiGetUser.SetValue("ID_CAJA", P_IDCAJA);
                BapiGetUser.SetValue("USUARIO", P_USUARIO);
                BapiGetUser.SetValue("ACCION", P_ACCION);



                BapiGetUser.Invoke(SapRfcDestination);

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


                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");
                        if (lt_retorno.GetString("TYPE") == "S")
                        {
                            Mensaje        = Mensaje + " - " + lt_retorno.GetString("MESSAGE") + " - " + lt_retorno.GetString("MESSAGE_V4");
                            NumComprobante = lt_retorno.GetString("MESSAGE_V4");
                        }
                        if (lt_retorno.GetString("TYPE") == "E")
                        {
                            errormessage = errormessage + " - " + 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);
                    }
                }
            }
            else
            {
                errormessage = retval;
            }
            GC.Collect();
        }
Ejemplo n.º 5
0
        public void docsreimpresion(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_COMPROBANTE, string P_RUT
                                    , string P_ID_APERTURA, string P_LAND, string P_IDCAJA, string P_BATCH)
        {
            Documentos.Clear();
            ViasPago.Clear();
            Retorno.Clear();
            errormessage = "";
            message      = "";
            IRfcTable lt_documentos;
            IRfcTable lt_viaspago;
            IRfcTable lt_retorno;

            //  PART_ABIERTAS  PART_ABIERTAS_resp;
            DOCUMENTOS DOCUMENTOS_resp;
            VIAS_PAGO2 VIASPAGO_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_REIMP");
                BapiGetUser.SetValue("ID_COMPROBANTE", P_COMPROBANTE);
                BapiGetUser.SetValue("RUT", P_RUT);
                BapiGetUser.SetValue("LAND", P_LAND);
                BapiGetUser.SetValue("ID_APERTURA", P_ID_APERTURA);
                BapiGetUser.SetValue("ID_CAJA", P_IDCAJA);
                BapiGetUser.SetValue("BATCH", P_BATCH);
                BapiGetUser.Invoke(SapRfcDestination);

                lt_documentos = BapiGetUser.GetTable("DOCUMENTOS");
                lt_viaspago   = BapiGetUser.GetTable("VIAS_PAGO");
                lt_retorno    = BapiGetUser.GetTable("RETORNO");

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

                            DOCUMENTOS_resp.MANDT            = lt_documentos[i].GetString("MANDT");
                            DOCUMENTOS_resp.LAND             = lt_documentos[i].GetString("LAND");
                            DOCUMENTOS_resp.ID_COMPROBANTE   = lt_documentos[i].GetString("ID_COMPROBANTE");
                            DOCUMENTOS_resp.POSICION         = lt_documentos[i].GetString("POSICION");
                            DOCUMENTOS_resp.CLIENTE          = lt_documentos[i].GetString("CLIENTE");
                            DOCUMENTOS_resp.TIPO_DOCUMENTO   = lt_documentos[i].GetString("TIPO_DOCUMENTO");
                            DOCUMENTOS_resp.SOCIEDAD         = lt_documentos[i].GetString("SOCIEDAD");
                            DOCUMENTOS_resp.NRO_DOCUMENTO    = lt_documentos[i].GetString("NRO_DOCUMENTO");
                            DOCUMENTOS_resp.NRO_REFERENCIA   = lt_documentos[i].GetString("NRO_REFERENCIA");
                            DOCUMENTOS_resp.CAJERO_RESP      = lt_documentos[i].GetString("CAJERO_RESP");
                            DOCUMENTOS_resp.CAJERO_GEN       = lt_documentos[i].GetString("CAJERO_GEN");
                            DOCUMENTOS_resp.ID_CAJA          = lt_documentos[i].GetString("ID_CAJA");
                            DOCUMENTOS_resp.FECHA_COMP       = lt_documentos[i].GetString("FECHA_COMP");
                            DOCUMENTOS_resp.HORA             = lt_documentos[i].GetString("HORA");
                            DOCUMENTOS_resp.NRO_COMPENSACION = lt_documentos[i].GetString("NRO_COMPENSACION");
                            DOCUMENTOS_resp.TEXTO_CABECERA   = lt_documentos[i].GetString("TEXTO_CABECERA");
                            DOCUMENTOS_resp.NULO             = lt_documentos[i].GetString("NULO");
                            DOCUMENTOS_resp.USR_ANULADOR     = lt_documentos[i].GetString("USR_ANULADOR");
                            DOCUMENTOS_resp.NRO_ANULACION    = lt_documentos[i].GetString("NRO_ANULACION");
                            DOCUMENTOS_resp.APROBADOR_ANULA  = lt_documentos[i].GetString("APROBADOR_ANULA");
                            DOCUMENTOS_resp.TXT_ANULACION    = lt_documentos[i].GetString("TXT_ANULACION");
                            DOCUMENTOS_resp.EXCEPCION        = lt_documentos[i].GetString("EXCEPCION");
                            DOCUMENTOS_resp.FECHA_DOC        = lt_documentos[i].GetString("FECHA_DOC");
                            DOCUMENTOS_resp.FECHA_VENC_DOC   = lt_documentos[i].GetString("FECHA_VENC_DOC");
                            DOCUMENTOS_resp.NUM_CUOTA        = lt_documentos[i].GetString("NUM_CUOTA");
                            if (lt_documentos[i].GetString("MONEDA") == "CLP")
                            {
                                string Valor = lt_documentos[i].GetString("MONTO_DOC").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);
                                DOCUMENTOS_resp.MONTO_DOC = Cualquiernombre;
                            }
                            else
                            {
                                string  moneda   = Convert.ToString(lt_documentos[i].GetString("MONTO_DOC"));
                                decimal ValorAux = Convert.ToDecimal(moneda);
                                DOCUMENTOS_resp.MONTO_DOC = string.Format("{0:0,0.##}", ValorAux);
                            }
                            //DOCUMENTOS_resp.MONTO_DOC = lt_documentos[i].GetString("MONTO_DOC");
                            if (lt_documentos[i].GetString("MONEDA") == "CLP")
                            {
                                string Valor = lt_documentos[i].GetString("MONTO_DIFERENCIA").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);
                                DOCUMENTOS_resp.MONTO_DIFERENCIA = Cualquiernombre;
                            }
                            else
                            {
                                string  moneda   = Convert.ToString(lt_documentos[i].GetString("MONTO_DIFERENCIA"));
                                decimal ValorAux = Convert.ToDecimal(moneda);
                                DOCUMENTOS_resp.MONTO_DIFERENCIA = string.Format("{0:0,0.##}", ValorAux);
                            }
                            //DOCUMENTOS_resp.MONTO_DIFERENCIA = lt_documentos[i].GetString("MONTO_DIFERENCIA");
                            DOCUMENTOS_resp.TEXTO_EXCEPCION = lt_documentos[i].GetString("TEXTO_EXCEPCION");
                            DOCUMENTOS_resp.PARCIAL         = lt_documentos[i].GetString("PARCIAL");
                            DOCUMENTOS_resp.TIME            = lt_documentos[i].GetString("TIME");
                            DOCUMENTOS_resp.APROBADOR_EX    = lt_documentos[i].GetString("APROBADOR_EX");
                            DOCUMENTOS_resp.MONEDA          = lt_documentos[i].GetString("MONEDA");
                            DOCUMENTOS_resp.CLASE_CUENTA    = lt_documentos[i].GetString("CLASE_CUENTA");
                            DOCUMENTOS_resp.CLASE_DOC       = lt_documentos[i].GetString("CLASE_DOC");
                            DOCUMENTOS_resp.NUM_CANCELACION = lt_documentos[i].GetString("NUM_CANCELACION");
                            DOCUMENTOS_resp.CME             = lt_documentos[i].GetString("CME");
                            DOCUMENTOS_resp.NOTA_VENTA      = lt_documentos[i].GetString("NOTA_VENTA");
                            DOCUMENTOS_resp.CEBE            = lt_documentos[i].GetString("CEBE");
                            DOCUMENTOS_resp.ACC             = lt_documentos[i].GetString("ACC");
                            Documentos.Add(DOCUMENTOS_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_viaspago.Count > 0)
                {
                    //LLenamos la tabla de salida lt_DatGen
                    for (int i = 0; i < lt_viaspago.RowCount; i++)
                    {
                        try
                        {
                            lt_viaspago.CurrentIndex = i;
                            VIASPAGO_resp            = new VIAS_PAGO2();

                            VIASPAGO_resp.MANDT          = lt_viaspago[i].GetString("MANDT");
                            VIASPAGO_resp.LAND           = lt_viaspago[i].GetString("LAND");
                            VIASPAGO_resp.ID_COMPROBANTE = lt_viaspago[i].GetString("ID_COMPROBANTE");
                            VIASPAGO_resp.ID_DETALLE     = lt_viaspago[i].GetString("ID_DETALLE");
                            VIASPAGO_resp.VIA_PAGO       = lt_viaspago[i].GetString("VIA_PAGO");
                            if (lt_viaspago[i].GetString("MONEDA") == "CLP")
                            {
                                string Valor = lt_viaspago[i].GetString("MONTO").Trim();
                                if (Valor.Contains("-"))
                                {
                                    Valor = "-" + Valor.Replace("-", "");
                                }
                                Valor = Valor.Replace(".", "");
                                Valor = Valor.Replace(",", "");
                                //decimal ValorAux = Convert.ToDecimal(Valor);
                                decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                VIASPAGO_resp.MONTO = Cualquiernombre;
                            }
                            else
                            {
                                string  moneda   = Convert.ToString(lt_viaspago[i].GetString("MONTO"));
                                decimal ValorAux = Convert.ToDecimal(moneda);
                                VIASPAGO_resp.MONTO = string.Format("{0:0,0.##}", ValorAux);
                            }
                            //VIASPAGO_resp.MONTO =  lt_viaspago[i].GetString("MONTO");
                            VIASPAGO_resp.MONEDA           = lt_viaspago[i].GetString("MONEDA");
                            VIASPAGO_resp.BANCO            = lt_viaspago[i].GetString("BANCO");
                            VIASPAGO_resp.EMISOR           = lt_viaspago[i].GetString("EMISOR");
                            VIASPAGO_resp.NUM_CHEQUE       = lt_viaspago[i].GetString("NUM_CHEQUE");
                            VIASPAGO_resp.COD_AUTORIZACION = lt_viaspago[i].GetString("COD_AUTORIZACION");
                            VIASPAGO_resp.NUM_CUOTAS       = lt_viaspago[i].GetString("NUM_CUOTAS");
                            VIASPAGO_resp.FECHA_VENC       = lt_viaspago[i].GetString("FECHA_VENC");
                            VIASPAGO_resp.TEXTO_POSICION   = lt_viaspago[i].GetString("TEXTO_POSICION");
                            VIASPAGO_resp.ANEXO            = lt_viaspago[i].GetString("ANEXO");
                            VIASPAGO_resp.SUCURSAL         = lt_viaspago[i].GetString("SUCURSAL");
                            VIASPAGO_resp.NUM_CUENTA       = lt_viaspago[i].GetString("NUM_CUENTA");
                            VIASPAGO_resp.NUM_TARJETA      = lt_viaspago[i].GetString("NUM_TARJETA");
                            VIASPAGO_resp.NUM_VALE_VISTA   = lt_viaspago[i].GetString("NUM_VALE_VISTA");
                            VIASPAGO_resp.PATENTE          = lt_viaspago[i].GetString("PATENTE");
                            VIASPAGO_resp.NUM_VENTA        = lt_viaspago[i].GetString("NUM_VENTA");
                            VIASPAGO_resp.PAGARE           = lt_viaspago[i].GetString("PAGARE");
                            VIASPAGO_resp.FECHA_EMISION    = lt_viaspago[i].GetString("FECHA_EMISION");
                            VIASPAGO_resp.NOMBRE_GIRADOR   = lt_viaspago[i].GetString("NOMBRE_GIRADOR");
                            VIASPAGO_resp.CARTA_CURSE      = lt_viaspago[i].GetString("CARTA_CURSE");
                            VIASPAGO_resp.NUM_TRANSFER     = lt_viaspago[i].GetString("NUM_TRANSFER");
                            VIASPAGO_resp.NUM_DEPOSITO     = lt_viaspago[i].GetString("NUM_DEPOSITO");
                            VIASPAGO_resp.CTA_BANCO        = lt_viaspago[i].GetString("CTA_BANCO");
                            VIASPAGO_resp.IFINAN           = lt_viaspago[i].GetString("IFINAN");
                            VIASPAGO_resp.CORRE            = lt_viaspago[i].GetString("CORRE");
                            VIASPAGO_resp.ZUONR            = lt_viaspago[i].GetString("ZUONR");
                            VIASPAGO_resp.HKONT            = lt_viaspago[i].GetString("HKONT");
                            VIASPAGO_resp.PRCTR            = lt_viaspago[i].GetString("PRCTR");
                            VIASPAGO_resp.ZNOP             = lt_viaspago[i].GetString("ZNOP");
                            ViasPago.Add(VIASPAGO_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");
                        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)");
                //}


                GC.Collect();
            }
            else
            {
                errormessage = retval;
            }


            GC.Collect();
        }
Ejemplo n.º 6
0
        public void checkdocsanulacion(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_USUARIO, string P_ID_CAJA, string P_LAND, string P_RUT
                                       , string P_ID_COMPROBANTE, string P_SOCIEDAD, string P_TP_DOC, List <CAB_COMP> P_CAB_COM)
        {
            CabeceraDocs.Clear();
            Retorno.Clear();
            IRfcTable lt_h_documentos;
            //IRfcTable lt_d_documentos;
            IRfcStructure lt_retorno;

            //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_CHECK_JEFE_CAJA");
                BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA);
                BapiGetUser.SetValue("USUARIO", P_USUARIO);
                IRfcTable GralDat = BapiGetUser.GetTable("CAB_COMP");

                try
                {
                    for (var i = 0; i < P_CAB_COM.Count; i++)
                    {
                        GralDat.Append();
                        GralDat.SetValue("LAND", P_CAB_COM[i].LAND);
                        GralDat.SetValue("ID_CAJA", P_CAB_COM[i].ID_CAJA);
                        GralDat.SetValue("ID_COMPROBANTE", P_CAB_COM[i].ID_COMPROBANTE);
                        GralDat.SetValue("TIPO_DOCUMENTO", P_CAB_COM[i].TIPO_DOCUMENTO);
                        GralDat.SetValue("DESCRIPCION", P_CAB_COM[i].DESCRIPCION);
                        GralDat.SetValue("NRO_REFERENCIA", P_CAB_COM[i].NRO_REFERENCIA);
                        GralDat.SetValue("FECHA_COMP", P_CAB_COM[i].FECHA_COMP);
                        GralDat.SetValue("FECHA_VENC_DOC", P_CAB_COM[i].FECHA_VENC_DOC);
                        GralDat.SetValue("MONTO_DOC", P_CAB_COM[i].MONTO_DOC);
                        GralDat.SetValue("TEXTO_EXCEPCION", P_CAB_COM[i].TEXTO_EXCEPCION);
                        GralDat.SetValue("CLIENTE", Convert.ToDateTime(P_CAB_COM[i].CLIENTE));
                        GralDat.SetValue("MONEDA", P_CAB_COM[i].MONEDA);
                        GralDat.SetValue("CLASE_DOC", P_CAB_COM[i].CLASE_DOC);
                        GralDat.SetValue("TXT_CLASE_DOC", P_CAB_COM[i].TXT_CLASE_DOC);
                        GralDat.SetValue("NUM_CANCELACION", P_CAB_COM[i].NUM_CANCELACION);
                        GralDat.SetValue("AUT_JEF", P_CAB_COM[i].AUT_JEF);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message + ex.StackTrace);
                }
                BapiGetUser.SetValue("CAB_COMP", GralDat);

                BapiGetUser.Invoke(SapRfcDestination);

                valido          = BapiGetUser.GetString("VALIDO");
                lt_h_documentos = BapiGetUser.GetTable("CAB_COMP");
                lt_retorno      = BapiGetUser.GetStructure("ESTADO");

                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            = lt_h_documentos[i].GetString("LAND");
                            DOCS_CABECERA_resp.ID_CAJA         = lt_h_documentos[i].GetString("ID_CAJA");
                            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");
                            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");
                            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)");
                }
                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");
                        if (i == 0)
                        {
                            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
            {
                errormessage = retval;
            }
            GC.Collect();
        }
Ejemplo n.º 7
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);
            }
        }
Ejemplo n.º 8
0
        public void precierrecaja(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_USUARIO
                                  , string P_PAIS, string P_ID_APERTURA, string P_ID_CIERRE, string P_SOCIEDAD, string P_ID_REPORT, string P_DATUMDESDE, string P_DATUMHASTA)
        {
            try
            {
                RETORNO      retorno;
                CAB_ARQUEO   cabarqueo;
                RESUMEN_VP   resumenvp;
                DET_ARQUEO   detarqueo;
                DETALLE_REND detallerend;
                T_Retorno.Clear();
                det_arqueo.Clear();
                detalle_rend.Clear();
                cab_arqueo.Clear();
                resumen_viapago.Clear();
                errormessage     = "";
                message          = "";
                diferencia       = "";
                id_arqueo        = "";
                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;
                id_arqueo        = "";
                idcajaout        = "";
                cajerorespout    = "";
                sucursal         = "";
                nomcaja          = "";
                sociedadout      = "";
                landout          = "";
                IRfcStructure ls_RETORNO;
                IRfcTable     lt_DETALLE_REND;
                IRfcTable     lt_RESUMEN_VP;
                IRfcTable     lt_CAB_ARQUEO;
                IRfcTable     lt_DET_ARQUEO;


                //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("LAND", P_PAIS);
                    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("ID_REPORT", P_ID_REPORT);
                    BapiGetUser.SetValue("DATE_ARQ_FROM", Convert.ToDateTime(P_DATUMDESDE));
                    BapiGetUser.SetValue("DATE_ARQ_TO", Convert.ToDateTime(P_DATUMHASTA));



                    BapiGetUser.Invoke(SapRfcDestination);

                    idcajaout     = BapiGetUser.GetString("ID_CAJA_OUT");
                    cajerorespout = BapiGetUser.GetString("CAJERO_RESP_OUT");
                    sucursal      = BapiGetUser.GetString("SUCURSAL");
                    nomcaja       = BapiGetUser.GetString("NOM_CAJA");
                    sociedadout   = BapiGetUser.GetString("SOCIEDAD_OUT");
                    landout       = BapiGetUser.GetString("LAND_OUT");


                    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_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");
                            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_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;
                            detarqueo                 = new DET_ARQUEO();
                            detarqueo.MANDT           = lt_DET_ARQUEO.GetString("MANDT");
                            detarqueo.LAND            = lt_DET_ARQUEO.GetString("LAND");
                            detarqueo.ID_ARQUEO       = lt_DET_ARQUEO.GetString("ID_ARQUEO");
                            detarqueo.ID_DENOMINACION = lt_DET_ARQUEO.GetString("ID_DENOMINACION");
                            detarqueo.CANTIDAD        = lt_DET_ARQUEO.GetString("CANTIDAD");
                            detarqueo.MONTO_TOTAL     = lt_DET_ARQUEO.GetString("MONTO_TOTAL");
                            det_arqueo.Add(detarqueo);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, ex.StackTrace);
                        MessageBox.Show(ex.Message + ex.StackTrace);
                    }

                    //lt_INFO_SOC = BapiGetUser.GetTable("INFO_SOC");
                    //try {

                    //    for (int i = 0; i < lt_INFO_SOC.Count(); i++)
                    //    {
                    //        lt_INFO_SOC.CurrentIndex = i;
                    //        infosociedad = new INFO_SOC2();
                    //        infosociedad.BUKRS = lt_INFO_SOC.GetString("BUKRS");
                    //        infosociedad.BUTXT = lt_INFO_SOC.GetString("BUTXT");
                    //        infosociedad.STCD1 = lt_INFO_SOC.GetString("STCD1");
                    //        info_soc(infosociedad);
                    //    }
                    //}
                    //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");
                            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);
            }
        }