protected void AplicarFiltro_Button_Click(object sender, EventArgs e) { if (!Page.IsValid) { return; } BuildSqlCriteria MyConstruirCriterioSql = new BuildSqlCriteria(); MyConstruirCriterioSql.ContruirFiltro(this.Controls); string sSqlSelectString = MyConstruirCriterioSql.CriterioSql; MyConstruirCriterioSql = null; sSqlSelectString = sSqlSelectString.Replace("PresupuestoMontos", "Presupuesto_Montos"); Session["FiltroForma"] = sSqlSelectString; // ------------------------------------------------------------------------------------------- // para guardar el contenido de los controles de la página para recuperar el state cuando // se abra la proxima vez KeepPageState MyKeepPageState = new KeepPageState(User.Identity.Name, this.GetType().Name.ToString()); MyKeepPageState.SavePageStateInFile(this.Controls); MyKeepPageState = null; // ------------------------------------------------------------------------------------------------------ // nótese lo que hacemos aquí para que RegisterStartupScript funcione cuando ejecutamos en Chrome ... ScriptManager.RegisterStartupScript(this, this.GetType(), "CloseWindowScript", "<script language='javascript'>window.opener.RefreshPage(); window.close();</script>", false); // --------------------------------------------------------------------------------------------- }
protected void AplicarFiltro_Button_Click(object sender, EventArgs e) { if (this.Sql_Companias_Numero_Numeric.SelectedIndex == -1) { // el usuario debe siempre seleccionar, al menos, una compañía en la lista ErrMessage_Span.InnerHtml = "Ud. debe seleccionar una Cia Contab de la lista."; ErrMessage_Span.Style["display"] = "block"; return; } // nótese como excluímos el item dPagos.FechaPago, que tratamos en forma separada más adelante BuildSqlCriteria MyConstruirCriterioSql = new BuildSqlCriteria(); MyConstruirCriterioSql.ContruirFiltro(this.Controls); string sSqlSelectString = MyConstruirCriterioSql.CriterioSql; MyConstruirCriterioSql = null; sSqlSelectString = sSqlSelectString.Replace("DisponibilidadMontosRestringidos", "Disponibilidad_MontosRestringidos"); if (SuspendidaFlag_DropDownList.SelectedItem.ToString() != "") { switch (SuspendidaFlag_DropDownList.SelectedValue) { case "1": sSqlSelectString = sSqlSelectString + " And (SuspendidoFlag = 1)"; break; case "0": sSqlSelectString = sSqlSelectString + " And (SuspendidoFlag = 0)"; break; } } Session["FiltroForma"] = sSqlSelectString; // ------------------------------------------------------------------------------------------- // para guardar el contenido de los controles de la página para recuperar el state cuando // se abra la proxima vez KeepPageState MyKeepPageState = new KeepPageState(User.Identity.Name, this.GetType().Name.ToString()); MyKeepPageState.SavePageStateInFile(this.Controls); MyKeepPageState = null; // ------------------------------------------------------------------------------------------------------ // nótese lo que hacemos aquí para que RegisterStartupScript funcione cuando ejecutamos en Chrome ... ScriptManager.RegisterStartupScript(this, this.GetType(), "CloseWindowScript", "<script language='javascript'>window.opener.RefreshPage(); window.close();</script>", false); // --------------------------------------------------------------------------------------------- }
protected void AplicarFiltro_Button_Click(object sender, EventArgs e) { if (Sql_it_Chequera_CuentasBancaria_Cia_Numeric.SelectedIndex == -1) { // el usuario debe siempre seleccionar, al menos, una compañía en la lista ErrMessage_Span.InnerHtml = "Ud. debe seleccionar una Cia Contab de la lista."; ErrMessage_Span.Style["display"] = "block"; return; } BuildSqlCriteria MyConstruirCriterioSql = new BuildSqlCriteria(); MyConstruirCriterioSql.LinqToEntities = true; // para que regrese un filtro apropiado para linq to entities ... MyConstruirCriterioSql.ContruirFiltro(this.Controls); string sSqlSelectString = MyConstruirCriterioSql.CriterioSql; MyConstruirCriterioSql = null; Session["FiltroForma"] = sSqlSelectString; // ------------------------------------------------------------------------------------------------------------------------- // para guardar el contenido de los controles de la página para recuperar el state cuando se abra la proxima vez KeepPageState MyKeepPageState = new KeepPageState(Membership.GetUser().UserName, this.GetType().Name.ToString()); MyKeepPageState.SavePageStateInFile(this.Controls); MyKeepPageState = null; // para cerrar esta página y "refrescar" la que la abrió ... //System.Text.StringBuilder sb = new System.Text.StringBuilder(); //sb.Append("window.opener.RefreshPage();"); //sb.Append("window.close();"); //ClientScript.RegisterClientScriptBlock(this.GetType(), "CloseWindowScript", sb.ToString(), true); // --------------------------------------------------------------------------------------------- //System.Text.StringBuilder sb = new System.Text.StringBuilder(); //sb.Append("window.opener.RefreshPage();"); //sb.Append("window.close();"); //ClientScript.RegisterClientScriptBlock(this.GetType(), "CloseWindowScript", sb.ToString(), true); // ------------------------------------------------------------------------------------------------------ // nótese lo que hacemos aquí para que RegisterStartupScript funcione cuando ejecutamos en Chrome ... ScriptManager.RegisterStartupScript(this, this.GetType(), "CloseWindowScript", "<script language='javascript'>window.opener.RefreshPage(); window.close();</script>", false); }
protected void AplicarFiltro_Button_Click(object sender, EventArgs e) { if (this.Sql_CuentasBancarias_Cia_Numeric.SelectedIndex == -1) { // el usuario debe siempre seleccionar, al menos, una compañía en la lista ErrMessage_Span.InnerHtml = "Ud. debe seleccionar una Cia Contab de la lista."; ErrMessage_Span.Style["display"] = "block"; return; } // nótese como excluímos el item dPagos.FechaPago, que tratamos en forma separada más adelante BuildSqlCriteria MyConstruirCriterioSql = new BuildSqlCriteria("E", "Sql_dPagos_FechaPago_Date"); MyConstruirCriterioSql.ContruirFiltro(this.Controls); string sSqlSelectString = MyConstruirCriterioSql.CriterioSql; MyConstruirCriterioSql = null; // Linq es algo restrictivo en estos casos ... while (sSqlSelectString.IndexOf("CuentasBancarias.") >= 0) { sSqlSelectString = sSqlSelectString.Replace("CuentasBancarias.", ""); } Session["FiltroForma"] = sSqlSelectString; Session["FechaDisponibilidadAl"] = Convert.ToDateTime(FechaDisponibilidadAl_TextBox.Text); // ------------------------------------------------------------------------------------------- // para guardar el contenido de los controles de la página para recuperar el state cuando // se abra la proxima vez KeepPageState MyKeepPageState = new KeepPageState(Membership.GetUser().UserName, this.GetType().Name.ToString()); MyKeepPageState.SavePageStateInFile(this.Controls); MyKeepPageState = null; // ------------------------------------------------------------------------------------------------------ // nótese lo que hacemos aquí para que RegisterStartupScript funcione cuando ejecutamos en Chrome ... ScriptManager.RegisterStartupScript(this, this.GetType(), "CloseWindowScript", "<script language='javascript'>window.opener.RefreshPage(); window.close();</script>", false); // --------------------------------------------------------------------------------------------- }
protected void AplicarFiltro_Button_Click(object sender, EventArgs e) { // nótese como excluímos el item dPagos.FechaPago, que tratamos en forma separada más adelante BuildSqlCriteria MyConstruirCriterioSql = new BuildSqlCriteria(); MyConstruirCriterioSql.LinqToEntities = true; // para que regrese un filtro apropiado para linq to entities ... MyConstruirCriterioSql.ContruirFiltro(this.Controls); string sSqlSelectString = MyConstruirCriterioSql.CriterioSql; MyConstruirCriterioSql = null; // las fechas no tienen un nombre adecuado para que la clase anterior las incluya al filtro; preferimos hacerlo aquí, de esta forma if (!String.IsNullOrEmpty(this.fCompra_desde.Text)) { if (!String.IsNullOrEmpty(this.fCompra_hasta.Text)) { // el usuario usó ambas fechas para indicar un período sSqlSelectString = sSqlSelectString + " And (it.FechaCompra Between DateTime'" + Convert.ToDateTime(this.fCompra_desde.Text).ToString("yyyy-MM-dd H:m:s") + "'"; sSqlSelectString = sSqlSelectString + " And DateTime'" + Convert.ToDateTime(this.fCompra_hasta.Text).ToString("yyyy-MM-dd H:m:s") + "')"; } else { // el usuario usó solo la fecha de inicio para buscar solo para esa fecha sSqlSelectString = sSqlSelectString + " And (it.FechaCompra = DateTime'" + Convert.ToDateTime(this.fCompra_desde.Text).ToString("yyyy-MM-dd H:m:s") + "'"; } } if (!String.IsNullOrEmpty(this.fDesincorporacion_desde.Text)) { if (!String.IsNullOrEmpty(this.fDesincorporacion_hasta.Text)) { // el usuario usó ambas fechas para indicar un período sSqlSelectString = sSqlSelectString + " And (it.FechaDesincorporacion Between DateTime'" + Convert.ToDateTime(this.fDesincorporacion_desde.Text).ToString("yyyy-MM-dd H:m:s") + "'"; sSqlSelectString = sSqlSelectString + " And DateTime'" + Convert.ToDateTime(this.fDesincorporacion_hasta.Text).ToString("yyyy-MM-dd H:m:s") + "')"; } else { // el usuario usó solo la fecha de inicio para buscar solo para esa fecha sSqlSelectString = sSqlSelectString + " And (it.FechaDesincorporacion = DateTime'" + Convert.ToDateTime(this.fDesincorporacion_desde.Text).ToString("yyyy-MM-dd H:m:s") + "'"; } } // --------------------------------------------------------------------------------------------------------------------- // si el usuario seleccionó uno o varios atributos, agregamos el criterio en forma separada aquí ... var selectedItems = from ListItem i in this.lst_Atributos.Items where i.Selected select i; string filtroAtributos = ""; foreach (var selectedItem in selectedItems) { // buscamos el registro en la tabla AtributosAsignados y construimos el criterio if (filtroAtributos == "") { filtroAtributos = "it.AtributoID IN {" + selectedItem.Value.ToString(); } else { filtroAtributos += ", " + selectedItem.Value.ToString(); } } // si el usuario seleccionó atributos, buscamos los ID de activos fijos en la tabla AtributosAsignados ... if (filtroAtributos != "") { filtroAtributos += "}"; dbContab_ActFijos_Entities actFijos_context = new dbContab_ActFijos_Entities(); string filtroAtributosActivosFijos = ""; var queryAtributosAsignados = (from a in actFijos_context.AtributosAsignados.Where(filtroAtributos) select a.ActivoFijoID).Distinct(); foreach (int a in queryAtributosAsignados) { if (filtroAtributosActivosFijos == "") { filtroAtributosActivosFijos = "it.ClaveUnica IN {" + a.ToString(); } else { filtroAtributosActivosFijos += ", " + a.ToString(); } } if (filtroAtributosActivosFijos != "") { filtroAtributosActivosFijos += "}"; sSqlSelectString += " And (" + filtroAtributosActivosFijos + ")"; } } // --------------------------------------------------------------------------------------------------------------------- Session["FiltroForma"] = sSqlSelectString; // ------------------------------------------------------------------------------------------------ // guardamos las fechas del período para posterior referencia Session["ActFijos_Consulta_Mes"] = Convert.ToInt16(this.drpdwn_MesConsulta.SelectedValue); Session["ActFijos_Consulta_Ano"] = Convert.ToInt16(this.txt_AnoConsulta.Text); Session["ActFijos_ExcluirDepreciadosAnosAnteriores"] = Convert.ToBoolean(this.ckh_ExcluirDepreciadosAnosAnteriores.Checked); Session["ActFijos_AplicarInfoDesincorporacion"] = Convert.ToBoolean(this.chk_AplicarInfoDesincorporacion.Checked); // mostramos el nombre del mes de la consulta en el encabezado de la lista que ve el usuario Session["ActFijos_Consulta_NombreMes"] = this.drpdwn_MesConsulta.SelectedItem.Text; Session["ReconvertirCifrasAntes_01Oct2021"] = this.ReconvertirCifrasAntes_01Oct2021_CheckBox.Checked; // ------------------------------------------------------------------------------------------------------------------------- // para guardar el contenido de los controles de la página para recuperar el state cuando se abra la proxima vez KeepPageState MyKeepPageState = new KeepPageState(Membership.GetUser().UserName, this.GetType().Name.ToString()); MyKeepPageState.SavePageStateInFile(this.Controls); MyKeepPageState = null; // ------------------------------------------------------------------------------------------------------ // nótese lo que hacemos aquí para que RegisterStartupScript funcione cuando ejecutamos en Chrome ... ScriptManager.RegisterStartupScript(this, this.GetType(), "CloseWindowScript", "<script language='javascript'>window.opener.RefreshPage(); window.close();</script>", false); }
protected void AplicarFiltro_Button_Click(object sender, EventArgs e) { // el usuario debe indincar una Cia Contab (solo una) if (Sql_CuentasContables_Cia_Numeric.SelectedIndex == -1) { // el usuario debe siempre seleccionar, al menos, una compañía en la lista ErrMessage_Span.InnerHtml = "Ud. debe seleccionar una Cia Contab de la lista."; ErrMessage_Span.Style["display"] = "block"; return; } BuildSqlCriteria MyConstruirCriterioSql = new BuildSqlCriteria(); MyConstruirCriterioSql.ContruirFiltro(this.Controls); string sSqlSelectString = MyConstruirCriterioSql.CriterioSql; MyConstruirCriterioSql = null; sSqlSelectString = sSqlSelectString.Replace("CuentasContables2", "CuentasContables"); Session["FiltroForma"] = sSqlSelectString; // ------------------------------------------------------------------------------------------------ // guardamos las fechas del período para posterior referencia Session["FechaInicialPeriodo"] = Convert.ToDateTime(Desde_TextBox.Text); Session["FechaFinalPeriodo"] = Convert.ToDateTime(Hasta_TextBox.Text); // -------------------------------------------------------------------------------------------- // guardamos el valor de las opciones en variables Session Session["MostrarCuentasSinSaldoYSinMvtos"] = MostrarCuentasSinSaldoYSinMvtos_CheckBox.Checked; Session["MostrarCuentasConSaldoYSinMvtos"] = MostrarCuentasConSaldoYSinMvtos_CheckBox.Checked; Session["MostrarCuentasSaldosEnCero"] = MostrarCuentasConSaldosEnCero_CheckBox.Checked; Session["MostrarCuentasSaldoFinalEnCero"] = MostrarCuentasConSaldoFinalEnCero_CheckBox.Checked; Session["ExcluirAsientosTipoCierreAnual"] = ExcluirAsientosTipoCierreAnual_CheckBox.Checked; Session["ReconvertirCifrasAntes_01Oct2021"] = this.ReconvertirCifrasAntes_01Oct2021_CheckBox.Checked; Session["ExcluirAsientosReconversion_01Oct2021"] = this.ExcluirAsientosReconversion_01Oct2021_CheckBox.Checked; Session["CiaContabSeleccionada"] = this.Sql_CuentasContables_Cia_Numeric.SelectedValue; // ------------------------------------------------------------------------------------------- // para guardar el contenido de los controles de la página para recuperar el state cuando // se abra la proxima vez KeepPageState MyKeepPageState = new KeepPageState(Membership.GetUser().UserName, Page.GetType().Name); MyKeepPageState.SavePageStateInFile(this.Controls); MyKeepPageState = null; //--------------------------------------------------------------------------------------------- //lo que sigue son instrucciones para ejecutar una función javascript en el parent page. La //función pone un hidden field en 1 y hace un submit (refresh) de la página //StringBuilder sb = new StringBuilder(); //sb.Append("window.opener.RefreshPage();"); //sb.Append("window.close();"); //ClientScript.RegisterClientScriptBlock(this.GetType(), "CloseWindowScript", sb.ToString(), true); ScriptManager.RegisterStartupScript(this, this.GetType(), "CloseWindowScript", "<script language='javascript'>window.opener.RefreshPage(); window.close();</script>", false); //--------------------------------------------------------------------------------------------- }
protected void AplicarFiltro_Button_Click(object sender, EventArgs e) { if (Sql_Facturas_Cia_Numeric.SelectedIndex == -1) { // el usuario debe siempre seleccionar, al menos, una compañía en la lista ErrMessage_Span.InnerHtml = "Ud. debe seleccionar una Cia Contab de la lista."; ErrMessage_Span.Style["display"] = "block"; return; } // nótese como excluímos el item dPagos.FechaPago, que tratamos en forma separada más adelante // para que la busqueda por nombre de compañía siempre sea 'genérica' if (!string.IsNullOrEmpty(this.Sql_Proveedores_Nombre_String.Text)) { this.Sql_Proveedores_Nombre_String.Text = this.Sql_Proveedores_Nombre_String.Text.Replace("*", ""); this.Sql_Proveedores_Nombre_String.Text = "*" + this.Sql_Proveedores_Nombre_String.Text.Trim() + "*"; } BuildSqlCriteria MyConstruirCriterioSql = new BuildSqlCriteria("E", "Sql_pg_Fecha_Date, Sql_FacturasImpuestos_FRecepcionRetencionISLR_Date, Sql_FacturasImpuestos_FRecepcionRetencionIVA_Date, Sql_FacturasImpuestos_ImpuestoRetenido_Numeric, Sql_FacturasImpuestos_RetencionSobreIva_Numeric"); MyConstruirCriterioSql.ContruirFiltro(this.Controls); string sSqlSelectString = MyConstruirCriterioSql.CriterioSql; MyConstruirCriterioSql = null; if (MostrarSoloFacturasRetencionISLR_CheckBox.Checked) { sSqlSelectString = sSqlSelectString + " And (Facturas.ImpuestoRetenido Is Not Null And Facturas.ImpuestoRetenido <> 0)"; } if (AfectaLibroCompras_CheckBox.Checked) { sSqlSelectString = sSqlSelectString + " And (Proveedores.AfectaLibroComprasFlag Is Not Null And Proveedores.AfectaLibroComprasFlag = 1)"; } if (MostrarSoloFacturasRetencionIva_CheckBox.Checked) { sSqlSelectString = sSqlSelectString + " And (Facturas.RetencionSobreIva Is Not Null And Facturas.RetencionSobreIva <> 0)"; } if (this.SoloNotasCredito_CheckBox.Checked) { sSqlSelectString = sSqlSelectString + " And (Facturas.NcNdFlag Is Not Null And Facturas.NcNdFlag = 'NC')"; } //sSqlSelectString = sSqlSelectString.Replace("Proveedor2", "Proveedor"); // si el usuario quiere SOLO facturas desde el CCCh, invalidamos este filtro para que // no salgan facturas regulares en la consulta if (LeerSoloFacturasControlCajaChica_CheckBox.Checked) { sSqlSelectString += " And (1 = 2)"; } // tratamos el item dPagos.FechaPago MyConstruirCriterioSql = new BuildSqlCriteria("I", "Sql_pg_Fecha_Date"); MyConstruirCriterioSql.ContruirFiltro(this.Controls); string sSqlSelectString2 = MyConstruirCriterioSql.CriterioSql; MyConstruirCriterioSql = null; // por ahora, permitirmos al usuario una sola opción para consultar facturas con impuestos o retenciones varias; en un futuro, // deben ser dos opciones separadas ... if (this.MostrarSoloFacturasOtrosImpuestos_CheckBox.Checked) { sSqlSelectString = sSqlSelectString + " And ((Facturas.OtrosImpuestos Is Not Null And Facturas.OtrosImpuestos <> 0) Or " + "(Facturas.OtrasRetenciones Is Not Null And Facturas.OtrasRetenciones <> 0))"; } if (sSqlSelectString2 != "1 = 1") { sSqlSelectString = sSqlSelectString + " And Facturas.ClaveUnica In " + "(Select cf.ClaveUnicaFactura From CuotasFactura cf Inner Join dPagos dp On cf.ClaveUnica = dp.ClaveUnicaCuotaFactura " + "Inner Join Pagos pg On dp.ClaveUnicaPago = pg.ClaveUnica Where " + sSqlSelectString2 + ")"; } Session["FiltroForma"] = sSqlSelectString; Session["Report_SubTitle"] = Report_SubTitle_TextBox.Text; Session["ReconvertirCifrasAntes_01Oct2021"] = this.ReconvertirCifrasAntes_01Oct2021_CheckBox.Checked; // ------------------------------------------------------------------------------------------- // si el usuario quiere incluir facturas desde el CCCh, debe indicar un período en el item // FPago Session["FiltroForma_LeerFacturasCCCh"] = ""; if (LeerFacturasControlCajaChica_CheckBox.Checked) { if (Sql_Facturas_FechaRecepcion_Date.Text == "") { ErrMessage_Span.InnerHtml = "Ud. debe indicar un período para seleccionar las facturas en el item 'F recepción'.<br /><br />Si Ud. indica que desea incluir las facturas registradas en el control de caja chica, debe indicar un período de selección para las mismas en el item 'F recepción'."; ErrMessage_Span.Style["display"] = "block"; return; } // construimos un filtro solo con los items FechaRecepción y CiaContab, para leer las // facturas registradas en el Control de Caja Chica MyConstruirCriterioSql = new BuildSqlCriteria("I", "Sql_Facturas_FechaRecepcion_Date, Sql_Facturas_Cia_Numeric"); MyConstruirCriterioSql.ContruirFiltro(this.Controls); sSqlSelectString2 = MyConstruirCriterioSql.CriterioSql; MyConstruirCriterioSql = null; sSqlSelectString2 = sSqlSelectString2.Replace("Facturas", "CajaChica_Reposiciones_Gastos"); sSqlSelectString2 = sSqlSelectString2.Replace("FechaRecepcion", "FechaDocumento"); sSqlSelectString2 = sSqlSelectString2.Replace("Cia", "CiaContab"); Session["FiltroForma_LeerFacturasCCCh"] = sSqlSelectString2; } // ------------------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------------------------------------------------------------------- // si el usuario indica un criterio para impuestos/retenciones iva/islr, todo es un poco más complicado, pues se deben usar // las tablas: Facturas_Impuestos y ImpuestosRetencionesDefinicion Session["FiltroForma_LeerTablasDeImpRet"] = null; string criterio_otras_retenciones_impuestos = "(1 = 1)"; if (!String.IsNullOrEmpty(this.Sql_FacturasImpuestos_FRecepcionRetencionIVA_Date.Text)) { MyConstruirCriterioSql = new BuildSqlCriteria("I", "Sql_FacturasImpuestos_FRecepcionRetencionIVA_Date"); MyConstruirCriterioSql.ContruirFiltro(this.Controls); string criterio = MyConstruirCriterioSql.CriterioSql; MyConstruirCriterioSql = null; criterio = criterio.Replace("FacturasImpuestos", "Facturas_Impuestos").Replace("FRecepcionRetencionIVA", "FechaRecepcionPlanilla"); criterio_otras_retenciones_impuestos += " And " + criterio; criterio_otras_retenciones_impuestos += " And (ImpuestosRetencionesDefinicion.Predefinido = 2)"; // para que lea retenciones Iva } if (!String.IsNullOrEmpty(this.Sql_FacturasImpuestos_FRecepcionRetencionISLR_Date.Text)) { MyConstruirCriterioSql = new BuildSqlCriteria("I", "Sql_FacturasImpuestos_FRecepcionRetencionISLR_Date"); MyConstruirCriterioSql.ContruirFiltro(this.Controls); string criterio = MyConstruirCriterioSql.CriterioSql; MyConstruirCriterioSql = null; criterio = criterio.Replace("FacturasImpuestos", "Facturas_Impuestos").Replace("FRecepcionRetencionISLR", "FechaRecepcionPlanilla"); criterio_otras_retenciones_impuestos += " And " + criterio; criterio_otras_retenciones_impuestos += " And (ImpuestosRetencionesDefinicion.Predefinido = 3)"; // para que lea retenciones Iva } if (!String.IsNullOrEmpty(this.Sql_FacturasImpuestos_RetencionSobreIva_Numeric.Text)) { MyConstruirCriterioSql = new BuildSqlCriteria("I", "Sql_FacturasImpuestos_RetencionSobreIva_Numeric"); MyConstruirCriterioSql.ContruirFiltro(this.Controls); string criterio = MyConstruirCriterioSql.CriterioSql; MyConstruirCriterioSql = null; criterio = criterio.Replace("FacturasImpuestos", "Facturas_Impuestos").Replace("RetencionSobreIva", "Monto"); criterio_otras_retenciones_impuestos += " And " + criterio; criterio_otras_retenciones_impuestos += " And (ImpuestosRetencionesDefinicion.Predefinido = 2)"; // para que lea retenciones Iva } if (!String.IsNullOrEmpty(this.Sql_FacturasImpuestos_ImpuestoRetenido_Numeric.Text)) { MyConstruirCriterioSql = new BuildSqlCriteria("I", "Sql_FacturasImpuestos_ImpuestoRetenido_Numeric"); MyConstruirCriterioSql.ContruirFiltro(this.Controls); string criterio = MyConstruirCriterioSql.CriterioSql; MyConstruirCriterioSql = null; criterio = criterio.Replace("FacturasImpuestos", "Facturas_Impuestos").Replace("ImpuestoRetenido", "Monto"); criterio_otras_retenciones_impuestos += " And " + criterio; criterio_otras_retenciones_impuestos += " And (ImpuestosRetencionesDefinicion.Predefinido = 3)"; // para que lea retenciones Iva } // finalmente inicializamos la sesion variable con el criterio que indicó el usuario Session["FiltroForma_LeerTablasDeImpRet"] = criterio_otras_retenciones_impuestos != "(1 = 1)" ? criterio_otras_retenciones_impuestos : null; // ----------------------------------------------------------------------------------------------------------------------------------------------- // ------------------------------------------------------------------------------------------- // para guardar el contenido de los controles de la página para recuperar el state cuando // se abra la proxima vez KeepPageState MyKeepPageState = new KeepPageState(Membership.GetUser().UserName, this.GetType().Name.ToString()); MyKeepPageState.SavePageStateInFile(this.Controls); MyKeepPageState = null; // ------------------------------------------------------------------------------------------------------ // nótese lo que hacemos aquí para que RegisterStartupScript funcione cuando ejecutamos en Chrome ... ScriptManager.RegisterStartupScript(this, this.GetType(), "CloseWindowScript", "<script language='javascript'>window.opener.RefreshPage(); window.close();</script>", false); }
protected void AplicarFiltro_Button_Click(object sender, EventArgs e) { if (this.Sql_it_Cia_Numeric.SelectedIndex == -1) { string errorMessage = "Ud. debe seleccionar una compañía (Contab) de la lista."; CustomValidator1.IsValid = false; CustomValidator1.ErrorMessage = errorMessage; return; } if (this.Monedas_ListBox.SelectedIndex == -1) { string errorMessage = "Ud. debe seleccionar una moneda de la lista."; CustomValidator1.IsValid = false; CustomValidator1.ErrorMessage = errorMessage; return; } if (!this.BalanceGeneral_RadioButton.Checked && !this.GyP_RadioButton.Checked) { string errorMessage = "Ud. debe indicar el tipo de consulta que desea obtener (balance general / ganancias y pérdias)."; CustomValidator1.IsValid = false; CustomValidator1.ErrorMessage = errorMessage; return; } DateTime inicioPeriodo; if (DateTime.TryParse(this.Desde_TextBox.Text, out inicioPeriodo)) { if (inicioPeriodo.Day != 1) { string errorMessage = "La fecha de inicio del período debe siempre corresponder a un 1ro. de mes (ej: 1-Mayo-2010)."; CustomValidator1.IsValid = false; CustomValidator1.ErrorMessage = errorMessage; return; } } BuildSqlCriteria MyConstruirCriterioSql = new BuildSqlCriteria(); MyConstruirCriterioSql.LinqToEntities = true; // para que el criterio venga apropiado para aplicarlo a LinqToEntities MyConstruirCriterioSql.ContruirFiltro(this.Controls); string sSqlSelectString = MyConstruirCriterioSql.CriterioSql; MyConstruirCriterioSql = null; // ------------------------------------------------------------------------------------------- // para guardar el contenido de los controles de la página para recuperar el state cuando // se abra la proxima vez KeepPageState MyKeepPageState = new KeepPageState(Membership.GetUser().UserName, Page.GetType().Name); MyKeepPageState.SavePageStateInFile(this.Controls); MyKeepPageState = null; // --------------------------------------------------------------------------------------------- // registramos los parámetros en un objeto y los persistimos en Session ... BalanceGeneral_Parametros parametros = new BalanceGeneral_Parametros(); parametros.CiaContab = Convert.ToInt32(this.Sql_it_Cia_Numeric.SelectedValue); parametros.Moneda = Convert.ToInt32(this.Monedas_ListBox.SelectedValue); parametros.MonedaOriginal = null; if (this.MonedasOriginales_ListBox.SelectedIndex != -1 && this.MonedasOriginales_ListBox.SelectedValue != "0") { parametros.MonedaOriginal = Convert.ToInt32(this.MonedasOriginales_ListBox.SelectedValue); } parametros.Desde = Convert.ToDateTime(this.Desde_TextBox.Text); parametros.Hasta = Convert.ToDateTime(this.Hasta_TextBox.Text); parametros.BalGen_GyP = this.BalanceGeneral_RadioButton.Checked ? "BG" : "GyP"; parametros.ExcluirCuentasSaldoYMovtosCero = this.ExcluirCuentasSinSaldoNiMovtos_CheckBox.Checked; parametros.ExcluirCuentasSaldosFinalCero = this.ExcluirCuentasConSaldoFinalCero_CheckBox.Checked; parametros.ExcluirCuentasSinMovimientos = this.ExcluirCuentasSinMovimientos_CheckBox.Checked; parametros.ExcluirAsientosContablesTipoCierreAnual = this.ExcluirAsientosContablesTipoCierreAnual_CheckBox.Checked; parametros.reconvertirCifrasAntes_01Oct2021 = this.ReconvertirCifrasAntes_01Oct2021_CheckBox.Checked; parametros.Filtro = sSqlSelectString; Session["BalanceGeneral_Parametros"] = parametros; // la página que muestra los movimientos contables para una cuenta (seleccionada en la lista) // corresponde al proceso que permite obtener el balance de comprobación; esta página usa // estas session variables para delimitar el período; por lo tanto, las inicializamos también aquí ... Session["FechaInicialPeriodo"] = Convert.ToDateTime(Desde_TextBox.Text); Session["FechaFinalPeriodo"] = Convert.ToDateTime(Hasta_TextBox.Text); // esta session debe existir pues es leído por la página que muestra los movimientos para una cuenta contable en el balance Session["ReconvertirCifrasAntes_01Oct2021"] = this.ReconvertirCifrasAntes_01Oct2021_CheckBox.Checked; // --------------------------------------------------------------------------------------------- // lo que sigue son instrucciones para ejecutar una función javascript en el parent page. La // función pone un hidden field en 1 y hace un submit (refresh) de la página ScriptManager.RegisterStartupScript(this, this.GetType(), "CloseWindowScript", "<script language='javascript'>window.opener.RefreshPage(); window.close();</script>", false); }
protected void AplicarFiltro_Button_Click(object sender, EventArgs e) { if (this.Sql_Asientos_Cia_Numeric.SelectedIndex == -1) { // el usuario debe siempre seleccionar, al menos, una compañía en la lista ErrMessage_Span.InnerHtml = "Ud. debe seleccionar una Cia Contab de la lista."; ErrMessage_Span.Style["display"] = "block"; return; } if (this.Sql_Asientos_Moneda_Numeric.SelectedIndex == -1) { // el usuario debe siempre seleccionar, al menos, una moneda en la lista ErrMessage_Span.InnerHtml = "Ud. debe seleccionar una moneda de la lista."; ErrMessage_Span.Style["display"] = "block"; return; } BuildSqlCriteria MyConstruirCriterioSql = new BuildSqlCriteria(); //MyConstruirCriterioSql.LinqToEntities = true; // para que regrese un filtro apropiado para linq to entities ... MyConstruirCriterioSql.ContruirFiltro(this.Controls); string sSqlSelectString = MyConstruirCriterioSql.CriterioSql; MyConstruirCriterioSql = null; //sSqlSelectString = sSqlSelectString + " And (Asientos.Fecha Between '" + Convert.ToDateTime(Desde_TextBox.Text).ToString("yyyy-MM-dd") + "'"; //sSqlSelectString = sSqlSelectString + " And '" + Convert.ToDateTime(Hasta_TextBox.Text).ToString("yyyy-MM-dd") + "')"; if (this.ConCentroCosto_RadioButton.Checked) { sSqlSelectString += " And (dAsientos.CentroCosto Is Not Null)"; } if (this.SinCentroCosto_RadioButton.Checked) { sSqlSelectString += " And (dAsientos.CentroCosto Is Null)"; } Session["FiltroForma"] = sSqlSelectString; // nótese que las fechas van en variables session como dates Session["fechaInicialPeriodo"] = Convert.ToDateTime(Desde_TextBox.Text); Session["fechaFinalPeriodo"] = Convert.ToDateTime(Hasta_TextBox.Text); Session["monedaSeleccionada"] = Convert.ToInt32(this.Sql_Asientos_Moneda_Numeric.SelectedValue); Session["ReconvertirCifrasAntes_01Oct2021"] = this.ReconvertirCifrasAntes_01Oct2021_CheckBox.Checked; // ------------------------------------------------------------------------------------------------------------------------- // para guardar el contenido de los controles de la página para recuperar el state cuando se abra la proxima vez KeepPageState MyKeepPageState = new KeepPageState(Membership.GetUser().UserName, this.GetType().Name.ToString()); MyKeepPageState.SavePageStateInFile(this.Controls); MyKeepPageState = null; // para cerrar esta página y "refrescar" la que la abrió ... ScriptManager.RegisterStartupScript(this, this.GetType(), "CloseWindowScript", "<script language='javascript'>window.opener.RefreshPage(); window.close();</script>", false); // ------------------------------------------------------------------------------------------------------------------------- }
protected void AplicarFiltro_Button_Click(object sender, EventArgs e) { if (Sql_CuotasFactura_Cia_Numeric.SelectedIndex == -1) { // el usuario debe siempre seleccionar, al menos, una compañía en la lista ErrMessage_Span.InnerHtml = "Ud. debe seleccionar una Cia Contab de la lista."; ErrMessage_Span.Style["display"] = "block"; return; } BuildSqlCriteria MyConstruirCriterioSql = new BuildSqlCriteria(); MyConstruirCriterioSql.ContruirFiltro(this.Controls); String sSqlSelectString = MyConstruirCriterioSql.CriterioSql; Session["FiltroForma"] = sSqlSelectString; // ------------------------------------------------------------------------------------------------ // guardamos las fechas del período para posterior referencia Session["FechaConsulta_Inicio"] = null; Session["FechaConsulta"] = DateTime.Parse(this.Hasta_TextBox.Text); if (!String.IsNullOrEmpty(this.Desde_TextBox.Text.Trim())) { Session["FechaConsulta_Inicio"] = DateTime.Parse(this.Desde_TextBox.Text); } Session["TipoConsulta"] = TipoConsulta_DropDownList.SelectedValue; // el usuario indica si desea o no usar las fechas de recepción de planillas de montos de impuestos retenidos, para // aplicar estos montos o no; si no marca esta opción, estos montos (cuando existan) se restaran siempre al total a pagar; // si marca esta opción, estos montos se aplicaran solo si se han recibido sus planillas ... Session["AplicarFechasRecepcionPlanillasRetencionImpuestos"] = false; if (AplicarFechasRecepcionPlanillasRetencionImpuestos_CheckBox.Checked) { Session["AplicarFechasRecepcionPlanillasRetencionImpuestos"] = true; } // ------------------------------------------------------------------------------------------- // para guardar el contenido de los controles de la página para recuperar el state cuando // se abra la proxima vez KeepPageState MyKeepPageState = new KeepPageState(Membership.GetUser().UserName, Page.GetType().Name.ToString()); MyKeepPageState.SavePageStateInFile(this.Controls); MyKeepPageState = null; //--------------------------------------------------------------------------------------------- //lo que sigue son instrucciones para ejecutar una función javascript en el parent page. La //función pone un hidden field en 1 y hace un submit (refresh) de la página //StringBuilder sb = new StringBuilder(); //sb.Append("window.opener.RefreshPage();"); //sb.Append("window.close();"); //ClientScript.RegisterClientScriptBlock(this.GetType(), "CloseWindowScript", sb.ToString(), true); //--------------------------------------------------------------------------------------------- // ------------------------------------------------------------------------------------------------------ // nótese lo que hacemos aquí para que RegisterStartupScript funcione cuando ejecutamos en Chrome ... ScriptManager.RegisterStartupScript(this, this.GetType(), "CloseWindowScript", "<script language='javascript'>window.opener.RefreshPage(); window.close();</script>", false); }
protected void AplicarFiltro_Button_Click(object sender, EventArgs e) { if (this.Sql_Asientos_Cia_Numeric.SelectedIndex == -1) { // el usuario debe siempre seleccionar, al menos, una compañía en la lista ErrMessage_Span.InnerHtml = "Ud. debe seleccionar una Cia Contab de la lista."; ErrMessage_Span.Style["display"] = "block"; return; } BuildSqlCriteria MyConstruirCriterioSql = new BuildSqlCriteria("E", "Sql_CuentasContables_Cuenta_String"); MyConstruirCriterioSql.ContruirFiltro(this.Controls); object sSqlSelectString = MyConstruirCriterioSql.CriterioSql; sSqlSelectString = sSqlSelectString + " And (Asientos.Fecha Between '" + Convert.ToDateTime(Desde_TextBox.Text).ToString("yyyyMMdd") + "'"; sSqlSelectString = sSqlSelectString + " And '" + Convert.ToDateTime(Hasta_TextBox.Text).ToString("yyyyMMdd") + "')"; // las fechas no tienen un nombre adecuado para que la clase anterior las incluya al filtro; preferimos hacerlo aquí, de esta forma if (!String.IsNullOrEmpty(this.Numero_Desde_TextBox.Text)) { if (!String.IsNullOrEmpty(this.Numero_Hasta_TextBox.Text)) { // el usuario usó ambos números (desde/hasta) para indicar un rango de asientos sSqlSelectString = sSqlSelectString + " And (Asientos.Numero Between " + this.Numero_Desde_TextBox.Text + " And " + this.Numero_Hasta_TextBox.Text + ")"; } else { // el usuario usó solo el número de asiento de inicio para buscar solo ese asiento sSqlSelectString = sSqlSelectString + " And (Asientos.Numero = " + this.Numero_Desde_TextBox.Text + ")"; } } if (this.ExcluirAsientosDeTipoCierreAnual_CheckBox.Checked) { sSqlSelectString = sSqlSelectString + " And (Not (Asientos.MesFiscal = 13 Or " + "(Asientos.AsientoTipoCierreAnualFlag Is Not Null And " + "Asientos.AsientoTipoCierreAnualFlag = 1)))"; } if (this.SoloAsientosTipoCierreAnual_CheckBox.Checked) { sSqlSelectString = sSqlSelectString + " And (Asientos.MesFiscal = 13 Or " + "(Asientos.AsientoTipoCierreAnualFlag Is Not Null And " + "Asientos.AsientoTipoCierreAnualFlag = 1))"; } // nota: construimos un filtro para ser aplicado como un subquery al select original; *solo* cuando el usuario usa los criterios: // con más de 2 decimales o por cuenta contable ... string sSqlSelectString_subQuery = ""; BuildSqlCriteria MyConstruirCriterioSql_subQuery = new BuildSqlCriteria("I", "Sql_CuentasContables_Cuenta_String"); MyConstruirCriterioSql_subQuery.ContruirFiltro(this.Controls); sSqlSelectString_subQuery = MyConstruirCriterioSql_subQuery.CriterioSql; if (this.SoloAsientosConMas2Decimales_CheckBox.Checked) { // con esta instrucción seleccionamos montos con más de 2 decimales sSqlSelectString_subQuery = sSqlSelectString_subQuery + " And ((((abs(dAsientos.Debe) * 100) - CONVERT(bigint, (abs(dAsientos.Debe) * 100))) <> 0) Or " + "(((abs(dAsientos.Haber) * 100) - CONVERT(bigint, (abs(dAsientos.Haber) * 100))) <> 0))"; } MyConstruirCriterioSql = null; MyConstruirCriterioSql_subQuery = null; Session["filtroForma_consultaAsientosContables"] = sSqlSelectString; Session["filtroForma_consultaAsientosContables_subQuery"] = sSqlSelectString_subQuery; // ------------------------------------------------------------------------------------------------ // guardamos las fechas del período para posterior referencia Session["FechaInicial"] = Convert.ToDateTime(Desde_TextBox.Text); Session["FechaFinal"] = Convert.ToDateTime(Hasta_TextBox.Text); Session["CiaContabSeleccionada"] = this.Sql_Asientos_Cia_Numeric.SelectedValue; Session["SoloAsientosDescuadrados"] = null; if (this.SoloAsientosDescuadrados_CheckBox.Checked) { Session["SoloAsientosDescuadrados"] = true; } Session["SoloAsientosConUploads_CheckBox"] = null; if (this.SoloAsientosConUploads_CheckBox.Checked) { Session["SoloAsientosConUploads_CheckBox"] = true; } Session["ReconvertirCifrasAntes_01Oct2021"] = this.ReconvertirCifrasAntes_01Oct2021_CheckBox.Checked; // ------------------------------------------------------------------------------------------- // para guardar el contenido de los controles de la página para recuperar el state cuando // se abra la proxima vez KeepPageState MyKeepPageState = new KeepPageState(Membership.GetUser().UserName, Page.GetType().Name); MyKeepPageState.SavePageStateInFile(this.Controls); MyKeepPageState = null; //--------------------------------------------------------------------------------------------- //lo que sigue son instrucciones para ejecutar una función javascript en el parent page. La //función pone un hidden field en 1 y hace un submit (refresh) de la página // ------------------------------------------------------------------------------------------------------ // nótese lo que hacemos aquí para que RegisterStartupScript funcione cuando ejecutamos en Chrome ... ScriptManager.RegisterStartupScript(this, this.GetType(), "CloseWindowScript", "<script language='javascript'>window.opener.RefreshPage(); window.close();</script>", false); }
protected void AplicarFiltro_Button_Click(object sender, EventArgs e) { if (Sql_Asientos_Cia_Numeric.SelectedIndex == -1) { // el usuario debe siempre seleccionar, al menos, una compañía en la lista ErrMessage_Span.InnerHtml = "Ud. debe seleccionar una Cia Contab de la lista."; ErrMessage_Span.Style["display"] = "block"; return; } if (this.Sql_Asientos_Cia_Numeric.GetSelectedIndices().Count() > 1 && this.codigoCondi.Text.ToString().Trim() != "") { // el usuario debe siempre seleccionar, al menos, una compañía en la lista ErrMessage_Span.InnerHtml = "Si Ud. usa <em>codigos condi</em> como criterio en el filtro, debe seleccionar <b>solo una</b> <em>compañía Contab</em>."; ErrMessage_Span.Style["display"] = "block"; return; } BuildSqlCriteria MyConstruirCriterioSql = new BuildSqlCriteria(); MyConstruirCriterioSql.ContruirFiltro(this.Controls); string sSqlSelectString = MyConstruirCriterioSql.CriterioSql; MyConstruirCriterioSql = null; sSqlSelectString = sSqlSelectString.Replace("CuentasContables2", "CuentasContables"); Session["FiltroForma"] = sSqlSelectString; // ------------------------------------------------------------------------------------------------ // ahora intentamos crear un filtro solo para la lectura de los movimientos en la tabla // dAsientos MyConstruirCriterioSql = new BuildSqlCriteria("I", "Sql_Asientos_Cia_Numeric, Sql_Asientos_Moneda_Numeric, Sql_Asientos_MonedaOriginal_Numeric, Sql_dAsientos_Descripcion_String, Sql_dAsientos_Referencia_String, Sql_dAsientos_CentroCosto_Numeric, Sql_Asientos_Numero_Numeric, Sql_CuentasContables_Grupo_Numeric"); MyConstruirCriterioSql.ContruirFiltro(this.Controls); sSqlSelectString = MyConstruirCriterioSql.CriterioSql; MyConstruirCriterioSql = null; sSqlSelectString = sSqlSelectString + " And Asientos.Fecha Between '" + Convert.ToDateTime(Desde_TextBox.Text).ToString("yyyyMMdd") + "' And '" + Convert.ToDateTime(Hasta_TextBox.Text).ToString("yyyyMMdd") + "'"; Session["FiltroForma_Movimientos"] = sSqlSelectString; Session["FechaInicialPeriodo"] = Convert.ToDateTime(Desde_TextBox.Text); Session["FechaFinalPeriodo"] = Convert.ToDateTime(Hasta_TextBox.Text); Session["ExcluirCuentasSinMovimientos"] = ExcluirCuentasSinMovimientos_CheckBox.Checked; Session["ExcluirCuentasConSaldoCeroYSinMovtos"] = ExcluirCuentasSinSaldoYSinMovtos_CheckBox.Checked; Session["ExcluirMovimientosDeAsientosDeTipoCierreAnual"] = ExcluirMovimientosDeAsientosDeTipoCierreAnual_CheckBox.Checked; Session["ExcluirCuentasConSaldosInicialFinalCero"] = ExcluirCuentasConSaldosInicialFinalCero_CheckBox.Checked; Session["ExcluirCuentasConSaldoFinalCero"] = ExcluirCuentasConSaldoFinalCero_CheckBox.Checked; Session["SoloMovimientosConCentroCostoAsignado"] = this.SoloMovimientosConCentroCostoAsignado_CheckBox.Checked; Session["SoloMovimientosSinCentroCostoAsignado"] = this.SoloMovimientosSinCentroCostoAsignado_CheckBox.Checked; Session["ReconvertirCifrasAntes_01Oct2021"] = this.ReconvertirCifrasAntes_01Oct2021_CheckBox.Checked; Session["ExcluirAsientosReconversion_01Oct2021"] = this.ExcluirAsientosReconversion_01Oct2021_CheckBox.Checked; // guardamos en un session el valor de un parámetro que usará el reporte DateTime desde; DateTime hasta; Session["Report_Param_MG_Periodo"] = "Período: indefinido"; if (DateTime.TryParse(Desde_TextBox.Text.ToString(), out desde)) { if (DateTime.TryParse(Hasta_TextBox.Text.ToString(), out hasta)) { Session["Report_Param_MG_Periodo"] = desde.ToString("d-MMM-yyyy") + " al " + hasta.ToString("d-MMM-yyyy"); } } // guardamos algún filtro por moneda original, para luego usarlo al deteminar el saldo inicial de la cuenta Session["ctasYMovtos_MonOrig_Filter"] = null; if (this.Sql_Asientos_MonedaOriginal_Numeric.SelectedIndex != -1) { Session["ctasYMovtos_MonOrig_Filter"] = this.Sql_Asientos_MonedaOriginal_Numeric.SelectedValue; } Session["ctasYMovtos_SinSaldoInicialCuentasContables"] = false; if (this.NoMostrarSaldoInicialPeriodo_CheckBox.Checked) { Session["ctasYMovtos_SinSaldoInicialCuentasContables"] = true; } // el código condi que pueda indicar el usuario lo pasamos a la página principal. Esta construirá un subquery para seleccionar *solo* // las cuentas que correspondan al código condi if (this.codigoCondi.Text.ToString().Trim() != "") { Session["codigoCondi"] = this.codigoCondi.Text; // nota: arriba nos aseguramos que al seleccionar por códigos condi, se seleccionara una sola compañía Session["ciaContabSeleccionada"] = this.Sql_Asientos_Cia_Numeric.SelectedValue.ToString(); } // ------------------------------------------------------------------------------------------- // para guardar el contenido de los controles de la página para recuperar el state cuando // se abra la proxima vez KeepPageState MyKeepPageState = new KeepPageState(Membership.GetUser().UserName, Page.GetType().Name); MyKeepPageState.SavePageStateInFile(this.Controls); MyKeepPageState = null; // --------------------------------------------------------------------------------------------- // lo que sigue son instrucciones para ejecutar una función javascript en el parent page. La // función pone un hidden field en 1 y hace un submit (refresh) de la página //StringBuilder sb = new StringBuilder(); //sb.Append("window.opener.RefreshPage();"); //sb.Append("window.close();"); //ClientScript.RegisterClientScriptBlock(this.GetType(), "CloseWindowScript", sb.ToString(), true); ScriptManager.RegisterStartupScript(this, this.GetType(), "CloseWindowScript", "<script language='javascript'>window.opener.RefreshPage(); window.close();</script>", false); }