예제 #1
0
        /// <summary>
        /// 设置控制板状态
        /// </summary>
        /// <param name="addr"></param>
        /// <param name="status"></param>
        /// <param name="er"></param>
        /// <returns></returns>
        public bool SetStatus(int addr, ESTATUS status, out string er)
        {
            er = string.Empty;

            try
            {
                if (!_Mon.ContainsKey(addr))
                {
                    er = "DD地址[" + addr.ToString("D2") + "不存在";
                    return(false);
                }

                _Mon[addr].Base.status = status;

                return(true);
            }
            catch (Exception ex)
            {
                er = ex.ToString();
                return(false);
            }
            finally
            {
            }
        }
        public static Estatus ToModel(this ESTATUS Table)
        {
            if (Table == null)
            {
                return(null);
            }

            return(new Estatus()
            {
                Id = Table.Id,
                Descripcion = Table.Descripcion
            });
        }
예제 #3
0
        /// <summary>
        /// Converts this instance of <see cref="ESTATUS"/> to an instance of <see cref="Estatus"/>.
        /// </summary>
        /// <param name="entity"><see cref="ESTATUS"/> to convert.</param>
        public static Estatus ToModel(this ESTATUS entity)
        {
            if (entity == null)
            {
                return(null);
            }

            var dto = new Estatus();

            dto.Id          = entity.Id;
            dto.Descripcion = entity.Descripcion;

            entity.OnDTO(dto);

            return(dto);
        }
예제 #4
0
        /// <summary>
        /// Converts this instance of <see cref="Estatus"/> to an instance of <see cref="ESTATUS"/>.
        /// </summary>
        /// <param name="dto"><see cref="Estatus"/> to convert.</param>
        public static ESTATUS ToTable(this Estatus dto)
        {
            if (dto == null)
            {
                return(null);
            }

            var entity = new ESTATUS();

            entity.Id          = dto.Id;
            entity.Descripcion = dto.Descripcion;

            dto.OnEntity(entity);

            return(entity);
        }
예제 #5
0
        /// <summary>
        /// 设置状态
        /// </summary>
        /// <param name="addr"></param>
        /// <param name="status"></param>
        /// <param name="er"></param>
        /// <returns></returns>
        public bool Request_WriteMonStatus(int addr, ESTATUS status, out string er)
        {
            er = string.Empty;

            try
            {
                if (!_Mon.ContainsKey(addr))
                {
                    er = "[" + addr.ToString("D2") + "]" + CLanguage.Lan("不存在");
                    return(false);
                }

                _Mon[addr].Base.status = status;

                return(true);
            }
            catch (Exception ex)
            {
                er = ex.ToString();
                return(false);
            }
        }
예제 #6
0
        public void arqueocaja(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_MONEDALOCAL, string P_ID_APERTURA, string P_ID_CIERRE, string P_IND_ARQUEO, string P_ID_ARQUEO_IN
                               , string P_MTO_APERTURA, List <DETALLE_ARQUEO> P_TOTALEFECTIVO)
        {
            try
            {
                ESTATUS        retorno;
                DETALLE_VP     detallevp;
                RESUMEN_VP     resumenvp;
                DETALLE_ARQUEO detallerend;
                T_Retorno.Clear();
                detalle_rend.Clear();
                detalle_viapago.Clear();
                resumen_viapago.Clear();
                errormessage = "";
                message      = "";
                diferencia   = "";
                id_arqueo    = "";

                IRfcTable ls_RETORNO;
                IRfcTable lt_DETALLE_VP;
                IRfcTable lt_RESUMEN_VP;
                IRfcTable lt_DETALLE_REND;

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

                    BapiGetUser.SetValue("LAND", P_PAIS);
                    BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA);
                    BapiGetUser.SetValue("USUARIO", P_USUARIO);
                    BapiGetUser.SetValue("ID_APERTURA", P_ID_APERTURA);   // Buscar en log de apertura
                    BapiGetUser.SetValue("MONEDA_LOCAL", P_MONEDALOCAL);  // Moneda
                    BapiGetUser.SetValue("ID_ARQUEO_IN", P_ID_ARQUEO_IN); // ""
                    BapiGetUser.SetValue("ID_CIERRE", P_ID_CIERRE);       // ""
                    BapiGetUser.SetValue("IND_ARQUEO", P_IND_ARQUEO);     //"A" Arqueo
                    BapiGetUser.SetValue("MTO_APERTURA", P_MTO_APERTURA); // Buscar en log de apertura

                    IRfcTable GralDat2 = BapiGetUser.GetTable("DETALLE_ARQUEO");
                    try
                    {
                        for (var i = 0; i < P_TOTALEFECTIVO.Count; i++)
                        {
                            GralDat2.Append();
                            GralDat2.SetValue("LAND", P_TOTALEFECTIVO[i].LAND);
                            GralDat2.SetValue("ID_CAJA", P_TOTALEFECTIVO[i].ID_CAJA);
                            GralDat2.SetValue("USUARIO", P_TOTALEFECTIVO[i].USUARIO);
                            GralDat2.SetValue("SOCIEDAD", P_TOTALEFECTIVO[i].SOCIEDAD);
                            GralDat2.SetValue("FECHA_REND", Convert.ToDateTime(P_TOTALEFECTIVO[i].FECHA_REND));
                            GralDat2.SetValue("HORA_REND", Convert.ToDateTime(P_TOTALEFECTIVO[i].HORA_REND));
                            GralDat2.SetValue("MONEDA", P_TOTALEFECTIVO[i].MONEDA);
                            GralDat2.SetValue("VIA_PAGO", P_TOTALEFECTIVO[i].VIA_PAGO);
                            GralDat2.SetValue("TIPO_MONEDA", P_TOTALEFECTIVO[i].TIPO_MONEDA);
                            GralDat2.SetValue("CANTIDAD_MON", P_TOTALEFECTIVO[i].CANTIDAD_MON);
                            GralDat2.SetValue("SUMA_MON_BILL", P_TOTALEFECTIVO[i].SUMA_MON_BILL);
                            GralDat2.SetValue("CANTIDAD_DOC", P_TOTALEFECTIVO[i].CANTIDAD_DOC);
                            GralDat2.SetValue("SUMA_DOCS", P_TOTALEFECTIVO[i].SUMA_DOCS);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message + ex.StackTrace);
                        //System.Windows.MessageBox.Show(ex.Message + ex.StackTrace);
                    }
                    BapiGetUser.SetValue("DETALLE_ARQUEO", GralDat2);


                    BapiGetUser.Invoke(SapRfcDestination);

                    diferencia = BapiGetUser.GetString("DIFERENCIA");
                    if (diferencia.Contains(","))
                    {
                        diferencia = diferencia.Replace(",", "");
                        diferencia = diferencia.Substring(0, diferencia.Length - 2);
                    }
                    id_arqueo = BapiGetUser.GetString("ID_ARQUEO");


                    lt_DETALLE_VP = BapiGetUser.GetTable("DETALLE_VP"); //

                    try
                    {
                        for (int i = 0; i < lt_DETALLE_VP.Count(); i++)
                        {
                            lt_DETALLE_VP.CurrentIndex = i;
                            detallevp                  = new DETALLE_VP();
                            detallevp.SOCIEDAD         = lt_DETALLE_VP.GetString("SOCIEDAD");
                            detallevp.SOCIEDAD_TXT     = lt_DETALLE_VP.GetString("SOCIEDAD_TXT");
                            detallevp.ID_COMPROBANTE   = lt_DETALLE_VP.GetString("ID_COMPROBANTE");
                            detallevp.ID_DETALLE       = lt_DETALLE_VP.GetString("ID_DETALLE");
                            detallevp.VIA_PAGO         = lt_DETALLE_VP.GetString("VIA_PAGO");
                            detallevp.MONTO            = lt_DETALLE_VP.GetString("MONTO");
                            detallevp.MONEDA           = lt_DETALLE_VP.GetString("MONEDA");
                            detallevp.BANCO            = lt_DETALLE_VP.GetString("BANCO");
                            detallevp.BANCO_TXT        = lt_DETALLE_VP.GetString("BANCO_TXT");
                            detallevp.EMISOR           = lt_DETALLE_VP.GetString("EMISOR");
                            detallevp.NUM_CHEQUE       = lt_DETALLE_VP.GetString("NUM_CHEQUE");
                            detallevp.COD_AUTORIZACION = lt_DETALLE_VP.GetString("COD_AUTORIZACION");
                            detallevp.CLIENTE          = lt_DETALLE_VP.GetString("CLIENTE");
                            detallevp.NRO_DOCUMENTO    = lt_DETALLE_VP.GetString("NRO_DOCUMENTO");
                            detallevp.NUM_CUOTAS       = lt_DETALLE_VP.GetString("NUM_CUOTAS");
                            detallevp.FECHA_VENC       = lt_DETALLE_VP.GetString("FECHA_VENC");
                            detallevp.FECHA_EMISION    = lt_DETALLE_VP.GetString("FECHA_EMISION");
                            detallevp.NOTA_VENTA       = lt_DETALLE_VP.GetString("NOTA_VENTA");
                            detallevp.TEXTO_POSICION   = lt_DETALLE_VP.GetString("TEXTO_POSICION");
                            detallevp.NULO             = lt_DETALLE_VP.GetString("NULO");
                            detallevp.NRO_REFERENCIA   = lt_DETALLE_VP.GetString("NRO_REFERENCIA");
                            detallevp.TIPO_DOCUMENTO   = lt_DETALLE_VP.GetString("TIPO_DOCUMENTO");
                            detalle_viapago.Add(detallevp);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, ex.StackTrace);
                        MessageBox.Show(ex.Message + ex.StackTrace);
                    }

                    lt_RESUMEN_VP = BapiGetUser.GetTable("RESUMEN_VP"); //Resumen de Vias de Pago
                    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_DETALLE_REND = BapiGetUser.GetTable("DETALLE_ARQUEO"); //Detalle de efectivo
                    try
                    {
                        for (int i = 0; i < lt_DETALLE_REND.Count(); i++)
                        {
                            lt_DETALLE_REND.CurrentIndex = i;
                            detallerend               = new DETALLE_ARQUEO();
                            detallerend.LAND          = lt_DETALLE_REND.GetString("LAND");
                            detallerend.ID_CAJA       = lt_DETALLE_REND.GetString("ID_CAJA");
                            detallerend.USUARIO       = lt_DETALLE_REND.GetString("USUARIO");
                            detallerend.SOCIEDAD      = lt_DETALLE_REND.GetString("SOCIEDAD");
                            detallerend.FECHA_REND    = lt_DETALLE_REND.GetString("FECHA_REND");
                            detallerend.HORA_REND     = lt_DETALLE_REND.GetString("HORA_REND");
                            detallerend.MONEDA        = lt_DETALLE_REND.GetString("MONEDA");
                            detallerend.VIA_PAGO      = lt_DETALLE_REND.GetString("VIA_PAGO");      //Efectivo
                            detallerend.TIPO_MONEDA   = lt_DETALLE_REND.GetString("TIPO_MONEDA");   //Denominacion
                            detallerend.CANTIDAD_MON  = lt_DETALLE_REND.GetString("CANTIDAD_MON");  //Cuantos??
                            detallerend.SUMA_MON_BILL = lt_DETALLE_REND.GetString("SUMA_MON_BILL"); //Cantidd*denominacion
                            detallerend.CANTIDAD_DOC  = lt_DETALLE_REND.GetString("CANTIDAD_DOC");  //""
                            detallerend.SUMA_DOCS     = lt_DETALLE_REND.GetString("SUMA_DOCS");     //""
                            detalle_rend.Add(detallerend);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, ex.StackTrace);
                        MessageBox.Show(ex.Message + ex.StackTrace);
                    }

                    ls_RETORNO = BapiGetUser.GetTable("RETORNO");
                    try
                    {
                        for (int i = 0; i < ls_RETORNO.Count(); i++)
                        {
                            ls_RETORNO.CurrentIndex = i;
                            retorno = new ESTATUS();
                            if (ls_RETORNO.GetString("TYPE") == "S")
                            {
                                message = message + " - " + ls_RETORNO.GetString("MESSAGE");
                                if (id_arqueo == "")
                                {
                                    id_arqueo = ls_RETORNO.GetString("MESSAGE_V1");
                                }
                            }
                            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") != "")
                            {
                            }
                            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);
            }
        }
예제 #7
0
        public void cierrecajadefinitivo(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_MONTO_CIERRE
                                         , string P_MONTO_DIF, string P_COMENTARIO_DIF, string P_COMENTARIO_CIERRE, string P_TOTAL_APERTURA, string P_IND_CIERRE, string P_ID_ARQUEO_IN)
        {
            try
            {
                ESTATUS retorno;
                //CAB_ARQUEO cabarqueo;
                RESUMEN_VP     resumenvp;
                DETALLE_ARQUEO detarqueo;
                DETALLE_REND   detallerend;
                DETALLE_VP     detallevp;
                DET_EFECTIVO   detefectivo;
                T_Retorno.Clear();
                det_arqueo.Clear();
                detalle_rend.Clear();
                det_efectivo.Clear();
                //cab_arqueo.Clear();
                resumen_viapago.Clear();
                detalle_vp.Clear();
                errormessage = "";
                message      = "";
                diasatraso   = "";
                numerocierre = "";

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

                IRfcTable ls_RETORNO;
                IRfcTable lt_DETALLE_REND;
                IRfcTable lt_RESUMEN_VP;
                IRfcTable lt_DET_EFECTIVO;
                IRfcTable lt_DET_ARQUEO;
                IRfcTable lt_DETALLE_VP;

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

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

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

                    BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA);
                    BapiGetUser.SetValue("USUARIO", P_USUARIO);
                    BapiGetUser.SetValue("LAND", P_PAIS);
                    if (P_MONTO_CIERRE == "")
                    {
                        P_MONTO_CIERRE = "0";
                    }
                    BapiGetUser.SetValue("MONTO_CIERRE", P_MONTO_CIERRE); //Total caja
                    if (P_MONTO_DIF == "")
                    {
                        P_MONTO_DIF = "0";
                    }
                    BapiGetUser.SetValue("MONTO_DIF", P_MONTO_DIF);                 //Diferencia
                    BapiGetUser.SetValue("COMENTARIO_DIF", P_COMENTARIO_DIF);       //text
                    BapiGetUser.SetValue("COMENTARIO_CIERRE", P_COMENTARIO_CIERRE); //text
                    BapiGetUser.SetValue("TOTAL_APERTURA", P_TOTAL_APERTURA);       //log apertura
                    BapiGetUser.SetValue("IND_CIERRE", P_IND_CIERRE);               //"C"
                    BapiGetUser.SetValue("ID_ARQUEO_IN", P_ID_ARQUEO_IN);           //buscar numero de arqueo
                    BapiGetUser.SetValue("ID_APERTURA", P_ID_APERTURA);             //log de apertura



                    BapiGetUser.Invoke(SapRfcDestination);

                    diasatraso   = BapiGetUser.GetString("DIAS_ATRASO");
                    numerocierre = BapiGetUser.GetString("NUM_CIERRE");


                    lt_DETALLE_VP = BapiGetUser.GetTable("DETALLE_VP");

                    try
                    {
                        for (int i = 0; i < lt_DETALLE_VP.Count(); i++)
                        {
                            lt_DETALLE_VP.CurrentIndex = i;
                            detallevp                  = new DETALLE_VP();
                            detallevp.SOCIEDAD         = lt_DETALLE_VP.GetString("SOCIEDAD");
                            detallevp.SOCIEDAD_TXT     = lt_DETALLE_VP.GetString("SOCIEDAD_TXT");
                            detallevp.ID_COMPROBANTE   = lt_DETALLE_VP.GetString("ID_COMPROBANTE");
                            detallevp.ID_DETALLE       = lt_DETALLE_VP.GetString("ID_DETALLE");
                            detallevp.VIA_PAGO         = lt_DETALLE_VP.GetString("VIA_PAGO");
                            detallevp.MONTO            = lt_DETALLE_VP.GetString("MONTO");
                            detallevp.MONEDA           = lt_DETALLE_VP.GetString("MONEDA");
                            detallevp.BANCO            = lt_DETALLE_VP.GetString("BANCO");
                            detallevp.BANCO_TXT        = lt_DETALLE_VP.GetString("BANCO_TXT");
                            detallevp.EMISOR           = lt_DETALLE_VP.GetString("EMISOR");
                            detallevp.NUM_CHEQUE       = lt_DETALLE_VP.GetString("NUM_CHEQUE");
                            detallevp.COD_AUTORIZACION = lt_DETALLE_VP.GetString("COD_AUTORIZACION");
                            detallevp.CLIENTE          = lt_DETALLE_VP.GetString("CLIENTE");
                            detallevp.NRO_DOCUMENTO    = lt_DETALLE_VP.GetString("NRO_DOCUMENTO");
                            detallevp.NUM_CUOTAS       = lt_DETALLE_VP.GetString("NUM_CUOTAS");
                            detallevp.FECHA_VENC       = lt_DETALLE_VP.GetString("FECHA_VENC");
                            detallevp.FECHA_EMISION    = lt_DETALLE_VP.GetString("FECHA_EMISION");
                            detallevp.NOTA_VENTA       = lt_DETALLE_VP.GetString("NOTA_VENTA");
                            detallevp.TEXTO_POSICION   = lt_DETALLE_VP.GetString("TEXTO_POSICION");
                            detallevp.NULO             = lt_DETALLE_VP.GetString("NULO");
                            detallevp.NRO_REFERENCIA   = lt_DETALLE_VP.GetString("NRO_REFERENCIA");
                            detallevp.TIPO_DOCUMENTO   = lt_DETALLE_VP.GetString("TIPO_DOCUMENTO");
                            detalle_vp.Add(detallevp);
                        }
                    }
                    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_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("DET_EFECTIVO");
                    //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_DET_ARQUEO = BapiGetUser.GetTable("DETALLE_ARQUEO");
                    try
                    {
                        for (int i = 0; i < lt_DETALLE_REND.Count(); i++)
                        {
                            lt_DET_ARQUEO.CurrentIndex = i;
                            detarqueo               = new DETALLE_ARQUEO();
                            detarqueo.LAND          = lt_DET_ARQUEO.GetString("LAND");
                            detarqueo.ID_CAJA       = lt_DET_ARQUEO.GetString("ID_CAJA");
                            detarqueo.USUARIO       = lt_DET_ARQUEO.GetString("USUARIO");
                            detarqueo.SOCIEDAD      = lt_DET_ARQUEO.GetString("SOCIEDAD");
                            detarqueo.HORA_REND     = lt_DET_ARQUEO.GetString("HORA_REND");
                            detarqueo.FECHA_REND    = lt_DET_ARQUEO.GetString("FECHA_REND");
                            detarqueo.MONEDA        = lt_DET_ARQUEO.GetString("MONEDA");
                            detarqueo.VIA_PAGO      = lt_DET_ARQUEO.GetString("VIA_PAGO");
                            detarqueo.TIPO_MONEDA   = lt_DET_ARQUEO.GetString("TIPO_MONEDA");
                            detarqueo.CANTIDAD_MON  = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                            detarqueo.SUMA_MON_BILL = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            detarqueo.CANTIDAD_DOC  = lt_DET_ARQUEO.GetString("CANTIDAD_DOC");
                            detarqueo.SUMA_DOCS     = lt_DET_ARQUEO.GetString("MONTO_DSUMA_DOCSEP");
                            det_arqueo.Add(detarqueo);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, ex.StackTrace);
                        MessageBox.Show(ex.Message + ex.StackTrace);
                    }

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


                    ls_RETORNO = BapiGetUser.GetTable("ESTATUS");
                    try
                    {
                        for (int i = 0; i < ls_RETORNO.Count(); i++)
                        {
                            ls_RETORNO.CurrentIndex = i;
                            retorno = new ESTATUS();
                            if (ls_RETORNO.GetString("TYPE") == "S")
                            {
                                message = message + " - " + ls_RETORNO.GetString("MESSAGE");
                                //numerocierre = ls_RETORNO.GetString("MESSAGE_V4");
                            }
                            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);
            }
        }
예제 #8
0
        public void pagodocumentosingreso(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)
        {
            try
            {
                T_Retorno.Clear();
                pagomessage = "";
                status      = "";
                comprobante = "";
                message     = "";
                stringRfc   = "";
                IRfcTable lt_PAGO_DOCS;
                IRfcTable lt_PAGO_MESS;
                // CERR_CAJA CERR_CAJA_resp;
                ESTATUS retorno;
                T_Retorno.Clear();
                //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_REC_Y_FAC");
                    BapiGetUser.SetValue("ID_CAJA", P_CAJA);
                    BapiGetUser.SetValue("PAY_CURRENCY", P_MONEDA);
                    BapiGetUser.SetValue("LAND", P_PAIS);

                    BapiGetUser.SetValue("TOTAL_FACTURAS", Convert.ToDouble(P_APAGAR));
                    BapiGetUser.SetValue("TOTAL_VIAS", Convert.ToDouble(P_INGRESO));
                    P_INGRESO = P_INGRESO.Replace(",", "");
                    P_INGRESO = P_INGRESO.Replace(".", "");
                    double Diferencia = Convert.ToDouble(P_APAGAR) - Convert.ToDouble(P_INGRESO);
                    BapiGetUser.SetValue("DIFERENCIA", Convert.ToDouble(P_APAGAR) - Convert.ToDouble(P_INGRESO));
                    IRfcTable GralDat3 = BapiGetUser.GetTable("RETURN");
                    try
                    {
                        if (Diferencia != 0)
                        {
                            GralDat3.Append();
                            GralDat3.SetValue("TYPE", "X");
                            GralDat3.SetValue("ID", "");
                            GralDat3.SetValue("NUMBER", "");
                            GralDat3.SetValue("MESSAGE", "");
                            GralDat3.SetValue("LOG_NO", "");
                            GralDat3.SetValue("LOG_MSG_NO", "");
                            GralDat3.SetValue("MESSAGE_V1", "");
                            GralDat3.SetValue("MESSAGE_V2", "");
                            GralDat3.SetValue("MESSAGE_V3", "");
                            GralDat3.SetValue("MESSAGE_V4", "");
                            GralDat3.SetValue("PARAMETER", "");
                            GralDat3.SetValue("ROW", "");
                            GralDat3.SetValue("FIELD", "");
                            GralDat3.SetValue("SYSTEM", "");
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message + ex.StackTrace);
                    }
                    BapiGetUser.SetValue("RETURN", GralDat3);

                    IRfcTable GralDat = BapiGetUser.GetTable("VIAS_PAGO");
                    try
                    {
                        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", Convert.ToString(Monto));
                            }
                            else
                            {
                                GralDat.SetValue("MONTO", P_VIASPAGO[i].MONTO);
                            }
                            GralDat.SetValue("MONEDA", P_VIASPAGO[i].MONEDA);
                            if (P_VIASPAGO[i].BANCO != "")
                            {
                                GralDat.SetValue("BANCO", P_VIASPAGO[i].BANCO.Substring(0, 3));
                            }
                            else
                            {
                                GralDat.SetValue("BANCO", P_VIASPAGO[i].BANCO);
                            }
                            GralDat.SetValue("EMISOR", P_VIASPAGO[i].EMISOR);
                            GralDat.SetValue("NUM_CHEQUE", P_VIASPAGO[i].NUM_CHEQUE);
                            GralDat.SetValue("COD_AUTORIZACION", P_VIASPAGO[i].COD_AUTORIZACION);
                            GralDat.SetValue("NUM_CUOTAS", P_VIASPAGO[i].NUM_CUOTAS);
                            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);
                            GralDat.SetValue("ZNOP", P_VIASPAGO[i].ZNOP);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message + ex.StackTrace);
                    }
                    BapiGetUser.SetValue("VIAS_PAGO", GralDat);

                    IRfcTable GralDat2 = BapiGetUser.GetTable("DOCUMENTOS");
                    try
                    {
                        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", "");
                            GralDat2.SetValue("MONTO_DOC", P_DOCSAPAGAR[i].MONTO.Trim());
                            GralDat2.SetValue("MONTO_DIFERENCIA", 0);
                            GralDat2.SetValue("TEXTO_EXCEPCION", "");
                            GralDat2.SetValue("PARCIAL", "");
                            GralDat2.SetValue("APROBADOR_EX", "");
                            GralDat2.SetValue("MONEDA", P_DOCSAPAGAR[i].MONEDA.Trim());
                            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);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message + ex.StackTrace);
                    }
                    BapiGetUser.SetValue("DOCUMENTOS", GralDat2);

                    BapiGetUser.Invoke(SapRfcDestination);

                    //LLenamos los datos que retorna la estructura de la RFC
                    //pagomessage = BapiGetUser.GetString("E_MSJ");
                    //id_error = BapiGetUser.GetInt("E_ID_MSJ");
                    //message = BapiGetUser.GetString("E_AUGBL");

                    lt_PAGO_DOCS = BapiGetUser.GetTable("RETURN");
                    for (int i = 0; i < lt_PAGO_DOCS.Count(); i++)
                    {
                        lt_PAGO_DOCS.CurrentIndex = i;
                        retorno = new ESTATUS();
                        if (lt_PAGO_DOCS.GetString("TYPE") == "S")
                        {
                            message = message + " - " + lt_PAGO_DOCS.GetString("MESSAGE") + "\n";
                        }
                        if (lt_PAGO_DOCS.GetString("TYPE") == "E")
                        {
                            pagomessage = pagomessage + " - " + lt_PAGO_DOCS.GetString("MESSAGE") + "\n";
                        }
                        retorno.TYPE       = lt_PAGO_DOCS.GetString("TYPE");
                        retorno.ID         = lt_PAGO_DOCS.GetString("ID");
                        retorno.NUMBER     = lt_PAGO_DOCS.GetString("NUMBER");
                        retorno.MESSAGE    = lt_PAGO_DOCS.GetString("MESSAGE");
                        retorno.LOG_NO     = lt_PAGO_DOCS.GetString("LOG_NO");
                        retorno.LOG_MSG_NO = lt_PAGO_DOCS.GetString("LOG_MSG_NO");
                        retorno.MESSAGE_V1 = lt_PAGO_DOCS.GetString("MESSAGE_V1");
                        retorno.MESSAGE_V2 = lt_PAGO_DOCS.GetString("MESSAGE_V2");
                        retorno.MESSAGE_V3 = lt_PAGO_DOCS.GetString("MESSAGE_V3");
                        if (lt_PAGO_DOCS.GetString("MESSAGE_V4") != "")
                        {
                            comprobante = lt_PAGO_DOCS.GetString("MESSAGE_V4");
                        }
                        retorno.MESSAGE_V4 = lt_PAGO_DOCS.GetString("MESSAGE_V4");
                        retorno.PARAMETER  = lt_PAGO_DOCS.GetString("PARAMETER");
                        retorno.ROW        = lt_PAGO_DOCS.GetString("ROW");
                        retorno.FIELD      = lt_PAGO_DOCS.GetString("FIELD");
                        retorno.SYSTEM     = lt_PAGO_DOCS.GetString("SYSTEM");
                        T_Retorno.Add(retorno);
                    }
                }
                GC.Collect();
            }
            catch (Exception ex)
            {
                Console.WriteLine("{0} Exception caught.", ex);
                System.Windows.MessageBox.Show(ex.Message + ex.StackTrace);
            }
        }
예제 #9
0
        public void pagosmasivos(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_LAND, string P_FECHA, string P_FILE, string P_ID_APERTURA, string P_ID_CAJA, string P_PAY_CURRENCY, List <PagosMasivosNuevo> ListaExc, List <VIAS_PAGO_MASIVO> viasPagoMasivos)
        {
            objReturn2.Clear();
            errormessage = "";
            message      = "";
            try
            {
                ESTATUS p_return;
                //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_MASIVO");
                    BapiGetUser.SetValue("LAND", P_LAND);
                    BapiGetUser.SetValue("FECHA", Convert.ToDateTime(P_FECHA.Substring(0, 10)));
                    BapiGetUser.SetValue("PAY_CURRENCY", P_PAY_CURRENCY);
                    BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA);
                    BapiGetUser.SetValue("ID_APERTURA", P_ID_APERTURA);

                    IRfcTable GralDat = BapiGetUser.GetTable("T_EXCEL");

                    for (var i = 0; i < ListaExc.Count; i++)
                    {
                        GralDat.Append();
                        GralDat.SetValue("ROW", ListaExc[i].ROW);
                        GralDat.SetValue("COL", ListaExc[i].COL);
                        GralDat.SetValue("VALUE", ListaExc[i].VALUE);
                    }
                    BapiGetUser.SetValue("T_EXCEL", GralDat);

                    IRfcTable DetalleViasPago = BapiGetUser.GetTable("VIAS_PAGO_MASIVO");

                    for (var i = 0; i < viasPagoMasivos.Count; i++)
                    {
                        DetalleViasPago.Append();
                        DetalleViasPago.SetValue("MANDT", viasPagoMasivos[i].MANDT);
                        DetalleViasPago.SetValue("LAND", viasPagoMasivos[i].LAND);
                        DetalleViasPago.SetValue("ID_COMPROBANTE", viasPagoMasivos[i].ID_COMPROBANTE);
                        DetalleViasPago.SetValue("ID_DETALLE", viasPagoMasivos[i].ID_DETALLE);
                        DetalleViasPago.SetValue("ID_CAJA", viasPagoMasivos[i].ID_CAJA);
                        DetalleViasPago.SetValue("VIA_PAGO", viasPagoMasivos[i].VIA_PAGO);
                        DetalleViasPago.SetValue("MONTO", viasPagoMasivos[i].MONTO);
                        DetalleViasPago.SetValue("MONEDA", viasPagoMasivos[i].MONEDA);
                        DetalleViasPago.SetValue("BANCO", viasPagoMasivos[i].BANCO);
                        DetalleViasPago.SetValue("EMISOR", viasPagoMasivos[i].EMISOR);
                        DetalleViasPago.SetValue("NUM_CHEQUE", viasPagoMasivos[i].NUM_CHEQUE);
                        DetalleViasPago.SetValue("COD_AUTORIZACION", viasPagoMasivos[i].COD_AUTORIZACION);
                        DetalleViasPago.SetValue("NUM_CUOTAS", viasPagoMasivos[i].NUM_CUOTAS);
                        DetalleViasPago.SetValue("FECHA_VENC", Convert.ToDateTime(viasPagoMasivos[i].FECHA_VENC));
                        DetalleViasPago.SetValue("TEXTO_POSICION", viasPagoMasivos[i].TEXTO_POSICION);
                        DetalleViasPago.SetValue("ANEXO", viasPagoMasivos[i].ANEXO);
                        DetalleViasPago.SetValue("SUCURSAL", viasPagoMasivos[i].SUCURSAL);
                        DetalleViasPago.SetValue("NUM_CUENTA", viasPagoMasivos[i].NUM_CUENTA);
                        DetalleViasPago.SetValue("NUM_TARJETA", viasPagoMasivos[i].NUM_TARJETA);
                        DetalleViasPago.SetValue("NUM_VALE_VISTA", viasPagoMasivos[i].NUM_VALE_VISTA);
                        DetalleViasPago.SetValue("PATENTE", viasPagoMasivos[i].PATENTE);
                        DetalleViasPago.SetValue("NUM_VENTA", viasPagoMasivos[i].NUM_VENTA);
                        DetalleViasPago.SetValue("PAGARE", viasPagoMasivos[i].PAGARE);
                        DetalleViasPago.SetValue("FECHA_EMISION", Convert.ToDateTime(viasPagoMasivos[i].FECHA_EMISION));
                        DetalleViasPago.SetValue("NOMBRE_GIRADOR", viasPagoMasivos[i].NOMBRE_GIRADOR);
                        DetalleViasPago.SetValue("CARTA_CURSE", viasPagoMasivos[i].CARTA_CURSE);
                        DetalleViasPago.SetValue("NUM_TRANSFER", viasPagoMasivos[i].NUM_TRANSFER);
                        DetalleViasPago.SetValue("NUM_DEPOSITO", viasPagoMasivos[i].NUM_DEPOSITO);
                        DetalleViasPago.SetValue("CTA_BANCO", viasPagoMasivos[i].CTA_BANCO);
                        DetalleViasPago.SetValue("IFINAN", viasPagoMasivos[i].IFINAN);
                        DetalleViasPago.SetValue("ZUONR", viasPagoMasivos[i].ZUONR);
                        DetalleViasPago.SetValue("CORRE", viasPagoMasivos[i].CORRE);
                        DetalleViasPago.SetValue("HKONT", viasPagoMasivos[i].HKONT);
                        DetalleViasPago.SetValue("PRCTR", viasPagoMasivos[i].PRCTR);
                        DetalleViasPago.SetValue("ZNOP", viasPagoMasivos[i].ZNOP);
                    }
                    BapiGetUser.SetValue("VIAS_PAGO_MASIVO", DetalleViasPago);


                    BapiGetUser.Invoke(SapRfcDestination);

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

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

                        p_return = new ESTATUS();

                        p_return.TYPE = retorno[i].GetString("TYPE");
                        if (retorno.GetString("TYPE") == "S")
                        {
                            message = message + " - " + retorno[i].GetString("MESSAGE");
                        }
                        if (retorno.GetString("TYPE") == "E")
                        {
                            errormessage = errormessage + " - " + retorno[i].GetString("MESSAGE");
                        }
                        p_return.ID         = retorno[i].GetString("ID");
                        p_return.NUMBER     = retorno[i].GetString("NUMBER");
                        p_return.MESSAGE    = retorno[i].GetString("MESSAGE");
                        p_return.LOG_NO     = retorno[i].GetString("LOG_NO");
                        p_return.LOG_MSG_NO = retorno[i].GetString("LOG_MSG_NO");
                        p_return.MESSAGE_V1 = retorno[i].GetString("MESSAGE_V1");
                        p_return.MESSAGE_V2 = retorno[i].GetString("MESSAGE_V2");
                        p_return.MESSAGE_V3 = retorno[i].GetString("MESSAGE_V3");
                        if (retorno[i].GetString("MESSAGE_V4") != "")
                        {
                            comprobante = retorno[i].GetString("MESSAGE_V4");
                        }
                        //p_return.MESSAGE_V4 = retorno[i].GetString("MESSAGE_V4");
                        p_return.PARAMETER = retorno[i].GetString("PARAMETER");
                        p_return.ROW       = retorno[i].GetString("ROW");
                        p_return.FIELD     = retorno[i].GetString("FIELD");
                        p_return.SYSTEM    = retorno[i].GetString("SYSTEM");
                        objReturn2.Add(p_return);
                    }
                }
                GC.Collect();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + ex.StackTrace);
                System.Windows.Forms.MessageBox.Show(ex.Message + ex.StackTrace);
            }
        }
예제 #10
0
 /// <summary>
 /// Invoked when <see cref="ToTable"/> operation is about to return.
 /// </summary>
 /// <param name="entity"><see cref="ESTATUS"/> converted from <see cref="Estatus"/>.</param>
 static partial void OnEntity(this Estatus dto, ESTATUS entity);
예제 #11
0
 /// <summary>
 /// Invoked when <see cref="ToModel"/> operation is about to return.
 /// </summary>
 /// <param name="dto"><see cref="Estatus"/> converted from <see cref="ESTATUS"/>.</param>
 static partial void OnDTO(this ESTATUS entity, Estatus dto);
예제 #12
0
        public void cierreTempo(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_LAND, string P_MONTO_CIERRE, string P_MONTO_DIF, string P_COMENTARIO_DIF, string P_COMENTARIO_CIERRE)
        {
            try
            {
                T_Retorno.Clear();
                errormessage = "";
                status       = "";
                message      = "";
                stringRfc    = "";
                IRfcTable lt_CIERRE_CAJA_DET_EFECT;
                ESTATUS   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_FM_REG_CIERRE");

                    BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA);
                    BapiGetUser.SetValue("USUARIO", P_UNAME);
                    BapiGetUser.SetValue("LAND", P_LAND);
                    BapiGetUser.SetValue("MONTO_CIERRE", P_MONTO_CIERRE);
                    BapiGetUser.SetValue("MONTO_DIF", P_MONTO_DIF);
                    BapiGetUser.SetValue("COMENTARIO_DIF", P_COMENTARIO_DIF);
                    BapiGetUser.SetValue("COMENTARIO_CIERRE", P_COMENTARIO_CIERRE);

                    BapiGetUser.Invoke(SapRfcDestination);
                    //LLenamos los datos que retorna la estructura de la RFC
                    //lt_CIERRE_CAJA = BapiGetUser.GetTable("ESTATUS");
                    diasatraso = BapiGetUser.GetInt("DIAS_ATRASO");

                    lt_CIERRE_CAJA_DET_EFECT = BapiGetUser.GetTable("ESTATUS");
                    for (int i = 0; i < lt_CIERRE_CAJA_DET_EFECT.Count(); i++)
                    {
                        lt_CIERRE_CAJA_DET_EFECT.CurrentIndex = i;
                        retorno = new ESTATUS();

                        retorno.TYPE = lt_CIERRE_CAJA_DET_EFECT.GetString("TYPE");
                        if (i == 0)
                        {
                            status = lt_CIERRE_CAJA_DET_EFECT.GetString("TYPE");
                        }
                        retorno.ID         = lt_CIERRE_CAJA_DET_EFECT.GetString("ID");
                        retorno.NUMBER     = lt_CIERRE_CAJA_DET_EFECT.GetString("NUMBER");
                        retorno.MESSAGE    = lt_CIERRE_CAJA_DET_EFECT.GetString("MESSAGE");
                        retorno.LOG_NO     = lt_CIERRE_CAJA_DET_EFECT.GetString("LOG_NO");
                        retorno.LOG_MSG_NO = lt_CIERRE_CAJA_DET_EFECT.GetString("LOG_MSG_NO");
                        retorno.MESSAGE_V1 = lt_CIERRE_CAJA_DET_EFECT.GetString("MESSAGE_V1");
                        retorno.MESSAGE_V2 = lt_CIERRE_CAJA_DET_EFECT.GetString("MESSAGE_V2");
                        retorno.MESSAGE_V3 = lt_CIERRE_CAJA_DET_EFECT.GetString("MESSAGE_V3");
                        retorno.MESSAGE_V4 = lt_CIERRE_CAJA_DET_EFECT.GetString("MESSAGE_V4");
                        retorno.PARAMETER  = lt_CIERRE_CAJA_DET_EFECT.GetString("PARAMETER");
                        retorno.ROW        = lt_CIERRE_CAJA_DET_EFECT.GetString("ROW");
                        retorno.FIELD      = lt_CIERRE_CAJA_DET_EFECT.GetString("FIELD");
                        retorno.SYSTEM     = lt_CIERRE_CAJA_DET_EFECT.GetString("SYSTEM");
                        T_Retorno.Add(retorno);
                    }
                }
            }

            catch (Exception ex)
            {
                Console.WriteLine("{0} Exception caught.", ex);
                System.Windows.MessageBox.Show(ex.Message + ex.StackTrace);
            }
            //return T_Retorno;
            GC.Collect();
        }
예제 #13
0
        public void pagosmasivos(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_LAND, string P_FECHA, string P_FILE, string P_ID_APERTURA, string P_ID_CAJA, string P_PAY_CURRENCY, List <PagosMasivosNuevo> ListaExc)
        {
            objReturn2.Clear();
            errormessage = "";
            message      = "";
            try
            {
                ESTATUS p_return;
                //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_MASIVO");
                    BapiGetUser.SetValue("LAND", P_LAND);
                    BapiGetUser.SetValue("FECHA", Convert.ToDateTime(P_FECHA.Substring(0, 10)));
                    //BapiGetUser.SetValue("FILEN", P_FILE);
                    BapiGetUser.SetValue("PAY_CURRENCY", P_PAY_CURRENCY);
                    BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA);
                    BapiGetUser.SetValue("ID_APERTURA", P_ID_APERTURA);

                    IRfcTable GralDat = BapiGetUser.GetTable("T_EXCEL");

                    for (var i = 0; i < ListaExc.Count; i++)
                    {
                        GralDat.Append();
                        GralDat.SetValue("ROW", ListaExc[i].ROW);
                        GralDat.SetValue("COL", ListaExc[i].COL);
                        GralDat.SetValue("VALUE", ListaExc[i].VALUE);
                    }
                    BapiGetUser.SetValue("T_EXCEL", GralDat);


                    BapiGetUser.Invoke(SapRfcDestination);

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

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

                        p_return = new ESTATUS();

                        p_return.TYPE = retorno[i].GetString("TYPE");
                        if (retorno.GetString("TYPE") == "S")
                        {
                            message = message + " - " + retorno[i].GetString("MESSAGE");
                        }
                        if (retorno.GetString("TYPE") == "E")
                        {
                            errormessage = errormessage + " - " + retorno[i].GetString("MESSAGE");
                        }
                        p_return.ID         = retorno[i].GetString("ID");
                        p_return.NUMBER     = retorno[i].GetString("NUMBER");
                        p_return.MESSAGE    = retorno[i].GetString("MESSAGE");
                        p_return.LOG_NO     = retorno[i].GetString("LOG_NO");
                        p_return.LOG_MSG_NO = retorno[i].GetString("LOG_MSG_NO");
                        p_return.MESSAGE_V1 = retorno[i].GetString("MESSAGE_V1");
                        p_return.MESSAGE_V2 = retorno[i].GetString("MESSAGE_V2");
                        p_return.MESSAGE_V3 = retorno[i].GetString("MESSAGE_V3");
                        p_return.MESSAGE_V4 = retorno[i].GetString("MESSAGE_V4");
                        p_return.PARAMETER  = retorno[i].GetString("PARAMETER");
                        p_return.ROW        = retorno[i].GetString("ROW");
                        p_return.FIELD      = retorno[i].GetString("FIELD");
                        p_return.SYSTEM     = retorno[i].GetString("SYSTEM");
                        objReturn2.Add(p_return);
                    }
                }
                GC.Collect();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + ex.StackTrace);
                System.Windows.Forms.MessageBox.Show(ex.Message + ex.StackTrace);
            }
        }
예제 #14
0
        public void rendicioncaja(string P_UNAME, string P_PASSWORD, string P_IDSISTEMA, string P_INSTANCIA, string P_MANDANTE, string P_SAPROUTER, string P_SERVER, string P_IDIOMA, string P_ID_CAJA, string P_DATUMDESDE, string P_DATUMHASTA, string P_USUARIO
                                  , string P_PAIS, string P_SOCIEDAD, string P_ID_APERTURA, string P_ID_CIERRE, string P_IND_ARQUEO, string P_MONEDA)
        {
            try
            {
                ESTATUS        retorno;
                DETALLE_VP     detallevp;
                RESUMEN_VP     resumenvp;
                DETALLE_REND   detallerend;
                DETALLE_ARQUEO detallearqueo;
                INFO_SOCI      InfoSociedad;

                T_Retorno.Clear();
                detalle_rend.Clear();
                detalle_arqueo.Clear();
                detalle_viapago.Clear();
                resumen_viapago.Clear();
                errormessage     = "";
                message          = "";
                IdCaja           = "";
                FechArqueo       = "";
                FechaArqueoHasta = "";
                CajeroResp       = "";
                Sucursal         = "";
                Sociedad         = "";
                NombreCaja       = "";
                MontoIngresos    = 0;
                MontoEfect       = 0;
                MontoChqDia      = 0;
                MontoChqFech     = 0;
                MontoTransf      = 0;
                MontoValeV       = 0;
                MontoDepot       = 0;
                MontoTarj        = 0;
                MontoFinanc      = 0;
                MontoApp         = 0;
                MontoCredit      = 0;
                MontoEgresos     = 0;
                MontoFondosFijos = 0;
                SaldoTotal       = 0;
                IRfcStructure ls_RETORNO;
                IRfcTable     lt_DETALLE_VP;
                IRfcTable     lt_RESUMEN_VP;
                IRfcTable     lt_DETALLE_REND;
                IRfcTable     lt_DET_ARQUEO;
                IRfcTable     lt_INFO_SOCI;

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

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

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

                    BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA);
                    BapiGetUser.SetValue("USUARIO", P_USUARIO);
                    BapiGetUser.SetValue("ID_CIERRE", P_ID_CIERRE);
                    BapiGetUser.SetValue("ID_APERTURA", P_ID_APERTURA);
                    BapiGetUser.SetValue("SOCIEDAD", P_SOCIEDAD);
                    BapiGetUser.SetValue("IND_ARQUEO", P_IND_ARQUEO);
                    BapiGetUser.SetValue("LAND", P_PAIS);

                    BapiGetUser.Invoke(SapRfcDestination);

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

                    lt_RESUMEN_VP = BapiGetUser.GetTable("RESUMEN_VP");
                    try
                    {
                        for (int i = 0; i < lt_RESUMEN_VP.Count(); i++)
                        {
                            lt_RESUMEN_VP.CurrentIndex = i;
                            resumenvp              = new RESUMEN_VP();
                            resumenvp.LAND         = lt_RESUMEN_VP.GetString("LAND");
                            resumenvp.ID_CAJA      = lt_RESUMEN_VP.GetString("ID_CAJA");
                            resumenvp.SOCIEDAD     = lt_RESUMEN_VP.GetString("SOCIEDAD");
                            resumenvp.SOCIEDAD_TXT = lt_RESUMEN_VP.GetString("SOCIEDAD_TXT");
                            resumenvp.VIA_PAGO     = lt_RESUMEN_VP.GetString("VIA_PAGO");

                            //string Valor = lt_RESUMEN_VP[i].GetString("MONTO_EFEC").Trim();
                            ////if (lt_RESUMEN_VP.GetString("VIA_PAGO") == "0" || lt_RESUMEN_VP.GetString("VIA_PAGO") == "N")
                            ////{
                            ////    MontoEgresos = MontoEgresos + Convert.ToDouble(lt_RESUMEN_VP.GetString("MONTO"));
                            ////}
                            resumenvp.TEXT1  = lt_RESUMEN_VP.GetString("TEXT1");
                            resumenvp.MONEDA = lt_RESUMEN_VP.GetString("MONEDA");
                            FormatoMonedas FM = new FormatoMonedas();
                            if (lt_RESUMEN_VP[i].GetString("MONEDA") == "CLP")
                            {
                                resumenvp.MONTO = FM.FormatoMonedaChilena(lt_RESUMEN_VP[i].GetString("MONTO"), "1");
                            }
                            else
                            {
                                resumenvp.MONTO = FM.FormatoMonedaExtranjera(lt_RESUMEN_VP[i].GetString("MONTO"));
                            }
                            resumenvp.MONTO     = lt_RESUMEN_VP.GetString("MONTO");
                            resumenvp.CANT_DOCS = lt_RESUMEN_VP.GetString("CANT_DOCS");
                            resumen_viapago.Add(resumenvp);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, ex.StackTrace);
                        MessageBox.Show(ex.Message + ex.StackTrace);
                    }

                    lt_DETALLE_REND = BapiGetUser.GetTable("DETALLE_REND");
                    try
                    {
                        for (int i = 0; i < lt_DETALLE_REND.Count(); i++)
                        {
                            lt_DETALLE_REND.CurrentIndex = i;
                            detallerend          = new DETALLE_REND();
                            detallerend.N_VENTA  = lt_DETALLE_REND.GetString("N_VENTA");
                            detallerend.FEC_EMI  = lt_DETALLE_REND.GetString("FEC_EMI");
                            detallerend.FEC_VENC = lt_DETALLE_REND.GetString("FEC_VENC");
                            detallerend.MONEDA   = lt_DETALLE_REND.GetString("MONEDA");
                            detallerend.VIA_PAGO = lt_DETALLE_REND.GetString("VIA_PAGO");

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

                                if (Valor.Contains("-"))
                                {
                                    MontoEgresos = MontoEgresos + Convert.ToDouble(lt_DETALLE_REND[i].GetString("MONTO_EFEC"));
                                }
                            }
                            else
                            {
                                detallerend.MONTO_EFEC = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_EFEC"));
                            }
                            detallerend.NUM_CHEQUE = lt_DETALLE_REND.GetString("NUM_CHEQUE");
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO_DIA = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_DIA"), "2");
                                MontoChqDia           = MontoChqDia + Convert.ToDouble(FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_DIA"), "2"));
                            }
                            else
                            {
                                detallerend.MONTO_DIA = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_DIA"));
                                MontoChqDia           = MontoChqDia + Convert.ToDouble(detallerend.MONTO_DIA);
                            }
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                MontoChqFech            = MontoChqFech + Convert.ToDouble(FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_FECHA"), "2"));
                                detallerend.MONTO_FECHA = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_FECHA"), "2");
                            }
                            else
                            {
                                detallerend.MONTO_FECHA = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_FECHA"));
                                MontoChqFech            = MontoChqFech + Convert.ToDouble(detallerend.MONTO_FECHA);
                            }
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO_TRANSF = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_TRANSF"), "2");
                                MontoTransf = MontoTransf + Convert.ToDouble(FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_TRANSF"), "2"));
                            }
                            else
                            {
                                detallerend.MONTO_TRANSF = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_TRANSF"));
                                MontoTransf = MontoTransf + Convert.ToDouble(detallerend.MONTO_TRANSF);
                            }
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO_VALE_V = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_VALE_V"), "2");
                                MontoValeV = MontoValeV + Convert.ToDouble(detallerend.MONTO_VALE_V);
                            }
                            else
                            {
                                detallerend.MONTO_VALE_V = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_VALE_V"));
                                MontoValeV = MontoValeV + Convert.ToDouble(detallerend.MONTO_VALE_V);
                            }
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO_DEP = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_DEP"), "2");
                                MontoDepot            = MontoDepot + Convert.ToDouble(detallerend.MONTO_DEP);
                            }
                            else
                            {
                                detallerend.MONTO_DEP = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_DEP"));
                                MontoDepot            = MontoDepot + Convert.ToDouble(detallerend.MONTO_DEP);
                            }
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO_TARJ = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_TARJ"), "2");
                                MontoTarj = MontoTarj + Convert.ToDouble(detallerend.MONTO_TARJ);
                            }
                            else
                            {
                                detallerend.MONTO_TARJ = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_TARJ"));
                                MontoTarj = MontoTarj + Convert.ToDouble(detallerend.MONTO_TARJ);
                            }
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO_FINANC = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_FINANC"), "2");
                                MontoFinanc = MontoFinanc + Convert.ToDouble(detallerend.MONTO_FINANC);
                            }
                            else
                            {
                                detallerend.MONTO_FINANC = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_FINANC"));
                                MontoFinanc = MontoFinanc + Convert.ToDouble(detallerend.MONTO_FINANC);
                            }
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO_APP = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_APP"), "2");
                                MontoApp = MontoApp + Convert.ToDouble(detallerend.MONTO_APP);
                            }
                            else
                            {
                                detallerend.MONTO_APP = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_APP"));
                                MontoApp = MontoApp + Convert.ToDouble(detallerend.MONTO_APP);
                            }
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO_CREDITO = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_CREDITO"), "2");
                                MontoCredit = MontoCredit + Convert.ToDouble(detallerend.MONTO_CREDITO);
                            }
                            else
                            {
                                detallerend.MONTO_CREDITO = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_CREDITO"));
                                MontoCredit = MontoCredit + Convert.ToDouble(detallerend.MONTO_CREDITO);
                            }
                            detallerend.PATENTE = lt_DETALLE_REND.GetString("PATENTE");
                            if (detallerend.MONEDA == P_MONEDA)
                            {
                                detallerend.MONTO_C_CURSE = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_C_CURSE"), "2");
                                MontoCCurse = MontoCCurse + Convert.ToDouble(detallerend.MONTO_C_CURSE);
                            }
                            else
                            {
                                detallerend.MONTO_C_CURSE = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_C_CURSE"));
                                MontoCCurse = MontoCCurse + Convert.ToDouble(detallerend.MONTO_C_CURSE);
                            }
                            detallerend.DOC_SAP = lt_DETALLE_REND.GetString("DOC_SAP");
                            detalle_rend.Add(detallerend);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, ex.StackTrace);
                        MessageBox.Show(ex.Message + ex.StackTrace);
                    }

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

                    lt_DET_ARQUEO = BapiGetUser.GetTable("DETALLE_ARQUEO");
                    try
                    {
                        for (int i = 0; i < lt_DET_ARQUEO.Count(); i++)
                        {
                            lt_DET_ARQUEO.CurrentIndex = i;
                            detallearqueo              = new DETALLE_ARQUEO();
                            detallearqueo.LAND         = lt_DET_ARQUEO.GetString("LAND");
                            detallearqueo.ID_CAJA      = lt_DET_ARQUEO.GetString("ID_CAJA");
                            detallearqueo.USUARIO      = lt_DET_ARQUEO.GetString("USUARIO");
                            detallearqueo.SOCIEDAD     = lt_DET_ARQUEO.GetString("SOCIEDAD");
                            detallearqueo.FECHA_REND   = lt_DET_ARQUEO.GetString("FECHA_REND");
                            detallearqueo.HORA_REND    = lt_DET_ARQUEO.GetString("HORA_REND");
                            detallearqueo.MONEDA       = lt_DET_ARQUEO.GetString("MONEDA");
                            detallearqueo.VIA_PAGO     = lt_DET_ARQUEO.GetString("VIA_PAGO");
                            detallearqueo.TIPO_MONEDA  = lt_DET_ARQUEO.GetString("TIPO_MONEDA");
                            detallearqueo.CANTIDAD_MON = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                            //*
                            if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                            {
                                string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                if (Valor.Contains("-"))
                                {
                                    Valor = "-" + Valor.Replace("-", "");
                                }
                                Valor = Valor.Replace(".", "");
                                Valor = Valor.Replace(",", "");
                                decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                detallearqueo.SUMA_MON_BILL = Cualquiernombre;
                            }
                            else
                            {
                                string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                decimal ValorAux = Convert.ToDecimal(moneda);
                                detallearqueo.SUMA_MON_BILL = string.Format("{0:0,0.##}", ValorAux);
                            }
                            if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                            {
                                string Valor = lt_DET_ARQUEO[i].GetString("SUMA_DOCS").Trim();
                                if (Valor.Contains("-"))
                                {
                                    Valor = "-" + Valor.Replace("-", "");
                                }
                                Valor = Valor.Replace(".", "");
                                Valor = Valor.Replace(",", "");
                                decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                detallearqueo.SUMA_DOCS = Cualquiernombre;
                            }
                            else
                            {
                                string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_DOCS"));
                                decimal ValorAux = Convert.ToDecimal(moneda);
                                detallearqueo.SUMA_DOCS = string.Format("{0:0,0.##}", ValorAux);
                            }
                            detallearqueo.SUMA_DOCS = lt_DET_ARQUEO.GetString("SUMA_DOCS");
                            C1 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000000001")
                            {
                                //C1 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M1 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M1 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                //M1 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000000005")
                            {
                                //C5 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M5 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M5 = string.Format("{0:0,0.##}", ValorAux);
                                }
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000000010")
                            {
                                //C10 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == "CLP")
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M10 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M10 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                //M10 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000000050")
                            {
                                //C50 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M50 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M50 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                //M50 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000000100")
                            {
                                //C100 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M100 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M100 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                //M100 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000000500")
                            {
                                //C500 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == "CLP")
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M500 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M500 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                //M500 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000001000")
                            {
                                //C1000 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M1000 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M1000 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                //M1000 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000002000")
                            {
                                //C2000 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M2000 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M2000 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                //M2000 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000005000")
                            {
                                //C5000 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M5000 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M5000 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                M5000 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000010000")
                            {
                                //C10000 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M10000 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M10000 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                M10000 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000020000")
                            {
                                //C20000 = lt_DET_ARQUEO.GetString("CANTIDAD_MON");
                                if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA)
                                {
                                    string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim();
                                    if (Valor.Contains("-"))
                                    {
                                        Valor = "-" + Valor.Replace("-", "");
                                    }
                                    Valor = Valor.Replace(".", "");
                                    Valor = Valor.Replace(",", "");
                                    decimal ValorAux        = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2));
                                    string  Cualquiernombre = string.Format("{0:0,0}", ValorAux);
                                    M20000 = Cualquiernombre;
                                }
                                else
                                {
                                    string  moneda   = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL"));
                                    decimal ValorAux = Convert.ToDecimal(moneda);
                                    M20000 = string.Format("{0:0,0.##}", ValorAux);
                                }
                                M20000 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL");
                            }
                            detalle_arqueo.Add(detallearqueo);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, ex.StackTrace);
                        MessageBox.Show(ex.Message + ex.StackTrace);
                    }

                    ls_RETORNO = BapiGetUser.GetStructure("RETORNO");
                    try
                    {
                        for (int i = 0; i < ls_RETORNO.Count(); i++)
                        {
                            //ls_RETORNO.CurrentIndex = i;
                            retorno = new ESTATUS();
                            if (ls_RETORNO.GetString("TYPE") == "S")
                            {
                                message = message + " - " + ls_RETORNO.GetString("MESSAGE");
                            }
                            if (ls_RETORNO.GetString("TYPE") == "E")
                            {
                                errormessage = errormessage + " - " + ls_RETORNO.GetString("MESSAGE");
                            }
                            retorno.TYPE       = ls_RETORNO.GetString("TYPE");
                            retorno.ID         = ls_RETORNO.GetString("ID");
                            retorno.NUMBER     = ls_RETORNO.GetString("NUMBER");
                            retorno.MESSAGE    = ls_RETORNO.GetString("MESSAGE");
                            retorno.LOG_NO     = ls_RETORNO.GetString("LOG_NO");
                            retorno.LOG_MSG_NO = ls_RETORNO.GetString("LOG_MSG_NO");
                            retorno.MESSAGE_V1 = ls_RETORNO.GetString("MESSAGE_V1");
                            retorno.MESSAGE_V2 = ls_RETORNO.GetString("MESSAGE_V2");
                            retorno.MESSAGE_V3 = ls_RETORNO.GetString("MESSAGE_V3");
                            if (ls_RETORNO.GetString("MESSAGE_V4") != "")
                            {
                                // comprobante = ls_RETORNO.GetString("MESSAGE_V4");
                            }
                            retorno.MESSAGE_V4 = ls_RETORNO.GetString("MESSAGE_V4");
                            retorno.PARAMETER  = ls_RETORNO.GetString("PARAMETER");
                            retorno.ROW        = ls_RETORNO.GetString("ROW");
                            retorno.FIELD      = ls_RETORNO.GetString("FIELD");
                            retorno.SYSTEM     = ls_RETORNO.GetString("SYSTEM");
                            T_Retorno.Add(retorno);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, ex.StackTrace);
                        MessageBox.Show(ex.Message + ex.StackTrace);
                    }
                }
                else
                {
                    errormessage = retval;
                    MessageBox.Show("No se pudo conectar a la RFC");
                }
                GC.Collect();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message, ex.StackTrace);
                MessageBox.Show(ex.Message + ex.StackTrace);
            }
        }