private void ValidaCabDoc()
        {
            if (tipfac.SelectedIndex != -1 && serfac.Text.Trim().Length == 4 && numfac.Text.Trim().Length == 10)
            {
                tb_me_movimientoscabBL BL = new tb_me_movimientoscabBL();
                tb_me_movimientoscab BE = new tb_me_movimientoscab();

                DataTable dt = new DataTable();

                BE.moduloid = modulo;
                BE.local = local;
                BE.tipodoc = tipfac.Text.ToString();
                BE.serdoc = serfac.Text.Trim();
                BE.numdoc = numfac.Text.ToString();
                dt = BL.GetOne(EmpresaID, BE).Tables[0];
                if (dt.Rows.Count > 0)
                {

                    serfac.Text = dt.Rows[0]["serdoc"].ToString().Trim();
                    String numdoc = dt.Rows[0]["numdoc"].ToString().Trim();

                    fechfac.Value = Convert.ToDateTime(dt.Rows[0]["fechdoc"]);
                    ctacte.Text = dt.Rows[0]["ctacte"].ToString().Trim();
                    nmruc.Text = dt.Rows[0]["nmruc"].ToString().Trim();
                    ctactename.Text = dt.Rows[0]["ctactename"].ToString().Trim();
                    direc.Text = dt.Rows[0]["direc"].ToString().Trim();
                    moneda.SelectedValue = dt.Rows[0]["moneda"].ToString().Trim();

                    //string s = dt.Rows[0]["sigla"].ToString().Trim();
                    //txtmoneda.Text = dt.Rows[0]["sigla"].ToString().Trim();

                }
            }
        }
        private void numguia_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                var num = string.Empty;
                num = numguia.Text.ToString().PadLeft(10, '0');
                numguia.Text = num;

                var BL = new tb_me_movimientoscabBL();
                var BE = new tb_me_movimientoscab();
                var dt = new DataTable();

                BE.moduloid = moduloiddes.SelectedValue.ToString();
                BE.local = localdes.SelectedValue.ToString();
                BE.tipodoc = tipguia.Text.ToString();
                BE.serdoc = serguia.Text.ToString();
                BE.numdoc = numguia.Text;

                dt = BL.GetAll2(EmpresaID, BE).Tables[0];

                if (dt.Rows.Count > 0)
                {
                    if (dt.Rows[0]["moneda"].ToString() == "S")
                    {
                        MessageBox.Show("Documento de referencia no puede ser en Moneda Nacional, verifique ...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }

                    var xfechdoc = Convert.ToDateTime(dt.Rows[0]["fechdoc"]);

                    if (Convert.ToString(xfechdoc.Year) != serdoc.Text.ToString().Trim())
                    {
                        MessageBox.Show("Documento de Referencia NO ES DEL PERIODO ACTUAL, verifique ...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }

                    tipfac.Text = dt.Rows[0]["tipfac"].ToString();
                    serfac.Text = dt.Rows[0]["serfac"].ToString();
                    numfac.Text = dt.Rows[0]["numfac"].ToString();

                    tipref.Text = dt.Rows[0]["tipref"].ToString();
                    numdococ1.Text = Equivalencias.Left(dt.Rows[0]["numref"].ToString(), 4);
                    numdococ.Text = Equivalencias.Right(dt.Rows[0]["numref"].ToString(), 6);

                    ctacte.Text = dt.Rows[0]["ctacte"].ToString();
                    ctactename.Text = dt.Rows[0]["ctactename"].ToString();
                    _validaPais();
                }
                else
                {
                    MessageBox.Show("NO SE UBICÓ documento de referencia ó se encuentra ANULADO, verifique ...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                _CargarDetalle();

                if (dt.Rows.Count > 0)
                {
                    for (var i = 0; i < dgb_importacion1.RowCount; i++)
                    {
                        var codi = dgb_importacion1.GetRowCellValue(i, "conceptoid").ToString();

                        if (codi.Trim() == "101")
                        {
                            dgb_importacion1.SetRowCellValue(i, "ctacte", dt.Rows[0]["ctacte"].ToString());
                            dgb_importacion1.SetRowCellValue(i, "proveedor", dt.Rows[0]["ctactename"].ToString());
                            dgb_importacion1.SetRowCellValue(i, "tipbou", dt.Rows[0]["tipfac"].ToString());
                            dgb_importacion1.SetRowCellValue(i, "serbou", dt.Rows[0]["serfac"].ToString());
                            dgb_importacion1.SetRowCellValue(i, "numbou", dt.Rows[0]["numfac"].ToString());
                            dgb_importacion1.SetRowCellValue(i, "fechbou", dt.Rows[0]["fechfac"].ToString());
                            dgb_importacion1.SetRowCellValue(i, "tipcamb", dt.Rows[0]["tcamb"].ToString());
                            dgb_importacion1.SetRowCellValue(i, "migv", dt.Rows[0]["igv"].ToString());
                            dgb_importacion1.SetRowCellValue(i, "bimp_sunat2", dt.Rows[0]["valventa"].ToString());
                            Decimal ximp_me = 0;
                            var ximp_mn = 0;
                            Decimal xtcamb = 0;
                            ximp_me = Convert.ToDecimal(dt.Rows[0]["valventa"].ToString());
                            xtcamb = Convert.ToDecimal(dt.Rows[0]["tcamb"].ToString());
                            xvalventa = (ximp_me * xtcamb) + ximp_mn;
                            dgb_importacion1.SetRowCellValue(i, "pven", xvalventa);
                        }
                    }
                }
                else
                {
                    limpiar_documento();
                }

                dgb_importacion1.Focus();
            }
        }
        private void form_cargar_datos(String posicion)
        {
            try
            {
                limpiar_documento();
                tb_me_movimientoscabBL BL = new tb_me_movimientoscabBL();
                tb_me_movimientoscab BE = new tb_me_movimientoscab();
                DataTable dt = new DataTable();

                BE.moduloid = modulo;
                BE.local = local;
                BE.tipodoc = tipodoc.SelectedValue.ToString().Trim();

                if (serdoc.Text.Trim().Length > 0)
                {
                    BE.serdoc = serdoc.Text.Trim().PadLeft(4, '0');
                    BE.numdoc = numdoc.Text.Trim().PadLeft(10, '0');
                }
                else
                {
                    if (posicion.Trim().Length > 0) MessageBox.Show("Seleccionar el Tipo de Documento !!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    return;
                }
                if (numdoc.Text.Trim().Length > 0)
                {
                    BE.numdoc = numdoc.Text.Trim().PadLeft(10, '0');
                }
                BE.posicion = posicion.Trim();

                dt = BL.GetAll_paginacion(EmpresaID, BE).Tables[0];

                if (dt.Rows.Count > 0)
                {
                    ssModo = "EDIT";
                    data_cbo_tiporeferencia(almacaccionid);
                    serdoc.Text = dt.Rows[0]["serdoc"].ToString().Trim();
                    numdoc.Text = dt.Rows[0]["numdoc"].ToString().Trim();
                    fechdoc.Text = dt.Rows[0]["fechdoc"].ToString().Trim();

                    tipimptoid = dt.Rows[0]["tipimptoid"].ToString().Trim();
                    direcnume = dt.Rows[0]["direcnume"].ToString().Trim();
                    lbllocal.Text = dt.Rows[0]["direcnume"].ToString().Trim();
                    incprec = dt.Rows[0]["incprec"].ToString().Trim();

                    moneda.SelectedValue = dt.Rows[0]["moneda"].ToString().Trim();
                    txtmoneda.Text = dt.Rows[0]["moneda"].ToString().Trim();
                    tcamb.Text = dt.Rows[0]["tcamb"].ToString().Trim();

                    // Modificaciones tipimptotasa.text =

                    if (dt.Rows[0]["tipimptoid"].ToString().Trim().Length > 0)
                    {
                        tipimptotasa.SelectedValue = dt.Rows[0]["tipimptoid"].ToString().Trim();
                    }
                    else
                    {
                        tipimptotasa.SelectedIndex = -1;
                    }

                    ctacte.Text = dt.Rows[0]["ctacte"].ToString().Trim();
                    nmruc.Text = dt.Rows[0]["nmruc"].ToString().Trim();
                    ctactename.Text = dt.Rows[0]["ctactename"].ToString().Trim();
                    direc.Text = dt.Rows[0]["direc"].ToString().Trim();

                    if (dt.Rows[0]["mottrasladointid"].ToString().Trim().Length > 0 && dt.Rows[0]["mottrasladointid"].ToString().Trim() != "00")
                    {
                        mottrasladointid.SelectedValue = dt.Rows[0]["mottrasladointid"].ToString().Trim();
                    }
                    else
                    {
                        mottrasladointid.SelectedIndex = -1;
                    }
                    direcname.Text = dt.Rows[0]["direcname"].ToString().Trim();
                    direcdeta.Text = dt.Rows[0]["direcdeta"].ToString().Trim();
                    if (dt.Rows[0]["tipoperacionid"].ToString().Trim().Length > 0)
                    {
                        tipoperacionid.SelectedValue = dt.Rows[0]["tipoperacionid"].ToString().Trim();
                    }
                    else
                    {
                        tipoperacionid.SelectedIndex = -1;
                    }

                    if (dt.Rows[0]["motivotrasladoid"].ToString().Trim().Length > 0 & dt.Rows[0]["motivotrasladoid"].ToString().Trim() != "00")
                    {
                        motivotrasladoid.SelectedValue = dt.Rows[0]["motivotrasladoid"].ToString().Trim();
                    }
                    else
                    {
                        motivotrasladoid.SelectedIndex = -1;
                    }

                    if (dt.Rows[0]["tipref"].ToString().Trim().Length > 0 && dt.Rows[0]["serref"].ToString().Trim().Length > 0)
                    {
                        tipref.SelectedValue = dt.Rows[0]["tipref"].ToString().Trim();
                        serref.Text = dt.Rows[0]["serref"].ToString().Trim();

                        //numdococ.Text = dt.Rows[0]["numref"].ToString().Trim();

                        String n = dt.Rows[0]["numref"].ToString().Trim();

                        numdococ1.Text = Equivalencias.Left(n, 4);
                        numdococ.Text = Equivalencias.Right(n, 6);

                        fechref.Format = DateTimePickerFormat.Short;
                        fechref.Text = dt.Rows[0]["fechref"].ToString().Trim();
                    }
                    else
                    {
                        tipref.SelectedIndex = -1;
                    }

                    if (dt.Rows[0]["serfac"].ToString().Trim().Length > 0 && dt.Rows[0]["numfac"].ToString().Trim().Length > 0)
                    {
                        tipfac.Text = dt.Rows[0]["tipfac"].ToString().Trim();
                        serfac.Text = dt.Rows[0]["serfac"].ToString().Trim();
                        numfac.Text = dt.Rows[0]["numfac"].ToString().Trim();
                        fechfac.Format = DateTimePickerFormat.Short;
                        fechfac.Text = dt.Rows[0]["fechfac"].ToString().Trim();
                    }
                    else
                    {
                        tipfac.SelectedIndex = 0;
                    }

                    if (dt.Rows[0]["serguia"].ToString().Trim().Length > 0 && dt.Rows[0]["numguia"].ToString().Trim().Length > 0)
                    {
                        serguia.Text = dt.Rows[0]["serguia"].ToString().Trim();
                        numguia.Text = dt.Rows[0]["numguia"].ToString().Trim();
                        fechguia.Format = DateTimePickerFormat.Short;
                        fechguia.Text = dt.Rows[0]["fechguia"].ToString().Trim();
                    }

                    if (dt.Rows[0]["sernotac"].ToString().Trim().Length > 0 && dt.Rows[0]["numnotac"].ToString().Trim().Length > 0)
                    {
                        sernotac.Text = dt.Rows[0]["sernotac"].ToString().Trim();
                        numnotac.Text = dt.Rows[0]["numnotac"].ToString().Trim();
                        fechnotac.Format = DateTimePickerFormat.Short;
                        fechnotac.Text = dt.Rows[0]["fechnotac"].ToString().Trim();
                    }

                    if (dt.Rows[0]["ser_op"].ToString().Trim().Length > 0 && dt.Rows[0]["num_op"].ToString().Trim().Length > 0)
                    {
                        ser_op.Text = dt.Rows[0]["ser_op"].ToString().Trim();
                        num_op.Text = dt.Rows[0]["num_op"].ToString().Trim();
                    }

                    //cencosid, cencosname
                    ValidaCentroCosto(dt.Rows[0]["cencosid"].ToString(), true);
                    //vendedorid, vendedorname
                    //Valida Dependiendo del Dni de la Persona
                    ValidaPersona(dt.Rows[0]["perdni"].ToString(), true);
                    //ValidaVendedor(dt.Rows[0]["vendorid"].ToString(), true);

                    if (dt.Rows[0]["fechentrega"].ToString().Trim().Substring(0, 10) != "01/01/1900")
                    {
                        fechentrega.Format = DateTimePickerFormat.Short;
                        fechentrega.Text = dt.Rows[0]["fechentrega"].ToString().Trim();
                    }

                    if (dt.Rows[0]["fechpago"].ToString().Trim().Substring(0, 10) != "01/01/1900")
                    {
                        fechpago.Format = DateTimePickerFormat.Short;
                        fechpago.Text = dt.Rows[0]["fechpago"].ToString().Trim();
                    }

                    //transpid, transpname, transpplaca, transpcertificado, transplicencia
                    ValidaTransportista(dt.Rows[0]["transpid"].ToString(), false);
                    ddnni.Text = dt.Rows[0]["ddnni"].ToString().Trim();
                    //dnimane.Text = "";
                    itemsT.Text = dt.Rows[0]["items"].ToString().Trim();
                    totpzas.Text = dt.Rows[0]["totpzas"].ToString().Trim();
                    bruto.Text = dt.Rows[0]["bruto"].ToString().Trim();
                    totdscto1.Text = dt.Rows[0]["totdscto1"].ToString().Trim();
                    valventa.Text = dt.Rows[0]["valventa"].ToString().Trim();
                    totimpto.Text = dt.Rows[0]["totimpto"].ToString().Trim();
                    totimporte.Text = dt.Rows[0]["totimporte"].ToString().Trim();
                    glosa.Text = dt.Rows[0]["glosa"].ToString().Trim();

                    //Tabladetallemov DEL DOCUMENTO
                    data_Tabladetallemovmov();
                    if (dt.Rows[0]["status"].ToString().Trim() != "9")
                    {
                        btn_editar.Enabled = true;
                        btn_eliminar.Enabled = true;
                        btn_imprimir.Enabled = true;
                        btnImprimirNoval.Enabled = true;
                        btn_attachedfile.Enabled = true;

                        btn_primero.Enabled = true;
                        btn_anterior.Enabled = true;
                        btn_siguiente.Enabled = true;
                        btn_ultimo.Enabled = true;

                        btn_salir.Enabled = true;
                        griddetallemov.Focus();
                        griddetallemov.Rows[0].Selected = false;
                        pdtimagen.Visible = false;
                        //numdococ1.Enabled = false;
                    }
                    else
                    {

                        ssModo = "ANULADO";
                        txt_status.Text = "ANULADO";
                        //btn_clave.Image = global::BapFormulariosNet.Properties.Resources.btn_Lock20;
                        pdtimagen.Visible = true;
                        btn_editar.Enabled = false;
                        btn_eliminar.Enabled = false;
                        btn_imprimir.Enabled = true;
                        btnImprimirNoval.Enabled = true;

                        btn_primero.Enabled = true;
                        btn_anterior.Enabled = true;
                        btn_siguiente.Enabled = true;
                        btn_ultimo.Enabled = true;

                        btn_salir.Enabled = true;

                        //numdococ1.Enabled = false;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }