private void Insert()
        {
            try
            {
                tb_pp_recetaBL BL = new tb_pp_recetaBL();
                tb_pp_receta BE = new tb_pp_receta();

                var Item = new tb_pp_receta.Item();
                var ListaItems = new List<tb_pp_receta.Item>();

                #region Variables de RecetasCab
                BE.articid = xarticid.ToString();
                BE.version = txt_version.Text;
                BE.fechemi = Convert.ToDateTime(txt_fechemi.Text);
                BE.estado = cmb_estado.SelectedIndex.ToString();
                BE.usuar = VariablesPublicas.Usuar.ToUpper().Trim();
                #endregion

                if (dgv_productos.Rows.Count > 0 && dgv_productos.ColumnCount > 0)
                {
                    for (int i = 0; i < dgv_productos.RowCount; i++)
                    {
                        Item = new tb_pp_receta.Item();
                        Item.articid = xarticid.ToString();
                        Item.version = txt_version.Text;
                        Item.colorid = txt_colorid.Text;
                        Item.coltalla = xcoltalla.ToString();
                        Item.bloqcostid = dgv_productos.Rows[i].Cells["bloqueid"].Value.ToString();
                        Item.productid = dgv_productos.Rows[i].Cells["productid"].Value.ToString();
                        Item.cantidad = Convert.ToInt32(dgv_productos.Rows[i].Cells["cantidad"].Value.ToString());
                        Item.estado = "0";
                        Item.usuar = VariablesPublicas.Usuar.ToUpper().Trim();
                        ListaItems.Add(Item);
                    }
                }

                if (ListaItems.Count == 0)
                {
                    MessageBox.Show("Documento SIN DETALLE Y/O DETALLE INCORRECTO !!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                BE.ListaItems = ListaItems;

                if (BL.Insert(EmpresaID, BE))
                {
                    MessageBox.Show("Datos Grabados Correctamente !!!", "Confirmación", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    procesado = true;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
 void GeneraVersion(String xarticid)
 {
     tb_pp_receta BE = new tb_pp_receta();
     tb_pp_recetaBL BL = new tb_pp_recetaBL();
     DataTable dt = new DataTable();
     BE.articid = xarticid;
     dt = BL.GetAll_Version(EmpresaID,BE).Tables[0];
     if (dt.Rows.Count > 0)
         txt_version.Text = dt.Rows[0]["version"].ToString();
     else
         txt_version.Text = "";
 }
        void CargarDatos()
        {
            txt_fechemi.Text = DateTime.Today.ToShortDateString();
            txt_articid.Text = articid;
            txt_articname.Text = articname;
            txt_colorid.Text = colorid;
            txt_colorname.Text = colorname;
            xcoltalla = coltall;
            txt_tallaname.Text = tallaname;
            txt_version.Text = version;
            xarticid = articid;

            Tabladetallecolor = new DataTable("detalle");
            Tabladetallecolor.Columns.Add("items", typeof(String));
            Tabladetallecolor.Columns.Add("bloqueid", typeof(String));
            Tabladetallecolor.Columns.Add("bloquename", typeof(String));
            Tabladetallecolor.Columns.Add("productid", typeof(String));
            Tabladetallecolor.Columns.Add("productname", typeof(String));
            Tabladetallecolor.Columns.Add("Cantidad", typeof(Int32));

            Tabladetallecolor2 = new DataTable("detalle2");
            Tabladetallecolor2.Columns.Add("items", typeof(String));
            Tabladetallecolor2.Columns.Add("bloqueid", typeof(String));
            Tabladetallecolor2.Columns.Add("bloquename", typeof(String));
            Tabladetallecolor2.Columns.Add("productid", typeof(String));
            Tabladetallecolor2.Columns.Add("productname", typeof(String));
            Tabladetallecolor2.Columns.Add("Cantidad", typeof(Int32));

            // Cargamos el Detalle Cuando una Receta ya haya sido Generada
            if (Tabladetallecolor != null)
            {
                Tabladetallecolor.Rows.Clear();
                dgv_productos.DataSource = Tabladetallecolor;
            }

            tb_pp_recetaBL BL = new tb_pp_recetaBL();
            tb_pp_receta BE = new tb_pp_receta();
            DataTable dt = new DataTable();
            BE.articid = xarticid;
            BE.colorid = txt_colorid.Text;
            BE.version = txt_version.Text;
            BE.coltalla = xcoltalla;

            dt = BL.GetAll_Detalle(EmpresaID, BE).Tables[0];
            if (dt.Rows.Count > 0)
            {
                pnl_carga.Enabled = false;
                btn_nuevo.Enabled = true; // cambio a true
                btn_editar.Enabled = true;
                dgv_productos.ReadOnly = true;
                txt_fechemi.Text = dt.Rows[0]["fechemi"].ToString();
                dgv_productos.DataSource = dt;
            }
            else
            {
                pnl_carga.Enabled = false;
                btn_nuevo.Enabled = true;
                dgv_productos.ReadOnly = true;
                btn_editar.Enabled = false;
            }
        }