Beispiel #1
0
    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);
        }
Beispiel #4
0
    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);
            // -------------------------------------------------------------------------------------------------------------------------
        }
Beispiel #10
0
    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);
        }
Beispiel #12
0
        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);
        }