Пример #1
0
        private void FgDetalle_CellChanged(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
        {
            DataTable dtUniMed      = new DataTable();
            int       intProductoId = 0;
            int       intUniMedId   = 0;

            if (e.Col == 1)             // SI SE HA SELECCIONADO ALGUN ITEM DE LA COLUMNA 1
            {
                string strItemDescripcion = FgDetalle.GetData(e.Row, 1).ToString();
                intProductoId = Convert.ToInt32(funDatos.DataTableBuscar(dtItems, "c_despro", "n_id", strItemDescripcion, "C"));    // OBTENEMOS EL ID DEL ITEM SELECCIONADO

                FgDetalle.SetData(e.Row, 6, intProductoId);
                dtUniMed = funDatos.DataTableFiltrar(dtUnidadMedida, "n_idite = " + intProductoId + "");                            //  FILTRAMOS POR ID DEL PRODUCTO
                if (dtUniMed.Rows.Count != 0)
                {
                    funFlex.FlexColumnaCombo(FgDetalle, dtUniMed, "c_abr", 2);
                }

                dtUniMed = funDatos.DataTableFiltrar(dtUniMed, "n_default = 1");                                                    //  FILTRAMOS LA UNIDAD DE MEDIDA POR DEFECTO

                FgDetalle.SetData(e.Row, 2, dtUniMed.Rows[0]["c_abr"].ToString());                                                  // ESTABLECEMOS LA ABREVIATURA DE LA UNIDAD DE MEDIDA
                FgDetalle.SetData(e.Row, 7, dtUniMed.Rows[0]["n_idunimed"].ToString());                                             // ESTABLECEMOS EL ID DE LA UNIDAD DE MEDIDA

                double doupreuniigv = Convert.ToDouble(dtUniMed.Rows[0]["n_preuniigv"].ToString());
                double doupreuni    = Convert.ToDouble(dtUniMed.Rows[0]["n_preuni"].ToString());
                FgDetalle.SetData(e.Row, 4, doupreuniigv.ToString("0.000000"));                                                     // ESTABLECEMOS EL PRECIO CON IGV DEL ITEM
                FgDetalle.SetData(e.Row, 8, doupreuni.ToString("0.000000"));                                                        // ESTABLECEMOS EL PRECIO SIN IGV DEL ITEM

                CalcularFila(e.Row);
            }

            if (e.Col == 2)             // SI SE HA SELECCIONADO ALGUN ITEM DE LA COLUMNA 2
            {
                intProductoId = Convert.ToInt32(FgDetalle.GetData(e.Row, 6));
                string strUnidadMedidaDescripcion = FgDetalle.GetData(e.Row, 2).ToString();
                intUniMedId = Convert.ToInt32(funDatos.DataTableBuscar(dtUnidadMedida, "c_abr", "n_idunimed", strUnidadMedidaDescripcion, "C"));
                FgDetalle.SetData(e.Row, 7, intUniMedId);

                dtUniMed = funDatos.DataTableFiltrar(dtUnidadMedida, "n_idunimed = " + intUniMedId + " AND n_idite = " + intProductoId + ""); //  FILTRAMOS LA UNIDAD DE MEDIDA POR DEFECTO

                double doupreuniigv = Convert.ToDouble(dtUniMed.Rows[0]["n_preuniigv"].ToString());
                double doupreuni    = Convert.ToDouble(dtUniMed.Rows[0]["n_preuni"].ToString());

                FgDetalle.SetData(e.Row, 2, dtUniMed.Rows[0]["c_abr"].ToString());                                                  // ESTABLECEMOS LA ABREVIATURA DE LA UNIDAD DE MEDIDA
                FgDetalle.SetData(e.Row, 7, dtUniMed.Rows[0]["n_idunimed"].ToString());                                             // ESTABLECEMOS EL ID DE LA UNIDAD DE MEDIDA
                FgDetalle.SetData(e.Row, 4, doupreuniigv.ToString("0.000000"));                                                     // ESTABLECEMOS EL PRECIO CON IGV DEL ITEM
                FgDetalle.SetData(e.Row, 8, doupreuni.ToString("0.000000"));                                                        // ESTABLECEMOS EL PRECIO SIN IGV DEL ITEM

                CalcularFila(e.Row);
            }

            if ((e.Col == 3) || (e.Col == 4))
            {
                if (e.Col == 4)
                {
                    FgDetalle.SetData(FgDetalle.Row, 8, "0.00");
                }
                CalcularFila(e.Row);
            }
        }
Пример #2
0
        void CalcularFila(int intFila)
        {
            double douCantidad  = Convert.ToDouble(FgDetalle.GetData(FgDetalle.Row, 3));
            double douPreuniIGV = Convert.ToDouble(FgDetalle.GetData(FgDetalle.Row, 4));
            double douPreuni    = Convert.ToDouble(FgDetalle.GetData(FgDetalle.Row, 8));

            double douPrecioTotalIGV = douCantidad * douPreuniIGV;
            double douPrecioTotal    = douCantidad * douPreuni;

            FgDetalle.SetData(intFila, 5, douPrecioTotalIGV.ToString("0.00"));
            FgDetalle.SetData(intFila, 9, douPrecioTotal.ToString("0.00"));
            SumarTotales();
        }
Пример #3
0
        private void FgDetalle_CellButtonClick(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
        {
            //if (n_QueHace == 3)
            //{
            //    FgDetalle.AllowEditing = false; return;
            //}
            //if (booAgregando == true) { return; }


            if (FgDetalle.Col == 1)
            {
                int       n_idtipexi = 0;
                DataTable dtResul    = new DataTable();
                string    c_dato     = "";

                booAgregando = true;
                dtResul      = dtItems;
                //if (Convert.ToInt32(CboTipExi.SelectedValue) != 0)
                //{
                //    n_idtipexi = Convert.ToInt32(CboTipExi.SelectedValue);
                //    dtResul = funGen.DataTableFiltrar(dtItems, "n_idtipexi = " + n_idtipexi + "");
                //}

                dtResul = objAlmacen.BuscarItemPuntoVenta("", "n_id", dtResul, n_idtipexi);
                if (dtResul != null)
                {
                    if (dtResul.Rows.Count != 0)
                    {
                        c_dato = dtResul.Rows[0]["n_id"].ToString();        // MOSTRAMOS LA DESCRIPCION DEL ITEM
                        FgDetalle.SetData(e.Row, 6, c_dato);

                        int n_idctacon = Convert.ToInt32(funGen.DataTableBuscar(dtCtaConVen, "n_idite", "n_idpcven", c_dato, "N"));
                        if (n_idctacon == 0)
                        {
                            funFunciones.MensajeMostrarAviso("El item seleccionado no tiene cuenta contable asignada", strTituloFormulario);
                            return;
                        }

                        booAgregando = true;
                        c_dato       = dtResul.Rows[0]["c_despro"].ToString();  // MOSTRAMOS LA DESCRIPCION DEL ITEM
                        FgDetalle.SetData(e.Row, 1, c_dato);



                        c_dato = dtResul.Rows[0]["n_idunimed"].ToString();        // MOSTRAMOS LA DESCRIPCION DEL ITEM
                        FgDetalle.SetData(e.Row, 7, c_dato);

                        c_dato = dtResul.Rows[0]["c_abrpre"].ToString();        // MOSTRAMOS LA PRESENTACION DEL ITEM
                        FgDetalle.SetData(e.Row, 2, c_dato);

                        c_dato = dtResul.Rows[0]["n_preven"].ToString();        // MOSTRAMOS LA PRESENTACION DEL ITEM
                        FgDetalle.SetData(e.Row, 4, c_dato);

                        booAgregando = false;
                        //// MOSTRAMOS EL TIPO DE VENTA
                        //c_dato = funGen.DataTableBuscar(dtAnex07, "n_id", "c_codsun", "1", "C").ToString();
                        //FgDetalle.SetData(FgDetalle.Row, 8, c_dato);
                    }
                }

                booAgregando = false;
                FgDetalle.Select(e.Row, 3);
            }
        }
Пример #4
0
        private void FgDetalle_CellChanged(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
        {
            if (booAgregando == true)
            {
                return;
            }
            DataTable dtUniMed      = new DataTable();
            DataTable dtResult      = new DataTable();
            int       intProductoId = 0;
            int       intUniMedId   = 0;

            if (e.Col == 1)             // SI SE HA SELECCIONADO ALGUN ITEM DE LA COLUMNA 1
            {
                string strItemDescripcion = FgDetalle.GetData(e.Row, 1).ToString();
                intProductoId = Convert.ToInt32(funGen.DataTableBuscar(dtItems, "c_despro", "n_id", strItemDescripcion, "C"));    // OBTENEMOS EL ID DEL ITEM SELECCIONADO

                FgDetalle.SetData(e.Row, 6, intProductoId);
                dtUniMed = funGen.DataTableFiltrar(dtUnidadMedida, "n_idite = " + intProductoId + "");                            //  FILTRAMOS POR ID DEL PRODUCTO
                if (dtUniMed.Rows.Count != 0)
                {
                    funFlex.FlexColumnaCombo(FgDetalle, dtUniMed, "c_abrpre", 2);
                }

                dtUniMed = funGen.DataTableFiltrar(dtUniMed, "n_default = 1");                                                    //  FILTRAMOS LA UNIDAD DE MEDIDA POR DEFECTO

                FgDetalle.SetData(e.Row, 2, dtUniMed.Rows[0]["c_abrpre"].ToString());                                             // ESTABLECEMOS LA ABREVIATURA DE LA UNIDAD DE MEDIDA
                FgDetalle.SetData(e.Row, 7, dtUniMed.Rows[0]["n_id"].ToString());                                                 // ESTABLECEMOS EL ID DE LA UNIDAD DE MEDIDA
                FgDetalle.SetData(e.Row, 6, intProductoId.ToString());                                                            // ESTABLECEMOS EL ID DE LA EXISTENCIA

                double doupreuniigv = Convert.ToDouble(dtUniMed.Rows[0]["n_preuniigv"].ToString());
                double doupreuni    = Convert.ToDouble(dtUniMed.Rows[0]["n_preuni"].ToString());
                FgDetalle.SetData(e.Row, 4, doupreuniigv.ToString("0.000000"));                                                     // ESTABLECEMOS EL PRECIO CON IGV DEL ITEM
                FgDetalle.SetData(e.Row, 8, doupreuni.ToString("0.000000"));                                                        // ESTABLECEMOS EL PRECIO SIN IGV DEL ITEM

                CalcularFila(e.Row);
                //FgDetalle.Select(FgDetalle.Row - 1, 3);
            }

            if (e.Col == 2)             // SI SE HA SELECCIONADO ALGUN ITEM DE LA COLUMNA 2
            {
                intProductoId = Convert.ToInt32(FgDetalle.GetData(e.Row, 6));
                string strUnidadMedidaDescripcion = FgDetalle.GetData(e.Row, 2).ToString();

                dtUniMed    = funGen.DataTableFiltrar(dtUnidadMedida, "n_idite = " + intProductoId + ""); //  FILTRAMOS LA UNIDAD DE MEDIDA POR DEFECTO
                intUniMedId = Convert.ToInt32(funGen.DataTableBuscar(dtUniMed, "c_abrpre", "n_id", strUnidadMedidaDescripcion, "C"));
                //intUniMedId = Convert.ToInt32(funDatos.DataTableBuscar(dtUnidadMedida, "c_abrpre", "n_id", intProductoId.ToString(), "N"));
                FgDetalle.SetData(e.Row, 7, intUniMedId);

                dtUniMed = funGen.DataTableFiltrar(dtUniMed, "n_id = " + intUniMedId + " AND n_idite = " + intProductoId + "");   //  FILTRAMOS LA UNIDAD DE MEDIDA POR DEFECTO

                double doupreuniigv = Convert.ToDouble(dtUniMed.Rows[0]["n_preuniigv"].ToString());
                double doupreuni    = Convert.ToDouble(dtUniMed.Rows[0]["n_preuni"].ToString());

                FgDetalle.SetData(e.Row, 2, dtUniMed.Rows[0]["c_abrpre"].ToString());                                               // ESTABLECEMOS LA ABREVIATURA DE LA UNIDAD DE MEDIDA
                FgDetalle.SetData(e.Row, 7, dtUniMed.Rows[0]["n_id"].ToString());                                                   // ESTABLECEMOS EL ID DE LA UNIDAD DE MEDIDA
                FgDetalle.SetData(e.Row, 4, doupreuniigv.ToString("0.000000"));                                                     // ESTABLECEMOS EL PRECIO CON IGV DEL ITEM
                FgDetalle.SetData(e.Row, 8, doupreuni.ToString("0.000000"));                                                        // ESTABLECEMOS EL PRECIO SIN IGV DEL ITEM

                CalcularFila(e.Row);
                FgDetalle.Select(FgDetalle.Row - 1, 3);
                return;
            }

            if ((e.Col == 3) || (e.Col == 4))
            {
                //if (e.Col == 4)
                //{
                double douPreSninIGV   = 0;
                double douTotPreSinIGV = 0;

                if (funFunciones.NulosC(FgDetalle.GetData(FgDetalle.Row, 4)) != "")
                {
                    douPreSninIGV   = (Convert.ToDouble(FgDetalle.GetData(FgDetalle.Row, 4)) / (((douIGVTasa) / 100) + 1));
                    douTotPreSinIGV = (douPreSninIGV * Convert.ToDouble(FgDetalle.GetData(FgDetalle.Row, 3)));
                    FgDetalle.SetData(FgDetalle.Row, 8, douPreSninIGV.ToString("0.000000"));
                    FgDetalle.SetData(FgDetalle.Row, 9, douTotPreSinIGV.ToString("0.000000"));
                    CalcularFila(e.Row);
                }

                if (e.Col == 3)
                {
                    FgDetalle.Select(FgDetalle.Row - 1, 4);
                    return;
                }
                if (e.Col == 4)
                {
                    FgDetalle.Select(e.Row, 1);
                    return;
                }
            }
        }