Пример #1
0
        private void CargaOrdenCompra()
        {
            try
            {
                Ord = AdmRequer.CargaRequerimiento(Convert.ToInt32(CodRequer));
                if (Ord != null)
                {
                    txtOrdenCompra.Text = Ord.CodRequerimiento.ToString().PadLeft(11, '0');

                    if (txtDocRef.Enabled)
                    {
                        CodDocumento     = Ord.CodTipoDocumento;
                        txtDocRef.Text   = Ord.SiglaDocumento;
                        lbDocumento.Text = Ord.DescripcionDocumento;
                    }
                    txtSerie.Text               = Ord.Serie;
                    txtNumero.Text              = Ord.NumDoc;
                    CodSerie                    = Ord.CodSerie;
                    dtpFechaOrden.Value         = Ord.FechaOrden;
                    txtcomentario.Text          = Ord.Comentario;
                    txtComentarioRechazado.Text = Ord.comentarioRechazado;
                    CargaDetalle();
                }
                else
                {
                    MessageBox.Show("El documento solicitado no existe", "Orden de Compra", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    frmRequerimiento frm = new frmRequerimiento();
                    frm.Close();
                }
            }
            catch (Exception ex)
            {
                return;
            }
        }
Пример #2
0
 private void dgvCotizaciones_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
     if (dgvOrdenes.Rows.Count >= 1 && dgvOrdenes.CurrentRow != null)
     {
         DataGridViewRow row = dgvOrdenes.CurrentRow;
         if (Application.OpenForms["frmRequerimiento"] != null)
         {
             Application.OpenForms["frmRequerimiento"].Close();
         }
         else
         {
             frmRequerimiento form = new frmRequerimiento();
             form.MdiParent = this.MdiParent;
             form.CodRequer = Req.CodRequerimiento;
             form.Proceso   = 3;
             form.Tipo      = tipo;
             form.Show();
         }
     }
 }
Пример #3
0
        private void txtCodigo_TextChanged(object sender, EventArgs e)
        {
            if (/*Seleccion == 2 &&*/ txtCodigo.Text != "")
            {
                pro = AdmPro.CargaProductoDetalle(Convert.ToInt32(txtCodigo.Text), frmLogin.iCodAlmacen, 2, Codlista);
                if (Procede == 11)
                {
                    frmRequerimiento form = (frmRequerimiento)Application.OpenForms["frmRequerimiento"];
                    if (form.codProd.Contains(pro.CodProducto) && Proceso == 1)
                    {
                        MessageBox.Show("El Producto ya existe");
                        repetido = 1;
                    }
                    else
                    {
                        CodProducto         = pro.CodProducto;
                        txtReferencia.Text  = pro.Referencia;
                        txtDescripcion.Text = pro.Descripcion;
                        txtUnidad.Text      = pro.UnidadDescrip;
                        CargaUnidades(cmbUnidad);
                        cmbUnidad.SelectedValue = pro.CodUnidadMedida;
                        txtStock.Text           = pro.StockDisponible.ToString();
                        unidadMed            = Unid.CargaUnidad(Convert.ToInt32(cmbUnidad.SelectedValue));
                        txtUnidad.Text       = unidadMed.Descripcion;
                        txtControlStock.Text = "";
                        txtCantidad.Text     = "";
                        btnGuardar.Enabled   = true;
                        switch (pro.CodControlStock)
                        {
                        case 1:
                            txtControlStock.Enabled = false;
                            txtCantidad.Enabled     = true;
                            break;

                        case 2:
                            txtControlStock.Enabled = true;
                            txtCantidad.Enabled     = true;
                            break;

                        case 3:
                            txtControlStock.Enabled = true;
                            txtCantidad.Enabled     = false;
                            txtCantidad.Text        = "01";
                            break;

                        case 4:
                            txtControlStock.Enabled = false;
                            txtCantidad.Enabled     = false;
                            txtCantidad.Text        = "";
                            break;
                        }
                    }
                }
                else if (Procede == 3)
                {
                    CargaProducto();
                }
                else if (Procede == 9)
                {
                    frmTranferenciaDirecta form = (frmTranferenciaDirecta)Application.OpenForms["frmTranferenciaDirecta"];
                    if (form.codProd.Contains(pro.CodProducto) && Proceso == 1)
                    {
                        MessageBox.Show("El Producto ya existe");
                        repetido = 1;
                    }
                    else
                    {
                        CodProducto         = pro.CodProducto;
                        txtReferencia.Text  = pro.Referencia;
                        txtDescripcion.Text = pro.Descripcion;
                        txtUnidad.Text      = pro.UnidadDescrip;
                        CargaUnidades(cmbUnidad);
                        cmbUnidad.SelectedValue = pro.CodUnidadMedida;
                        stock         = pro.StockDisponible;
                        txtStock.Text = pro.StockDisponible.ToString();

                        txtControlStock.Text = "";
                        txtCantidad.Text     = "";

                        //unidadMed = Unid.CargaUnidad(Convert.ToInt32(cmbUnidad.SelectedValue));
                        //txtUnidad.Text = unidadMed.Descripcion;

                        btnGuardar.Enabled = true;
                        switch (pro.CodControlStock)
                        {
                        case 1:
                            txtControlStock.Enabled = false;
                            txtCantidad.Enabled     = true;
                            break;

                        case 2:
                            txtControlStock.Enabled = true;
                            txtCantidad.Enabled     = true;
                            break;

                        case 3:
                            txtControlStock.Enabled = true;
                            txtCantidad.Enabled     = false;
                            txtCantidad.Text        = "01";
                            break;

                        case 4:
                            txtControlStock.Enabled = false;
                            txtCantidad.Enabled     = false;
                            txtCantidad.Text        = "";
                            break;
                        }
                    }
                }
                else
                {
                    if (Procede == 2)
                    {
                        pro = AdmPro.CargaProductoDetalle(Convert.ToInt32(txtCodigo.Text), frmLogin.iCodAlmacen, 2, 0);
                    }
                    else
                    {
                        pro = AdmPro.CargaProductoDetalle(Convert.ToInt32(txtCodigo.Text), frmLogin.iCodAlmacen, 2, Codlista);
                    }
                    //listaprecio = AdmLista.CargaListaPrecio(Codlista);
                    CodProducto         = pro.CodProducto;
                    txtReferencia.Text  = pro.Referencia;
                    txtDescripcion.Text = pro.Descripcion;
                    txtUnidad.Text      = pro.UnidadDescrip;
                    CargaUnidades(cmbUnidad);
                    cmbUnidad.SelectedValue = pro.CodUnidadMedida;
                    stock         = pro.StockDisponible;
                    txtStock.Text = pro.StockDisponible.ToString();

                    //if (Procede == 42)
                    //    txtStock.Text = String.Format("{0:#,##0.00}", stock42);

                    txtControlStock.Text = "";
                    txtCantidad.Text     = "";
                    //if (pro.PrecioVariable) { if (frmLogin.iCodUser == 10) { txtPrecio.ReadOnly = false; txtPrecioNeto.ReadOnly = false; } }
                    //else { /*txtPrecio.ReadOnly = true;*/ txtPrecioNeto.ReadOnly = true; }

                    //if (Moneda == 2) { txtPrecio.Text = pro.PrecioVenta.ToString(); puInicio = Convert.ToDecimal(pro.PrecioVenta); }
                    //else if (Moneda == 1) { txtPrecio.Text = pro.PrecioVentaSoles.ToString(); puInicio = Convert.ToDecimal(pro.PrecioVentaSoles);/*Math.Round((pro.PrecioVenta * tc),listaprecio.Decimales).ToString()*/ }

                    //if (pro.Oferta) { txtDscto1.Text = pro.PDescuento.ToString(); txtDscto1.ReadOnly = true; } else { txtDscto1.Text = ""; }
                    //txtDscto2.Text = "";
                    //txtDscto3.Text = "";
                    //if (pro.Oferta) { txtPrecioNeto.Text = pro.PrecioOferta.ToString(); } else { txtPrecioNeto.Text = pro.PrecioVenta.ToString(); }
                    //txtPrecioNeto.Text = "";
                    //txtDescMax.Text = String.Format("{0:#,##0.00}", pro.MaxPorcDesc);

                    //changeimporte = false;


                    //CodProducto = pro.CodProducto;
                    //txtReferencia.Text = pro.Referencia;
                    //txtDescripcion.Text = pro.Descripcion;
                    //txtUnidad.Text = pro.UnidadDescrip;
                    //CargaUnidades(cmbUnidad);
                    //cmbUnidad.SelectedValue = pro.CodUnidadMedida;
                    //txtStock.Text = pro.StockDisponible.ToString();
                    //unidadMed = Unid.CargaUnidad(Convert.ToInt32(cmbUnidad.SelectedValue));
                    //txtUnidad.Text = unidadMed.Descripcion;
                    //txtControlStock.Text = "";
                    //txtCantidad.Text = "";
                    //btnGuardar.Enabled = true;
                    switch (pro.CodControlStock)
                    {
                    case 1:
                        txtControlStock.Enabled = false;
                        txtCantidad.Enabled     = true;
                        break;

                    case 2:
                        txtControlStock.Enabled = true;
                        txtCantidad.Enabled     = true;
                        break;

                    case 3:
                        txtControlStock.Enabled = true;
                        txtCantidad.Enabled     = false;
                        txtCantidad.Text        = "01";
                        break;

                    case 4:
                        txtControlStock.Enabled = false;
                        txtCantidad.Enabled     = false;
                        txtCantidad.Text        = "";
                        break;
                    }
                }
            }
            if (txtCodigo.Text != "" && Procede == 11)
            {
                if (Procede == 11)
                {
                    frmRequerimiento form = (frmRequerimiento)Application.OpenForms["frmRequerimiento"];
                    if (form.codProd.Contains(pro.CodProducto))
                    {
                    }
                }
                else if (Procede == 9)
                {
                    frmTranferenciaDirecta form = (frmTranferenciaDirecta)Application.OpenForms["frmTranferenciaDirecta"];
                    if (form.codProd.Contains(pro.CodProducto))
                    {
                    }
                }
                else
                {
                    pro           = AdmPro.CargaProductoDetalle(Convert.ToInt32(txtCodigo.Text), frmLogin.iCodAlmacen, 2, Codlista);
                    txtStock.Text = pro.StockDisponible.ToString();
                }
            }
        }
Пример #4
0
        private Boolean BuscaProducto()
        {
            pro = AdmPro.CargaProductoDetalleR(txtReferencia.Text, frmLogin.iCodAlmacen, 2, Codlista);
            if (pro != null)
            {
                if (Procede == 11)
                {
                    frmRequerimiento form = (frmRequerimiento)Application.OpenForms["frmRequerimiento"];
                    if (form.codProd.Contains(pro.CodProducto) && Proceso == 1)
                    {
                        MessageBox.Show("El Producto ya existe");
                        repetido = 1;
                        return(false);
                    }
                    else
                    {
                        CodProducto         = pro.CodProducto;
                        txtReferencia.Text  = pro.Referencia;
                        txtDescripcion.Text = pro.Descripcion;
                        txtUnidad.Text      = pro.UnidadDescrip;
                        CargaUnidades(cmbUnidad);
                        cmbUnidad.SelectedValue = pro.CodUnidadMedida;
                        txtStock.Text           = pro.StockDisponible.ToString();
                        txtControlStock.Text    = "";
                        txtCantidad.Text        = "";
                        switch (pro.CodControlStock)
                        {
                        case 1:
                            txtControlStock.Enabled = false;
                            txtCantidad.Enabled     = true;
                            break;

                        case 2:
                            txtControlStock.Enabled = true;
                            txtCantidad.Enabled     = true;
                            break;

                        case 3:
                            txtControlStock.Enabled = true;
                            txtCantidad.Enabled     = false;
                            txtCantidad.Text        = "01";
                            break;

                        case 4:
                            txtControlStock.Enabled = false;
                            txtCantidad.Enabled     = false;
                            txtCantidad.Text        = "";
                            break;
                        }
                        return(true);
                    }
                }
                else if (Procede == 9)
                {
                    frmTranferenciaDirecta form = (frmTranferenciaDirecta)Application.OpenForms["frmTranferenciaDirecta"];
                    if (form.codProd.Contains(pro.CodProducto) && Proceso == 1)
                    {
                        MessageBox.Show("El Producto ya existe");
                        repetido = 1;
                        return(false);
                    }
                    else
                    {
                        CodProducto         = pro.CodProducto;
                        txtReferencia.Text  = pro.Referencia;
                        txtDescripcion.Text = pro.Descripcion;
                        txtUnidad.Text      = pro.UnidadDescrip;
                        CargaUnidades(cmbUnidad);
                        cmbUnidad.SelectedValue = pro.CodUnidadMedida;
                        txtStock.Text           = pro.StockDisponible.ToString();
                        txtControlStock.Text    = "";
                        txtCantidad.Text        = "";
                        switch (pro.CodControlStock)
                        {
                        case 1:
                            txtControlStock.Enabled = false;
                            txtCantidad.Enabled     = true;
                            break;

                        case 2:
                            txtControlStock.Enabled = true;
                            txtCantidad.Enabled     = true;
                            break;

                        case 3:
                            txtControlStock.Enabled = true;
                            txtCantidad.Enabled     = false;
                            txtCantidad.Text        = "01";
                            break;

                        case 4:
                            txtControlStock.Enabled = false;
                            txtCantidad.Enabled     = false;
                            txtCantidad.Text        = "";
                            break;
                        }
                        return(true);
                    }
                }
                else
                {
                    CodProducto         = pro.CodProducto;
                    txtCodigo.Text      = pro.CodProducto.ToString();
                    txtReferencia.Text  = pro.Referencia;
                    txtDescripcion.Text = pro.Descripcion;
                    txtUnidad.Text      = pro.UnidadDescrip;
                    CargaUnidades(cmbUnidad);
                    cmbUnidad.SelectedValue = pro.CodUnidadMedida;
                    if (pro.CodUnidadMedida > 0)
                    {
                        cmbUnidad.SelectedIndex = 0;
                    }
                    txtStock.Text        = pro.StockDisponible.ToString();
                    txtControlStock.Text = "";
                    txtCantidad.Text     = "";
                    switch (pro.CodControlStock)
                    {
                    case 1:
                        txtControlStock.Enabled = false;
                        txtCantidad.Enabled     = true;
                        break;

                    case 2:
                        txtControlStock.Enabled = true;
                        txtCantidad.Enabled     = true;
                        break;

                    case 3:
                        txtControlStock.Enabled = true;
                        txtCantidad.Enabled     = false;
                        txtCantidad.Text        = "01";
                        break;

                    case 4:
                        txtControlStock.Enabled = false;
                        txtCantidad.Enabled     = false;
                        txtCantidad.Text        = "";
                        break;
                    }
                    return(true);
                }
            }
            else
            {
                CodProducto             = 0;
                txtDescripcion.Text     = "";
                txtUnidad.Text          = "";
                cmbUnidad.SelectedIndex = -1;
                txtStock.Text           = "";
                txtControlStock.Text    = "";
                txtCantidad.Text        = "";
                return(false);
            }
        }
Пример #5
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            //Double bruto, montodescuento, valorventa, igv, precioventa, precioreal, valorreal, factorigv;
            if (Procede == 5)//Cuando abre desde guia remision
            {
                frmGuiaRemision form = (frmGuiaRemision)Application.OpenForms["frmGuiaRemision"];

                if (txtCantidad.Text == "")
                {
                    MessageBox.Show("Verificar Cantidad", "DETALLE DE ARTICULO", MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                    txtCantidad.Focus();
                }
                else
                {
                    if (form.dgvDetalle.Rows.Count < 10) // se carga el numero de items que soporta el tamaño del formato
                    {
                        if (Proceso == 1)
                        {
                            form.dgvDetalle.Rows.Add("", pro.CodProducto, pro.Referencia, pro.Descripcion, txtCodUnidad.Text,
                                                     cmbUnidad.Text, txtControlStock.Text, Convert.ToDouble(txtCantidad.Text), "", "",
                                                     "", "", "", "", "", "", "", "", "");
                        }
                        limpiarformulario();
                        if (Seleccion == 2)
                        {
                            this.Close();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Se alcanzo el limite de items permitidos en el formato", "DETALLE DE ARTICULO",
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }

            if (Procede == 11) //Cuando abre desde el requerimiento
            {
                frmRequerimiento form = (frmRequerimiento)Application.OpenForms["frmRequerimiento"];
                if (txtCantidad.Text == "")
                {
                    MessageBox.Show("Verificar Cantidad", "DETALLE DE ARTICULO", MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                    txtCantidad.Focus();
                }
                else
                {
                    if (form.dgvDetalle.Rows.Count < 30)
                    // se carga el numero de items que soporta el tamaño del formato
                    {
                        if (form.proce == 1)
                        {
                            //if (form.codProd.Contains(pro.CodProducto))
                            //{
                            //    MessageBox.Show("El Producto ya existe");
                            //}
                            //else
                            //{
                            form.dgvDetalle.Rows.Add("", pro.CodProducto, pro.Referencia, pro.Descripcion,
                                                     cmbUnidad.SelectedValue,
                                                     txtUnidad.Text, Convert.ToDouble(txtCantidad.Text), "", "");
                            form.codProd.Add(pro.CodProducto);
                            limpiarformulario();
                            if (Seleccion == 2)
                            {
                                this.Close();
                            }
                            // }
                        }
                        else if (form.proce == 2)
                        {
                            form.dgvDetalle.CurrentRow.SetValues(detalle.CodDetalleRequerimiento, pro.CodProducto,
                                                                 pro.Referencia, pro.Descripcion, cmbUnidad.SelectedValue,
                                                                 txtUnidad.Text, Convert.ToDouble(txtCantidad.Text), detalle.CodUser,
                                                                 detalle.FechaRegistro);
                            form.codProd.Add(pro.CodProducto);
                            limpiarformulario();
                            this.Close();
                        }
                        else if (form.proce == 3)
                        {
                            data = (DataTable)form.dgvDetalle.DataSource;
                            data.Rows.Add(0, pro.CodProducto, pro.Referencia, pro.Descripcion,
                                          cmbUnidad.SelectedValue,
                                          txtUnidad.Text, Convert.ToDouble(txtCantidad.Text), 0, DateTime.Now);
                            form.dgvDetalle.DataSource = data;
                            limpiarformulario();
                            form.codProd.Add(pro.CodProducto);
                            if (Seleccion == 2)
                            {
                                this.Close();
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Se alcanzo el limite de items permitidos en el formato", "DETALLE DE ARTICULO",
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
            if (Procede == 3) //Cuando abre desde transferencia
            {
                //CargaProducto();
                Decimal bruto, valorventa, igv, precioventa, precioreal, valorreal, factorigv;
                F2TransferenciaEntreAlmacenes form = (F2TransferenciaEntreAlmacenes)Application.OpenForms["F2TransferenciaEntreAlmacenes"];
                bruto = Convert.ToDecimal(txtCantidad.Text) * Convert.ToDecimal(pro.ValorProm);
                if (pro.ConIgv)
                {
                    precioventa = bruto;
                    factorigv   = ((Convert.ToDecimal(frmLogin.Configuracion.IGV) / 100) + 1);
                    valorventa  = precioventa / factorigv;
                }
                else
                {
                    valorventa  = bruto;
                    precioventa = valorventa;
                }
                precioreal = precioventa / Convert.ToDecimal(txtCantidad.Text);
                valorreal  = valorventa / Convert.ToDecimal(txtCantidad.Text);
                igv        = precioventa - valorventa;
                if (form.dgvDetalle.Rows.Count < 15)
                {
                    form.dgvDetalle.Rows.Add("", pro.CodProducto, txtReferencia.Text, txtDescripcion.Text, pro.CodUnidadMedida,
                                             pro.UnidadDescrip, txtControlStock.Text, Convert.ToDouble(txtCantidad.Text), pro.ValorProm, bruto,
                                             0, 0, 0, 0,
                                             valorventa, igv, precioventa, precioreal, /*valorreal*/ precioreal, "", "", 0, pro.ValorProm, uniequi.Factor);



                    limpiarformulario();
                    if (Seleccion == 2)
                    {
                        this.Close();
                    }
                    btnGuardar.Enabled = false;
                    txtReferencia.Focus();
                }
                else
                {
                    MessageBox.Show("Se alcanzo el limite de items permitidos en el formato", "Detalle Articulo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }

            if (Procede == 9)//Cuando abre desde el nota salida
            {
                frmTranferenciaDirecta form = (frmTranferenciaDirecta)Application.OpenForms["frmTranferenciaDirecta"];
                form.Procede = 9;
                if (txtCantidad.Text == "")
                {
                    MessageBox.Show("Verificar Cantidad", "DETALLE DE ARTICULO", MessageBoxButtons.OK, MessageBoxIcon.Information); txtCantidad.Focus();
                }
                else if (Convert.ToDecimal(txtCantidad.Text) > pro.StockDisponible)
                {
                    MessageBox.Show("Cantidad no disponible, verifique el stock", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    txtCantidad.Focus();
                }
                else
                {
                    if (form.dgvDetalle.Rows.Count < 10) // se carga el numero de items que soporta el tamaño del formato
                    {
                        prod = AdmPro.MuestraProductosTransferencia(pro.CodProducto, frmLogin.iCodAlmacen);
                        if (Proceso == 1)
                        {
                            form.dgvDetalle.Rows.Add("0", pro.CodProducto, pro.Referencia, pro.Descripcion, txtCodUnidad.Text,
                                                     txtUnidad.Text, Convert.ToDouble(txtCantidad.Text), prod.ValorProm, prod.ValorPromsoles, prod.PrecioProm, prod.StockActual);
                            limpiarformulario();
                            if (Seleccion == 2)
                            {
                                this.Close();
                            }
                        }
                        else if (Proceso == 2)
                        {
                            form.dgvDetalle.CurrentRow.SetValues("0", Convert.ToInt32(txtCodigo.Text), txtReferencia.Text, txtDescripcion.Text, Convert.ToInt32(txtCodUnidad.Text),
                                                                 txtUnidad.Text, Convert.ToDouble(txtCantidad.Text), prod.ValorProm, prod.ValorPromsoles, prod.PrecioProm, prod.StockActual);
                            limpiarformulario();
                            this.Close();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Se alcanzo el limite de items permitidos en el formato", "DETALLE DE ARTICULO", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }

            if (Procede == 10) //Cuando abre desde la nota de ingreso por orden compra
            {
                frmNotaIngreso form = (frmNotaIngreso)Application.OpenForms["frmNotaIngreso"];
                if (txtCantidad.Text == "" || Convert.ToInt32(txtCantidad.Text) == 0)
                {
                    MessageBox.Show("Verificar Cantidad", "DETALLE DE ARTICULO", MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                    txtCantidad.Focus();
                }
                else
                {
                    Decimal Bonificacion, Precio, bruto, montodescuento, valorventa, igv, precioventa, precioreal, valorreal, factorigv, dsc1, dsc2, dsc3, preunitario;


                    if (chBonificacion.Checked)
                    {
                        Precio       = 0;
                        Bonificacion = 1;
                    }

                    else
                    {
                        Precio       = AdmPro.CargaPrecioProducto(Convert.ToInt32(txtCodigo.Text), frmLogin.iCodAlmacen, Convert.ToInt32(form.cmbMoneda.SelectedValue));
                        Bonificacion = 0;
                    }


                    //if (form.dgvDetalle2.Rows.Count < 10)
                    //// se carga el numero de items que soporta el tamaño del formato
                    //{

                    bruto = Convert.ToDecimal(txtCantidad.Text) * Precio;

                    if (pro.ConIgv)
                    {
                        precioventa = bruto;
                        factorigv   = Convert.ToDecimal(frmLogin.Configuracion.IGV / 100 + 1);
                        valorventa  = precioventa / factorigv;
                    }
                    else
                    {
                        valorventa  = Precio;
                        precioventa = valorventa;
                    }
                    precioreal = precioventa / Convert.ToDecimal(txtCantidad.Text);
                    valorreal  = valorventa / Convert.ToDecimal(txtCantidad.Text);
                    igv        = precioventa - valorventa;

                    if (Proceso == 1)
                    {
                        data = (DataTable)form.dgvDetalle2.DataSource;
                        if (form.dgvDetalle2.Rows.Count <= 0)
                        {
                            form.dgvDetalle2.Rows.Add("0", pro.CodProducto, pro.Referencia, pro.Descripcion, txtUnidad.Text, cmbUnidad.SelectedValue, Convert.ToDouble(txtCantidad.Text), Convert.ToDouble(txtStock.Text), Convert.ToDouble(txtCantidad.Text), Convert.ToDouble(Precio), bruto,
                                                      0, 0, 0, 0, valorventa, igv, precioventa, precioreal, valorreal, 0, Convert.ToDouble(txtCantidad.Text), 0, Convert.ToDouble(txtCantidad.Text), 0, Bonificacion);
                            //form.dgvDetalle2.DataSource = data;
                        }
                        else
                        {
                            if (data == null)
                            {
                                form.dgvDetalle2.Rows.Add("0", pro.CodProducto, pro.Referencia, pro.Descripcion, txtUnidad.Text, cmbUnidad.SelectedValue, Convert.ToDouble(txtCantidad.Text), Convert.ToDouble(txtStock.Text), Convert.ToDouble(txtCantidad.Text), Convert.ToDouble(Precio), bruto,
                                                          0, 0, 0, 0, valorventa, igv, precioventa, precioreal, valorreal, 0, Convert.ToDouble(txtCantidad.Text), 0, Convert.ToDouble(txtCantidad.Text), 0, Bonificacion);
                            }
                            else
                            {
                                data.Rows.Add("0", pro.CodProducto, pro.Referencia, pro.Descripcion, txtUnidad.Text, cmbUnidad.SelectedValue, Convert.ToDouble(txtCantidad.Text), Convert.ToDouble(txtStock.Text), Convert.ToDouble(txtCantidad.Text), Convert.ToDouble(Precio), bruto,
                                              0, 0, 0, 0, valorventa, igv, precioventa, precioreal, valorreal, 0, Convert.ToDouble(txtCantidad.Text), 0, Convert.ToDouble(txtCantidad.Text), 0, Bonificacion);
                                form.dgvDetalle2.DataSource = data;
                            }
                        }

                        limpiarformulario();
                        if (Seleccion == 2)
                        {
                            this.Close();
                        }
                        //}
                    }
                    else
                    {
                        MessageBox.Show("Se alcanzo el limite de items permitidos en el formato", "DETALLE DE ARTICULO",
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
        }