public void reportescaja(string P_UNAME, string P_PASSWORD, string P_IDSISTEMA, string P_INSTANCIA, string P_MANDANTE, string P_SAPROUTER, string P_SERVER , string P_IDIOMA, string P_ID_CAJA, string P_DATUMDESDE, string P_DATUMHASTA, string P_USUARIO , string P_PAIS, string P_SOCIEDAD, string P_ID_APERTURA, string P_ID_CIERRE, string P_ID_REPORT) { try { T_Retorno.Clear(); resumen_viapago.Clear(); detalle_rend.Clear(); cab_arqueo.Clear(); detalle_arqueo.Clear(); resumen_caja.Clear(); rendicion_caja.Clear(); resumen_mensual.Clear(); info_soc.Clear(); RETORNO retorno; CajaIndigo.AppPersistencia.Class.RendicionCaja.Estructura.RESUMEN_VP resumenvp; DETALLE_REND detallerend; CAB_ARQUEO cabarqueo; DET_ARQUEO detallearqueo; RESUMEN_CAJA resumencaja; RESUMEN_MENSUAL resumenmensual; RENDICION_CAJA rendicioncaja; INFO_SOC infosoc; errormessage = ""; message = ""; IdCaja = ""; FechArqueo = ""; FechaArqueoHasta = ""; CajeroResp = ""; RUT = ""; Sucursal = ""; Sociedad = ""; SociedadR = ""; Empresa = ""; NombreCaja = ""; Tipo = ""; MontoIngresos = 0; MontoEfect = 0; MontoChqDia = 0; MontoChqFech = 0; MontoTransf = 0; MontoValeV = 0; MontoDepot = 0; MontoTarj = 0; MontoFinanc = 0; MontoApp = 0; MontoCredit = 0; MontoEgresos = 0; MontoFondosFijos = 0; SaldoTotal = 0; IRfcStructure ls_RETORNO; IRfcTable lt_RESUMEN_VP; IRfcTable lt_DETALLE_REND; IRfcTable lt_CAB_ARQUEO; IRfcTable lt_DET_ARQUEO; IRfcTable lt_RESUMEN_CAJA; IRfcTable lt_RENDICION_CAJA; IRfcTable lt_RESUMEN_MENSUAL; IRfcTable lt_INFOSOC; //Conexion a SAP connectorSap.idioma = P_IDIOMA; connectorSap.idSistema = P_IDSISTEMA; connectorSap.instancia = P_INSTANCIA; connectorSap.mandante = P_MANDANTE; connectorSap.paswr = P_PASSWORD; connectorSap.sapRouter = P_SAPROUTER; connectorSap.user = P_UNAME; connectorSap.server = P_SERVER; string retval = connectorSap.connectionsSAP(); //Si el valor de retorno es nulo o vacio, hay conexion a SAP y la RFC trae datos if (string.IsNullOrEmpty(retval)) { RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(connectorSap.connectorConfig); RfcRepository SapRfcRepository = SapRfcDestination.Repository; IRfcFunction BapiGetUser = SapRfcRepository.CreateFunction("ZSCP_RFC_REP_CAJA"); BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA); BapiGetUser.SetValue("DATE_DOC_FROM", Convert.ToDateTime(P_DATUMDESDE)); BapiGetUser.SetValue("DATE_DOC_TO", Convert.ToDateTime(P_DATUMHASTA)); BapiGetUser.SetValue("USUARIO", P_USUARIO); BapiGetUser.SetValue("ID_CIERRE", P_ID_CIERRE); BapiGetUser.SetValue("ID_APERTURA", P_ID_APERTURA); BapiGetUser.SetValue("SOCIEDAD", P_SOCIEDAD); BapiGetUser.SetValue("ID_REPORT", P_ID_REPORT); BapiGetUser.SetValue("LAND", P_PAIS); Tipo = P_ID_REPORT; FechArqueo = P_DATUMDESDE; FechaArqueoHasta = P_DATUMHASTA; BapiGetUser.Invoke(SapRfcDestination); Caja = BapiGetUser.GetString("ID_CAJA_OUT"); CajeroResp = BapiGetUser.GetString("CAJERO_RESP_OUT"); Sucursal = BapiGetUser.GetString("SUCURSAL"); NombreCaja = BapiGetUser.GetString("NOM_CAJA"); Sociedad = BapiGetUser.GetString("SOCIEDAD_OUT"); Pais = BapiGetUser.GetString("LAND_OUT"); lt_INFOSOC = BapiGetUser.GetTable("INFO_SOC"); try { for (int i = 0; i < lt_INFOSOC.Count(); i++) { lt_INFOSOC.CurrentIndex = i; infosoc = new INFO_SOC(); SociedadR = lt_INFOSOC.GetString("BUKRS"); infosoc.BUKRS = lt_INFOSOC.GetString("BUKRS"); Empresa = lt_INFOSOC.GetString("BUTXT"); infosoc.BUTXT = lt_INFOSOC.GetString("BUTXT"); RUT = lt_INFOSOC.GetString("STCD1"); infosoc.STCD1 = lt_INFOSOC.GetString("STCD1"); info_soc.Add(infosoc); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } lt_RESUMEN_VP = BapiGetUser.GetTable("RESUMEN_VP"); try { for (int i = 0; i < lt_RESUMEN_VP.Count(); i++) { lt_RESUMEN_VP.CurrentIndex = i; resumenvp = new CajaIndigo.AppPersistencia.Class.RendicionCaja.Estructura.RESUMEN_VP(); resumenvp.LAND = lt_RESUMEN_VP.GetString("LAND"); resumenvp.ID_CAJA = lt_RESUMEN_VP.GetString("ID_CAJA"); SociedadR = lt_RESUMEN_VP.GetString("SOCIEDAD"); resumenvp.SOCIEDAD = lt_RESUMEN_VP.GetString("SOCIEDAD"); Empresa = lt_RESUMEN_VP.GetString("SOCIEDAD_TXT"); resumenvp.SOCIEDAD_TXT = lt_RESUMEN_VP.GetString("SOCIEDAD_TXT"); resumenvp.VIA_PAGO = lt_RESUMEN_VP.GetString("VIA_PAGO"); if (lt_RESUMEN_VP.GetString("VIA_PAGO") == "N" || lt_RESUMEN_VP.GetString("VIA_PAGO") == "0") { MontoEgresos = MontoEgresos + Convert.ToDouble(lt_RESUMEN_VP.GetString("MONTO")); } resumenvp.TEXT1 = lt_RESUMEN_VP.GetString("TEXT1"); resumenvp.MONEDA = lt_RESUMEN_VP.GetString("MONEDA"); resumenvp.MONTO = lt_RESUMEN_VP.GetString("MONTO"); resumenvp.CANT_DOCS = lt_RESUMEN_VP.GetString("CANT_DOCS"); resumen_viapago.Add(resumenvp); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } lt_DETALLE_REND = BapiGetUser.GetTable("DETALLE_REND"); try { for (int i = 0; i < lt_DETALLE_REND.Count(); i++) { lt_DETALLE_REND.CurrentIndex = i; detallerend = new DETALLE_REND(); detallerend.N_VENTA = lt_DETALLE_REND.GetString("N_VENTA"); detallerend.FEC_EMI = lt_DETALLE_REND.GetString("FEC_EMI"); detallerend.FEC_VENC = lt_DETALLE_REND.GetString("FEC_VENC"); detallerend.MONTO = lt_DETALLE_REND.GetString("MONTO"); detallerend.NAME1 = lt_DETALLE_REND.GetString("NAME1"); detallerend.MONTO_EFEC = lt_DETALLE_REND.GetString("MONTO_EFEC"); MontoEfect = MontoEfect + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_EFEC")); detallerend.NUM_CHEQUE = lt_DETALLE_REND.GetString("NUM_CHEQUE"); detallerend.MONTO_DIA = lt_DETALLE_REND.GetString("MONTO_DIA"); MontoChqDia = MontoChqDia + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_DIA")); detallerend.MONTO_FECHA = lt_DETALLE_REND.GetString("MONTO_FECHA"); MontoChqFech = MontoChqFech + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_FECHA")); detallerend.MONTO_TRANSF = lt_DETALLE_REND.GetString("MONTO_TRANSF"); MontoTransf = MontoTransf + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_TRANSF")); detallerend.MONTO_VALE_V = lt_DETALLE_REND.GetString("MONTO_VALE_V"); MontoValeV = MontoValeV + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_VALE_V")); detallerend.MONTO_DEP = lt_DETALLE_REND.GetString("MONTO_DEP"); MontoDepot = MontoDepot + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_DEP")); detallerend.MONTO_TARJ = lt_DETALLE_REND.GetString("MONTO_TARJ"); MontoTarj = MontoTarj + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_TARJ")); detallerend.MONTO_FINANC = lt_DETALLE_REND.GetString("MONTO_FINANC"); MontoFinanc = MontoFinanc + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_FINANC")); detallerend.MONTO_APP = lt_DETALLE_REND.GetString("MONTO_APP"); MontoApp = MontoApp + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_APP")); detallerend.MONTO_CREDITO = lt_DETALLE_REND.GetString("MONTO_CREDITO"); MontoCredit = MontoCredit + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_CREDITO")); detallerend.PATENTE = lt_DETALLE_REND.GetString("PATENTE"); detallerend.MONTO_C_CURSE = lt_DETALLE_REND.GetString("MONTO_C_CURSE"); MontoCCurse = MontoCCurse + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_C_CURSE")); detallerend.DOC_SAP = lt_DETALLE_REND.GetString("DOC_SAP"); detalle_rend.Add(detallerend); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } MontoIngresos = MontoIngresos + MontoEfect + MontoChqDia + MontoChqFech + MontoTransf + MontoValeV + MontoDepot + MontoTarj + MontoFinanc + MontoApp + MontoCredit + MontoCCurse; SaldoTotal = MontoIngresos; // +MontoEgresos; lt_CAB_ARQUEO = BapiGetUser.GetTable("CAB_ARQUEO"); try { for (int i = 0; i < lt_CAB_ARQUEO.Count(); i++) { lt_CAB_ARQUEO.CurrentIndex = i; cabarqueo = new CAB_ARQUEO(); cabarqueo.MANDT = lt_CAB_ARQUEO.GetString("MANDT"); cabarqueo.LAND = lt_CAB_ARQUEO.GetString("LAND"); cabarqueo.ID_ARQUEO = lt_CAB_ARQUEO.GetString("ID_ARQUEO"); cabarqueo.ID_REGISTRO = lt_CAB_ARQUEO.GetString("ID_DENOMINACION"); cabarqueo.ID_CAJA = lt_CAB_ARQUEO.GetString("CANTIDAD"); cabarqueo.MONTO_CIERRE = lt_CAB_ARQUEO.GetString("MONTO_TOTAL"); cabarqueo.MONTO_DIF = lt_CAB_ARQUEO.GetString("ID_DENOMINACION"); cabarqueo.COMENTARIO_DIF = lt_CAB_ARQUEO.GetString("CANTIDAD"); cabarqueo.NULO = lt_CAB_ARQUEO.GetString("MONTO_TOTAL"); cab_arqueo.Add(cabarqueo); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } lt_DET_ARQUEO = BapiGetUser.GetTable("DET_ARQUEO"); try { for (int i = 0; i < lt_DET_ARQUEO.Count(); i++) { lt_DET_ARQUEO.CurrentIndex = i; detallearqueo = new DET_ARQUEO(); detallearqueo.MANDT = lt_DET_ARQUEO.GetString("MANDT"); detallearqueo.LAND = lt_DET_ARQUEO.GetString("LAND"); detallearqueo.ID_ARQUEO = lt_DET_ARQUEO.GetString("ID_ARQUEO"); detallearqueo.ID_DENOMINACION = lt_DET_ARQUEO.GetString("ID_DENOMINACION"); detallearqueo.CANTIDAD = lt_DET_ARQUEO.GetString("CANTIDAD"); detallearqueo.MONTO_TOTAL = lt_DET_ARQUEO.GetString("MONTO_TOTAL"); detalle_arqueo.Add(detallearqueo); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } lt_RESUMEN_CAJA = BapiGetUser.GetTable("RESUMEN_CAJA"); try { for (int i = 0; i < lt_RESUMEN_CAJA.Count(); i++) { lt_RESUMEN_CAJA.CurrentIndex = i; resumencaja = new RESUMEN_CAJA(); resumencaja.ID_SUCURSAL = lt_RESUMEN_CAJA.GetString("ID_SUCURSAL"); resumencaja.SUCURSAL = lt_RESUMEN_CAJA.GetString("SUCURSAL"); resumencaja.ID_CAJA = lt_RESUMEN_CAJA.GetString("ID_CAJA"); resumencaja.NOM_CAJA = lt_RESUMEN_CAJA.GetString("NOM_CAJA"); resumencaja.MONTO_EFEC = lt_RESUMEN_CAJA.GetString("MONTO_EFEC"); MontoEfect = MontoEfect + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_EFEC")); resumencaja.MONTO_DIA = lt_RESUMEN_CAJA.GetString("MONTO_DIA"); MontoChqDia = MontoChqDia + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_DIA")); resumencaja.MONTO_FECHA = lt_RESUMEN_CAJA.GetString("MONTO_FECHA"); MontoChqFech = MontoChqFech + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_FECHA")); resumencaja.MONTO_TRANSF = lt_RESUMEN_CAJA.GetString("MONTO_TRANSF"); MontoTransf = MontoTransf + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_TRANSF")); resumencaja.MONTO_VALE_V = lt_RESUMEN_CAJA.GetString("MONTO_VALE_V"); MontoValeV = MontoValeV + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_VALE_V")); resumencaja.MONTO_DEP = lt_RESUMEN_CAJA.GetString("MONTO_DEP"); MontoDepot = MontoDepot + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_DEP")); resumencaja.MONTO_TARJ = lt_RESUMEN_CAJA.GetString("MONTO_TARJ"); MontoTarj = MontoTarj + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_TARJ")); resumencaja.MONTO_FINANC = lt_RESUMEN_CAJA.GetString("MONTO_FINANC"); MontoFinanc = MontoFinanc + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_FINANC")); resumencaja.MONTO_APP = lt_RESUMEN_CAJA.GetString("MONTO_APP"); MontoApp = MontoApp + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_APP")); resumencaja.MONTO_CREDITO = lt_RESUMEN_CAJA.GetString("MONTO_CREDITO"); MontoCredit = MontoCredit + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_CREDITO")); //resumencaja.MONEDA = lt_RESUMEN_CAJA.GetString("MONEDA"); resumen_caja.Add(resumencaja); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } lt_RENDICION_CAJA = BapiGetUser.GetTable("RENDICION_CAJA"); try { for (int i = 0; i < lt_RENDICION_CAJA.Count(); i++) { lt_RENDICION_CAJA.CurrentIndex = i; rendicioncaja = new RENDICION_CAJA(); rendicioncaja.N_VENTA = lt_RENDICION_CAJA.GetString("N_VENTA"); rendicioncaja.DOC_TRIB = lt_RENDICION_CAJA.GetString("DOC_TRIB"); rendicioncaja.CAJERO = lt_RENDICION_CAJA.GetString("CAJERO"); rendicioncaja.FEC_EMI = lt_RENDICION_CAJA.GetString("FEC_EMI"); rendicioncaja.FEC_VENC = lt_RENDICION_CAJA.GetString("FEC_VENC"); rendicioncaja.MONTO = lt_RENDICION_CAJA.GetString("MONTO"); rendicioncaja.NAME1 = lt_RENDICION_CAJA.GetString("NAME1"); rendicioncaja.NUM_CHEQUE = lt_RENDICION_CAJA.GetString("NUM_CHEQUE"); rendicioncaja.MONTO_DIA = lt_RENDICION_CAJA.GetString("MONTO_DIA"); MontoChqDia = MontoChqDia + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_DIA")); rendicioncaja.MONTO_FECHA = lt_RENDICION_CAJA.GetString("MONTO_FECHA"); MontoChqFech = MontoChqFech + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_FECHA")); rendicioncaja.MONTO_EFEC = lt_RENDICION_CAJA.GetString("MONTO_EFEC"); MontoEfect = MontoEfect + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_EFEC")); rendicioncaja.MONTO_TRANSF = lt_RENDICION_CAJA.GetString("MONTO_TRANSF"); MontoTransf = MontoTransf + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_TRANSF")); rendicioncaja.MONTO_VALE_V = lt_RENDICION_CAJA.GetString("MONTO_VALE_V"); MontoValeV = MontoValeV + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_VALE_V")); rendicioncaja.MONTO_DEP = lt_RENDICION_CAJA.GetString("MONTO_DEP"); MontoDepot = MontoDepot + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_DEP")); rendicioncaja.MONTO_TARJ = lt_RENDICION_CAJA.GetString("MONTO_TARJ"); MontoTarj = MontoTarj + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_TARJ")); rendicioncaja.MONTO_FINANC = lt_RENDICION_CAJA.GetString("MONTO_FINANC"); MontoFinanc = MontoFinanc + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_FINANC")); rendicioncaja.MONTO_APP = lt_RENDICION_CAJA.GetString("MONTO_APP"); MontoApp = MontoApp + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_APP")); rendicioncaja.MONTO_CREDITO = lt_RENDICION_CAJA.GetString("MONTO_CREDITO"); MontoCredit = MontoCredit + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_CREDITO")); //rendicioncaja.PATENTE = lt_RENDICION_CAJA.GetString("PATENTE"); //rendicioncaja.MONTO_C_CURSE = lt_RENDICION_CAJA.GetString("MONTO_C_CURSE"); //MontoCCurse = MontoCCurse + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_C_CURSE")); rendicioncaja.DOC_SAP = lt_RENDICION_CAJA.GetString("DOC_SAP"); rendicioncaja.MONEDA = lt_RENDICION_CAJA.GetString("MONEDA"); rendicion_caja.Add(rendicioncaja); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } lt_RESUMEN_MENSUAL = BapiGetUser.GetTable("RESUMEN_MENSUAL"); try { for (int i = 0; i < lt_RESUMEN_MENSUAL.Count(); i++) { lt_RESUMEN_MENSUAL.CurrentIndex = i; resumenmensual = new RESUMEN_MENSUAL(); resumenmensual.ID_SUCURSAL = lt_RESUMEN_MENSUAL.GetString("ID_SUCURSAL"); resumenmensual.ID_CAJA = lt_RESUMEN_MENSUAL.GetString("ID_CAJA"); resumenmensual.SUCURSAL = lt_RESUMEN_MENSUAL.GetString("SUCURSAL"); resumenmensual.NOM_CAJA = lt_RESUMEN_MENSUAL.GetString("NOM_CAJA"); resumenmensual.CAJERO = lt_RESUMEN_MENSUAL.GetString("CAJERO"); resumenmensual.AREA_VTAS = lt_RESUMEN_MENSUAL.GetString("AREA_VTAS"); resumenmensual.FLUJO_DOCS = lt_RESUMEN_MENSUAL.GetString("FLUJO_DOCS"); resumenmensual.TOTAL_MOV = lt_RESUMEN_MENSUAL.GetString("TOTAL_MOV"); resumenmensual.TOTAL_INGR = lt_RESUMEN_MENSUAL.GetString("TOTAL_INGR"); resumenmensual.MONTO_EFEC = lt_RESUMEN_MENSUAL.GetString("MONTO_EFEC"); MontoEfect = MontoEfect + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_EFEC")); resumenmensual.MONTO_DIA = lt_RESUMEN_MENSUAL.GetString("MONTO_DIA"); MontoChqDia = MontoChqDia + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_DIA")); resumenmensual.MONTO_FECHA = lt_RESUMEN_MENSUAL.GetString("MONTO_FECHA"); MontoChqFech = MontoChqFech + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_FECHA")); resumenmensual.MONTO_TRANSF = lt_RESUMEN_MENSUAL.GetString("MONTO_TRANSF"); MontoTransf = MontoTransf + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_TRANSF")); resumenmensual.MONTO_VALE_V = lt_RESUMEN_MENSUAL.GetString("MONTO_VALE_V"); MontoValeV = MontoValeV + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_VALE_V")); resumenmensual.MONTO_DEP = lt_RESUMEN_MENSUAL.GetString("MONTO_DEP"); MontoDepot = MontoDepot + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_DEP")); resumenmensual.MONTO_TARJ = lt_RESUMEN_MENSUAL.GetString("MONTO_TARJ"); MontoTarj = MontoTarj + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_TARJ")); resumenmensual.MONTO_FINANC = lt_RESUMEN_MENSUAL.GetString("MONTO_FINANC"); MontoFinanc = MontoFinanc + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_FINANC")); resumenmensual.MONTO_APP = lt_RESUMEN_MENSUAL.GetString("MONTO_APP"); MontoApp = MontoApp + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_APP")); resumenmensual.MONTO_CREDITO = lt_RESUMEN_MENSUAL.GetString("MONTO_CREDITO"); MontoCredit = MontoCredit + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_CREDITO")); //resumenmensual.MONTO_C_CURSE = lt_RESUMEN_MENSUAL.GetString("MONTO_C_CURSE"); //MontoCCurse = MontoCCurse + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_C_CURSE")); resumenmensual.TOTAL_CAJERO = lt_RESUMEN_MENSUAL.GetString("TOTAL_CAJERO"); resumenmensual.MONEDA = lt_RESUMEN_MENSUAL.GetString("MONEDA"); resumen_mensual.Add(resumenmensual); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } ls_RETORNO = BapiGetUser.GetStructure("RETORNO"); try { for (int i = 0; i < ls_RETORNO.Count(); i++) { //ls_RETORNO.CurrentIndex = i; retorno = new RETORNO(); if (ls_RETORNO.GetString("TYPE") == "S") { message = message + " - " + ls_RETORNO.GetString("MESSAGE"); } if (ls_RETORNO.GetString("TYPE") == "E") { errormessage = errormessage + " - " + ls_RETORNO.GetString("MESSAGE"); } retorno.TYPE = ls_RETORNO.GetString("TYPE"); retorno.ID = ls_RETORNO.GetString("ID"); retorno.NUMBER = ls_RETORNO.GetString("NUMBER"); retorno.MESSAGE = ls_RETORNO.GetString("MESSAGE"); retorno.LOG_NO = ls_RETORNO.GetString("LOG_NO"); retorno.LOG_MSG_NO = ls_RETORNO.GetString("LOG_MSG_NO"); retorno.MESSAGE_V1 = ls_RETORNO.GetString("MESSAGE_V1"); retorno.MESSAGE_V2 = ls_RETORNO.GetString("MESSAGE_V2"); retorno.MESSAGE_V3 = ls_RETORNO.GetString("MESSAGE_V3"); retorno.MESSAGE_V4 = ls_RETORNO.GetString("MESSAGE_V4"); retorno.PARAMETER = ls_RETORNO.GetString("PARAMETER"); retorno.ROW = ls_RETORNO.GetString("ROW"); retorno.FIELD = ls_RETORNO.GetString("FIELD"); retorno.SYSTEM = ls_RETORNO.GetString("SYSTEM"); T_Retorno.Add(retorno); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } } else { errormessage = retval; MessageBox.Show("No se pudo conectar a la RFC"); } GC.Collect(); } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } }
public void reimprcomprobantes(string P_UNAME, string P_PASSWORD, string P_IDSISTEMA, string P_INSTANCIA, string P_MANDANTE, string P_SAPROUTER, string P_SERVER, string P_IDIOMA, List <VIAS_PAGO2> P_VIASPAGO, List <DOCUMENTOS> P_DOCSAPAGAR) { try { DatosCabecera.Clear(); DatosDetalle.Clear(); DatosDocumentos.Clear(); DatosViaPago.Clear(); DatosCaja.Clear(); DatosCliente.Clear(); DatosEmpresa.Clear(); IRfcStructure lt_DATOS_CAJA; IRfcStructure lt_DATOS_CLIENTES; IRfcTable lt_DATOS_DOCUMENTOS; IRfcTable lt_DATOS_VP; IRfcTable lt_DATOSEMPRESA; //DATOS_CAJA DATOS_CAJA_resp; DATOS_CLIENTES datosclientes; DATOS_CAJA datoscaja; DATOS_DOCUMENTOS datosdocumentos; DATOS_VP datosvp; INFO_SOC datosempresa; //Conexion a SAP connectorSap.idioma = P_IDIOMA; connectorSap.idSistema = P_IDSISTEMA; connectorSap.instancia = P_INSTANCIA; connectorSap.mandante = P_MANDANTE; connectorSap.paswr = P_PASSWORD; connectorSap.sapRouter = P_SAPROUTER; connectorSap.user = P_UNAME; connectorSap.server = P_SERVER; string retval = connectorSap.connectionsSAP(); //Si el valor de retorno es nulo o vacio, hay conexion a SAP y la RFC trae datos if (string.IsNullOrEmpty(retval)) { RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(connectorSap.connectorConfig); RfcRepository SapRfcRepository = SapRfcDestination.Repository; IRfcFunction BapiGetUser = SapRfcRepository.CreateFunction("ZSCP_FM_REC_IMP_COMPROBANTE"); try { IRfcTable GralDat = BapiGetUser.GetTable("VIAS_PAGO"); for (var i = 0; i < P_VIASPAGO.Count; i++) { GralDat.Append(); GralDat.SetValue("MANDT", P_VIASPAGO[i].MANDT); GralDat.SetValue("LAND", P_VIASPAGO[i].LAND); GralDat.SetValue("ID_COMPROBANTE", P_VIASPAGO[i].ID_COMPROBANTE); GralDat.SetValue("ID_DETALLE", P_VIASPAGO[i].ID_DETALLE); GralDat.SetValue("VIA_PAGO", P_VIASPAGO[i].VIA_PAGO); GralDat.SetValue("MONTO", P_VIASPAGO[i].MONTO); GralDat.SetValue("MONEDA", P_VIASPAGO[i].MONEDA); if (P_VIASPAGO[i].BANCO != "") { GralDat.SetValue("BANCO", P_VIASPAGO[i].BANCO.Substring(0, 3)); } else { GralDat.SetValue("BANCO", P_VIASPAGO[i].BANCO); } GralDat.SetValue("EMISOR", P_VIASPAGO[i].EMISOR); GralDat.SetValue("NUM_CHEQUE", P_VIASPAGO[i].NUM_CHEQUE); GralDat.SetValue("COD_AUTORIZACION", P_VIASPAGO[i].COD_AUTORIZACION); GralDat.SetValue("NUM_CUOTAS", P_VIASPAGO[i].NUM_CUOTAS); if (P_VIASPAGO[i].FECHA_VENC != "0000-00-00") { GralDat.SetValue("FECHA_VENC", Convert.ToDateTime(P_VIASPAGO[i].FECHA_VENC)); } GralDat.SetValue("TEXTO_POSICION", P_VIASPAGO[i].TEXTO_POSICION); GralDat.SetValue("ANEXO", P_VIASPAGO[i].ANEXO); GralDat.SetValue("SUCURSAL", P_VIASPAGO[i].SUCURSAL); GralDat.SetValue("NUM_CUENTA", P_VIASPAGO[i].NUM_CUENTA); GralDat.SetValue("NUM_TARJETA", P_VIASPAGO[i].NUM_TARJETA); GralDat.SetValue("NUM_VALE_VISTA", P_VIASPAGO[i].NUM_VALE_VISTA); GralDat.SetValue("PATENTE", P_VIASPAGO[i].PATENTE); GralDat.SetValue("NUM_VENTA", P_VIASPAGO[i].NUM_VENTA); GralDat.SetValue("PAGARE", P_VIASPAGO[i].PAGARE); if (P_VIASPAGO[i].FECHA_EMISION != "0000-00-00") { GralDat.SetValue("FECHA_EMISION", Convert.ToDateTime(P_VIASPAGO[i].FECHA_EMISION)); } GralDat.SetValue("NOMBRE_GIRADOR", P_VIASPAGO[i].NOMBRE_GIRADOR); GralDat.SetValue("CARTA_CURSE", P_VIASPAGO[i].CARTA_CURSE); GralDat.SetValue("NUM_TRANSFER", P_VIASPAGO[i].NUM_TRANSFER); GralDat.SetValue("NUM_DEPOSITO", P_VIASPAGO[i].NUM_DEPOSITO); GralDat.SetValue("CTA_BANCO", P_VIASPAGO[i].CTA_BANCO); GralDat.SetValue("IFINAN", P_VIASPAGO[i].IFINAN); GralDat.SetValue("CORRE", P_VIASPAGO[i].CORRE); GralDat.SetValue("ZUONR", P_VIASPAGO[i].ZUONR); GralDat.SetValue("HKONT", P_VIASPAGO[i].HKONT); GralDat.SetValue("PRCTR", P_VIASPAGO[i].PRCTR); } BapiGetUser.SetValue("VIAS_PAGO", GralDat); } catch (Exception ex) { Console.WriteLine("{0} Exception caught.", ex); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } try { IRfcTable GralDat2 = BapiGetUser.GetTable("DOCUMENTOS"); for (var i = 0; i < P_DOCSAPAGAR.Count; i++) { GralDat2.Append(); GralDat2.SetValue("MANDT", P_DOCSAPAGAR[i].MANDT); GralDat2.SetValue("LAND", P_DOCSAPAGAR[i].LAND); GralDat2.SetValue("ID_COMPROBANTE", P_DOCSAPAGAR[i].ID_COMPROBANTE); GralDat2.SetValue("POSICION", P_DOCSAPAGAR[i].POSICION); GralDat2.SetValue("CLIENTE", P_DOCSAPAGAR[i].CLIENTE); GralDat2.SetValue("TIPO_DOCUMENTO", P_DOCSAPAGAR[i].CLASE_DOC); GralDat2.SetValue("SOCIEDAD", P_DOCSAPAGAR[i].SOCIEDAD); if (i == 0) { NumDocCont = P_DOCSAPAGAR[i].NRO_DOCUMENTO; } GralDat2.SetValue("NRO_DOCUMENTO", P_DOCSAPAGAR[i].NRO_DOCUMENTO); GralDat2.SetValue("NRO_REFERENCIA", P_DOCSAPAGAR[i].NRO_REFERENCIA); GralDat2.SetValue("CAJERO_RESP", P_DOCSAPAGAR[i].CAJERO_RESP); GralDat2.SetValue("CAJERO_GEN", P_DOCSAPAGAR[i].CAJERO_GEN); GralDat2.SetValue("ID_CAJA", P_DOCSAPAGAR[i].ID_CAJA); GralDat2.SetValue("FECHA_COMP", P_DOCSAPAGAR[i].FECHA_COMP); GralDat2.SetValue("HORA", P_DOCSAPAGAR[i].HORA); GralDat2.SetValue("NRO_COMPENSACION", P_DOCSAPAGAR[i].NRO_COMPENSACION); GralDat2.SetValue("TEXTO_CABECERA", P_DOCSAPAGAR[i].TEXTO_CABECERA); GralDat2.SetValue("NULO", P_DOCSAPAGAR[i].NULO); GralDat2.SetValue("USR_ANULADOR", P_DOCSAPAGAR[i].USR_ANULADOR); GralDat2.SetValue("NRO_ANULACION", P_DOCSAPAGAR[i].NRO_ANULACION); GralDat2.SetValue("APROBADOR_ANULA", P_DOCSAPAGAR[i].APROBADOR_ANULA); GralDat2.SetValue("TXT_ANULACION", P_DOCSAPAGAR[i].TXT_ANULACION); GralDat2.SetValue("EXCEPCION", P_DOCSAPAGAR[i].EXCEPCION); if (P_DOCSAPAGAR[i].FECHA_COMP != "0000-00-00") { GralDat2.SetValue("FECHA_DOC", Convert.ToDateTime(P_DOCSAPAGAR[i].FECHA_COMP)); } if (P_DOCSAPAGAR[i].FECHA_VENC_DOC != "0000-00-00") { GralDat2.SetValue("FECHA_VENC_DOC", Convert.ToDateTime(P_DOCSAPAGAR[i].FECHA_VENC_DOC)); } GralDat2.SetValue("NUM_CUOTA", P_DOCSAPAGAR[i].NUM_CUOTA); GralDat2.SetValue("MONTO_DOC", P_DOCSAPAGAR[i].MONTO_DOC); GralDat2.SetValue("MONTO_DIFERENCIA", P_DOCSAPAGAR[i].MONTO_DIFERENCIA); GralDat2.SetValue("TEXTO_EXCEPCION", P_DOCSAPAGAR[i].TEXTO_EXCEPCION); GralDat2.SetValue("PARCIAL", P_DOCSAPAGAR[i].PARCIAL); GralDat2.SetValue("TIME", P_DOCSAPAGAR[i].TIME); GralDat2.SetValue("APROBADOR_EX", P_DOCSAPAGAR[i].APROBADOR_EX); GralDat2.SetValue("MONEDA", P_DOCSAPAGAR[i].MONEDA); GralDat2.SetValue("CLASE_CUENTA", P_DOCSAPAGAR[i].CLASE_CUENTA); GralDat2.SetValue("CLASE_DOC", P_DOCSAPAGAR[i].CLASE_DOC); GralDat2.SetValue("NUM_CANCELACION", P_DOCSAPAGAR[i].NUM_CANCELACION); GralDat2.SetValue("CME", P_DOCSAPAGAR[i].CME); GralDat2.SetValue("NOTA_VENTA", P_DOCSAPAGAR[i].NOTA_VENTA); GralDat2.SetValue("CEBE", P_DOCSAPAGAR[i].CEBE); GralDat2.SetValue("ACC", P_DOCSAPAGAR[i].ACC); } BapiGetUser.SetValue("DOCUMENTOS", GralDat2); } catch (Exception ex) { Console.WriteLine("{0} Exception caught.", ex); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } BapiGetUser.Invoke(SapRfcDestination); //LLenamos los datos que retorna la estructura de la RFC try { lt_DATOS_CAJA = BapiGetUser.GetStructure("DATOS_CAJA"); for (int i = 0; i < lt_DATOS_CAJA.Count(); i++) { //lt_DATOS_CAJA.CurrentIndex = i; datoscaja = new DATOS_CAJA(); datoscaja.NAME_CAJERO = lt_DATOS_CAJA.GetString("NAME_CAJERO"); datoscaja.USUARIO = lt_DATOS_CAJA.GetString("USUARIO"); datoscaja.ID_COMPROBANTE = lt_DATOS_CAJA.GetString("ID_COMPROBANTE"); datoscaja.NRO_DOCUMENTO = lt_DATOS_CAJA.GetString("NRO_DOCUMENTO"); datoscaja.NOM_SOCIEDAD = lt_DATOS_CAJA.GetString("NOM_SOCIEDAD"); datoscaja.RUT_SOCIEDAD = lt_DATOS_CAJA.GetString("RUT_SOCIEDAD"); datoscaja.NOM_CAJA = lt_DATOS_CAJA.GetString("NOM_CAJA"); DatosCaja.Add(datoscaja); } } catch (Exception ex) { Console.WriteLine("{0} Exception caught.", ex); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } try { lt_DATOS_CLIENTES = BapiGetUser.GetStructure("DATOS_CLIENTES"); for (int i = 0; i < lt_DATOS_CLIENTES.Count(); i++) { //lt_DATOS_CLIENTES.CurrentIndex = i; datosclientes = new DATOS_CLIENTES(); datosclientes.RUT = lt_DATOS_CLIENTES.GetString("RUT"); datosclientes.NOMBRE = lt_DATOS_CLIENTES.GetString("NOMBRE"); DatosCliente.Add(datosclientes); } } catch (Exception ex) { Console.WriteLine("{0} Exception caught.", ex); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } try { lt_DATOS_DOCUMENTOS = BapiGetUser.GetTable("DATOS_DOCUMENTOS"); for (int i = 0; i < lt_DATOS_DOCUMENTOS.Count(); i++) { lt_DATOS_DOCUMENTOS.CurrentIndex = i; datosdocumentos = new DATOS_DOCUMENTOS(); datosdocumentos.TXT_DOCU = lt_DATOS_DOCUMENTOS.GetString("TXT_DOCU"); datosdocumentos.NRO_DOCUMENTO = lt_DATOS_DOCUMENTOS.GetString("NRO_DOCUMENTO"); datosdocumentos.FECHA_DOC = lt_DATOS_DOCUMENTOS.GetString("FECHA_DOC"); datosdocumentos.FECHA_VENC_DOC = lt_DATOS_DOCUMENTOS.GetString("FECHA_VENC_DOC"); datosdocumentos.MONEDA = lt_DATOS_DOCUMENTOS.GetString("MONEDA"); string str = datosdocumentos.MONEDA; switch (str) { case "USD": //string Valor3 = lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_MO").Trim(); //Valor3 = Valor3.Replace(".", ""); //Valor3 = Valor3.Replace(",", ""); //decimal ValorAux3 = Convert.ToDecimal(Valor3.Substring(0, Valor3.Length - 2)); //string Cualquiernombre3 = string.Format("{0:0,0}", ValorAux3); datosdocumentos.MONTO_DOC_MO = Formato.FormatoMonedaExtranjera(lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_MO").Trim()); //string Valor4 = lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_ML").Trim(); //Valor4 = Valor4.Replace(".", ""); //Valor4 = Valor4.Replace(",", ""); //decimal ValorAux4 = Convert.ToDecimal(Valor4.Substring(0, Valor4.Length - 2)); //string Cualquiernombre4 = string.Format("{0:0,0}", ValorAux4); datosdocumentos.MONTO_DOC_ML = Formato.FormatoMonedaExtranjera(lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_ML").Trim()); break; case "EUR": //string Valor6 = lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_MO").Trim(); //Valor6 = Valor6.Replace(".", ""); //Valor6 = Valor6.Replace(",", ""); //decimal ValorAux6 = Convert.ToDecimal(Valor6.Substring(0, Valor6.Length - 2)); //string Cualquiernombre6 = string.Format("{0:0,0}", ValorAux6); datosdocumentos.MONTO_DOC_MO = Formato.FormatoMonedaExtranjera(lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_MO").Trim()); //string Valor7 = lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_ML").Trim(); //Valor7 = Valor7.Replace(".", ""); //Valor7 = Valor7.Replace(",", ""); //decimal ValorAux7 = Convert.ToDecimal(Valor7.Substring(0, Valor7.Length - 2)); //string Cualquiernombre7 = string.Format("{0:0,0}", ValorAux7); datosdocumentos.MONTO_DOC_ML = Formato.FormatoMonedaExtranjera(lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_ML").Trim()); break; case "CLP": datosdocumentos.MONTO_DOC_MO = Formato.FormatoMoneda(lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_MO")); datosdocumentos.MONTO_DOC_ML = Formato.FormatoMoneda(lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_ML")); break; } datosdocumentos.PEDIDO = lt_DATOS_DOCUMENTOS.GetString("PEDIDO"); DatosDocumentos.Add(datosdocumentos); } } catch (Exception ex) { Console.WriteLine("{0} Exception caught.", ex); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } try { lt_DATOSEMPRESA = BapiGetUser.GetTable("INFO_SOC"); for (int i = 0; i < lt_DATOSEMPRESA.Count(); i++) { lt_DATOSEMPRESA.CurrentIndex = i; datosempresa = new INFO_SOC(); datosempresa.BUKRS = lt_DATOSEMPRESA.GetString("BUKRS"); datosempresa.BUTXT = lt_DATOSEMPRESA.GetString("BUTXT"); datosempresa.STCD1 = lt_DATOSEMPRESA.GetString("STCD1"); DatosEmpresa.Add(datosempresa); } } catch (Exception ex) { Console.WriteLine("{0} Exception caught.", ex); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } try { lt_DATOS_VP = BapiGetUser.GetTable("DATOS_VP"); for (int i = 0; i < lt_DATOS_VP.Count(); i++) { lt_DATOS_VP.CurrentIndex = i; datosvp = new DATOS_VP(); datosvp.NUM_POS = lt_DATOS_VP.GetString("NUM_POS"); datosvp.DESCRIP_VP = lt_DATOS_VP.GetString("DESCRIP_VP"); datosvp.NUM_VP = lt_DATOS_VP.GetString("NUM_VP"); datosvp.FECHA_EMISION = lt_DATOS_VP.GetString("FECHA_EMISION"); datosvp.FECHA_VENC = lt_DATOS_VP.GetString("FECHA_VENC"); datosvp.MONEDA = lt_DATOS_VP.GetString("MONEDA"); string str = datosvp.MONEDA; switch (str) { case "USD": //string Valor = lt_DATOS_VP.GetString("MONTO_MO").Trim(); //Valor = Valor.Replace(".", ""); //Valor = Valor.Replace(",", ""); //decimal ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); //string Cualquiernombre = string.Format("{0:0,0}", ValorAux); datosvp.MONTO_MO = Formato.FormatoMonedaExtranjera(lt_DATOS_VP.GetString("MONTO_MO").Trim()); //string Valor2 = lt_DATOS_VP.GetString("MONTO_ML").Trim(); //Valor2 = Valor2.Replace(".", ""); //Valor2 = Valor2.Replace(",", ""); //decimal ValorAux2 = Convert.ToDecimal(Valor2.Substring(0, Valor2.Length - 2)); //string Cualquiernombre2 = string.Format("{0:0,0}", ValorAux2); datosvp.MONTO_ML = Formato.FormatoMonedaExtranjera(lt_DATOS_VP.GetString("MONTO_ML").Trim()); break; case "EUR": //string Valor1 = lt_DATOS_VP.GetString("MONTO_MO").Trim(); //Valor1 = Valor1.Replace(".", ""); //Valor1 = Valor1.Replace(",", ""); //decimal ValorAux1 = Convert.ToDecimal(Valor1.Substring(0, Valor1.Length - 2)); //string Cualquiernombre1 = string.Format("{0:0,0}", ValorAux1); datosvp.MONTO_MO = Formato.FormatoMonedaExtranjera(lt_DATOS_VP.GetString("MONTO_MO").Trim()); //string Valor5 = lt_DATOS_VP.GetString("MONTO_ML").Trim(); //Valor5 = Valor5.Replace(".", ""); //Valor5 = Valor5.Replace(",", ""); //decimal ValorAux5 = Convert.ToDecimal(Valor5.Substring(0, Valor5.Length - 2)); //string Cualquiernombre5 = string.Format("{0:0,0}", ValorAux5); datosvp.MONTO_ML = Formato.FormatoMonedaExtranjera(lt_DATOS_VP.GetString("MONTO_ML").Trim()); break; case "CLP": datosvp.MONTO_MO = Formato.FormatoMoneda(lt_DATOS_VP.GetString("MONTO_MO")); datosvp.MONTO_ML = Formato.FormatoMoneda(lt_DATOS_VP.GetString("MONTO_ML")); break; } DatosViaPago.Add(datosvp); } } catch (Exception ex) { Console.WriteLine("{0} Exception caught.", ex); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } } GC.Collect(); } catch (InvalidCastException ex) { Console.WriteLine("{0} Exception caught.", ex); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } }