Beispiel #1
0
        private void btnEtiquetas_Click(object sender, EventArgs e)
        {
            var frmOpciones = new ObtenerElementoLista();

            frmOpciones.lblMensaje.Text = "¿Cuál Etiqueta deseas utilizar?";
            frmOpciones.dgvDatos.Columns.Add(new DataGridViewTextBoxColumn()
            {
                Name = "Reporte", HeaderText = "Reporte"
            });
            frmOpciones.dgvDatos.Columns.Add(new DataGridViewTextBoxColumn()
            {
                Name = "Archivo", HeaderText = "Archivo", Visible = false
            });

            var oReportes = Directory.GetFiles(GlobalClass.ConfiguracionGlobal.pathReportes, "ReporteEtiquetas*.frx");

            foreach (string sReporte in oReportes)
            {
                string sNombre = Path.GetFileNameWithoutExtension(sReporte);
                sNombre = sNombre.Replace("ReporteEtiquetas", "");
                if (sNombre == "")
                {
                    sNombre = "(Original)";
                }
                frmOpciones.dgvDatos.Rows.Add(sNombre, sReporte);
            }

            if (frmOpciones.ShowDialog(Principal.Instance) == DialogResult.OK)
            {
                this.ImprimirEtiquetas(Util.Cadena(frmOpciones.Sel["Archivo"]));
            }
            frmOpciones.Dispose();
        }
Beispiel #2
0
        private void VerNumeroDeParte(DataGridViewRow oFila)
        {
            string sColNumeroDeParte = ((oFila.DataGridView == this.dgvEspecificas ? "mes" : "mad") + "NumeroDeParte");
            string sColParteID       = ((oFila.DataGridView == this.dgvEspecificas ? "mes" : "mad") + "ParteID");

            string sNumeroDeParte = Util.Cadena(oFila.Cells[sColNumeroDeParte].Value);
            var    oPartes        = Datos.GetListOf <Parte>(c => c.NumeroParte == sNumeroDeParte && c.Estatus);

            if (oPartes.Count > 1)
            {
                var frmLista = new ObtenerElementoLista("Selecciona la parte que deseas usar:", oPartes);
                // frmLista.Text = "Número de parte o código repetido";
                frmLista.MostrarColumnas("NumeroParte", "NombreParte");
                frmLista.ShowDialog(Principal.Instance);
                if (frmLista.DialogResult == DialogResult.OK)
                {
                    oFila.Cells[sColParteID].Value = (frmLista.Seleccion as Parte).ParteID;
                }
                frmLista.Dispose();
            }
            else
            {
                oFila.Cells[sColParteID].Value = (oPartes.Count == 1 ? oPartes[0].ParteID : 0);
            }
        }
Beispiel #3
0
        private void FijarDescripcion(string sNumeroDeParte)
        {
            var Partes = Datos.GetListOf <PartesView>(q => q.NumeroDeParte == sNumeroDeParte);

            this.ParteIDSel = 0;
            bool bSel = false;

            if (Partes.Count > 0)  // Se tiene que mostrar un listado
            {
                var Lista = new ObtenerElementoLista("Selecciona la parte que deseas utilizar o presiona el botón \"Ninguna\" si no es alguna de las listadas."
                                                     , Partes);
                Lista.MostrarColumnas("Descripcion", "Marca", "Linea");
                Lista.btnAceptar.Text = "&Seleccionar";
                Lista.btnCerrar.Text  = "&Ninguna";
                if (Lista.ShowDialog(Principal.Instance) == DialogResult.OK)
                {
                    // Se verifica si la parte tiene su máximo mayor a cero, lo cual indica que no puede ser 9500
                    int iParteID = Util.Entero(Lista.Sel["ParteID"]);
                    if (Datos.Exists <ParteMaxMin>(c => c.ParteID == iParteID && c.Maximo > 0))
                    {
                        UtilLocal.MensajeAdvertencia("Este artículo no puede ser 9500. Si no hay existencia, favor de reportarlo al Departamento de Compras.");
                        this.txtDescripcion.Text     = "";
                        this.txtDescripcion.ReadOnly = true;
                        return;
                    }

                    this.txtDescripcion.Text = Util.Cadena(Lista.Sel["Descripcion"]);
                    this.ParteIDSel          = iParteID;
                    // this.chkPaqueteria.Focus();
                    bSel = true;
                }
            }
            else
            {
                // Se sugiere el nombre
                var oProvGanV = (this.cmbLineaMarca.SelectedItem as ProveedoresMarcasLineasView);
                if (oProvGanV != null)
                {
                    this.txtDescripcion.Text = UtilDatos.GenerarSugerenciaNombreParte(oProvGanV.LineaID, oProvGanV.MarcaID, sNumeroDeParte);
                }
            }

            this.txtDescripcion.ReadOnly = bSel;
        }
Beispiel #4
0
        private void RecibirResguardo()
        {
            // Se obtiene la lista de los resugardos posibles para traspaso
            var oResg = Datos.GetListOf<ContaPolizasDetalleAvanzadoView>(c => c.ContaCuentaAuxiliarID == Cat.ContaCuentasAuxiliares.Resguardo
                && c.SucursalID != Cat.Sucursales.Matriz && c.Cargo > 0).OrderBy(c => c.SucursalID).ToList();
            // Se quintan los resguardos marcados para ocultar manualmente, y también los no mover
            for (int i = 0; i < oResg.Count; i++)
            {
                int iPolDetID = oResg[i].ContaPolizaDetalleID;
                if (Datos.Exists<ContaPolizaResguardoOcultar>(c => c.ContaPolizaDetalleID == iPolDetID))
                {
                    oResg.RemoveAt(i--);
                    continue;
                }

                // Para quitar los resguardos de "NO MOVER"
                if (oResg[i].Referencia == "NO MOVER")
                    oResg.RemoveAt(i--);
            }
            // Se crea el formulario para el listado
            var frmListado = new ObtenerElementoLista("Selecciona el resguardo a recibir", oResg);
            frmListado.MostrarColumnas("Sucursal", "FechaPoliza", "Cargo");
            frmListado.dgvDatos.Columns["Sucursal"].DisplayIndex = 0;
            frmListado.dgvDatos.Columns["FechaPoliza"].HeaderText = "Fecha";
            frmListado.dgvDatos.Columns["Cargo"].HeaderText = "Importe";
            frmListado.dgvDatos.Columns["Cargo"].FormatoMoneda();
            // Se agrega opción (con menú contextual) para ocultar resguardos
            var cmsMenu = new ContextMenuStrip();
            cmsMenu.Items.Add("Ocultar");
            frmListado.dgvDatos.MouseClick += new MouseEventHandler((s, e) =>
            {
                if (e.Button != MouseButtons.Right) return;
                if (frmListado.dgvDatos.CurrentRow == null) return;
                cmsMenu.Show(frmListado.dgvDatos, new Point(e.X, e.Y));
            });
            cmsMenu.Items[0].Click += new EventHandler((s, e) =>
            {
                // if (frmListado.dgvDatos.CurrentRow == null) return;
                int iPolizaDetID = Util.Entero(frmListado.dgvDatos.CurrentRow.Cells["ContaPolizaDetalleID"].Value);
                var oOcultar = new ContaPolizaResguardoOcultar() { ContaPolizaDetalleID = iPolizaDetID };
                Datos.Guardar<ContaPolizaResguardoOcultar>(oOcultar);
                int iFila = frmListado.dgvDatos.CurrentRow.Index;
                frmListado.dgvDatos.CurrentCell = null;
                frmListado.dgvDatos.Rows[iFila].Visible = false;
            });
            // Se muestra el formulario con el listado
            if (frmListado.ShowDialog(Principal.Instance) == DialogResult.OK)
            {
                // Se pide el usuario
                var oResU = UtilLocal.ValidarObtenerUsuario();
                if (oResU.Exito)
                {
                    // Se procede a guardar la póliza
                    var oPolizaV = (frmListado.Seleccion as ContaPolizasDetalleAvanzadoView);
                    string sFecha = DateTime.Now.ToString(GlobalClass.FormatoFecha);
                    // Se modifica la póliza original, para quitar el resguardo
                    var oPolResguardo = Datos.GetEntity<ContaPolizaDetalle>(c => c.ContaPolizaID == oPolizaV.ContaPolizaID
                        && c.ContaCuentaAuxiliarID == Cat.ContaCuentasAuxiliares.Resguardo);
                    oPolResguardo.Cargo = 0;
                    Datos.Guardar<ContaPolizaDetalle>(oPolResguardo);
                    var oPoliza = Datos.GetEntity<ContaPoliza>(c => c.ContaPolizaID == oPolizaV.ContaPolizaID);
                    oPoliza.Concepto = string.Format("{0} / {1} / {2} / {3}", oPolizaV.Sucursal, sFecha, oResU.Respuesta.NombreUsuario, oPoliza.Concepto);
                    Datos.Guardar<ContaPoliza>(oPoliza);
                    // Ahora se crea una nueva póliza, para meter el resguadro a matriz
                    oPoliza = ContaProc.CrearPoliza(Cat.ContaTiposDePoliza.Diario, string.Format("RESGUARDO / {1} / {2} / {3}", DateTime.Now, oPolizaV.Sucursal
                        , sFecha, oResU.Respuesta.NombreUsuario), Cat.ContaCuentasAuxiliares.Resguardo, Cat.ContaCuentasAuxiliares.Caja, oPolizaV.Cargo, "RESGUARDO"
                        , null, null, Cat.Sucursales.Matriz);
                    var oPolCaja = Datos.GetEntity<ContaPolizaDetalle>(c => c.ContaPolizaID == oPoliza.ContaPolizaID
                        && c.ContaCuentaAuxiliarID == Cat.ContaCuentasAuxiliares.Caja);
                    oPolCaja.Abono = 0;
                    Datos.Guardar<ContaPolizaDetalle>(oPolCaja);

                    //
                    this.LlenarArbol();
                }
            }
            frmListado.Dispose();
        }
Beispiel #5
0
        private void RecibirResguardo()
        {
            // Se obtiene la lista de los resugardos posibles para traspaso
            var oResg = Datos.GetListOf <ContaPolizasDetalleAvanzadoView>(c => c.ContaCuentaAuxiliarID == Cat.ContaCuentasAuxiliares.Resguardo &&
                                                                          c.SucursalID != Cat.Sucursales.Matriz && c.Cargo > 0).OrderBy(c => c.SucursalID).ToList();

            // Se quintan los resguardos marcados para ocultar manualmente, y también los no mover
            for (int i = 0; i < oResg.Count; i++)
            {
                int iPolDetID = oResg[i].ContaPolizaDetalleID;
                if (Datos.Exists <ContaPolizaResguardoOcultar>(c => c.ContaPolizaDetalleID == iPolDetID))
                {
                    oResg.RemoveAt(i--);
                    continue;
                }

                // Para quitar los resguardos de "NO MOVER"
                if (oResg[i].Referencia == "NO MOVER")
                {
                    oResg.RemoveAt(i--);
                }
            }
            // Se crea el formulario para el listado
            var frmListado = new ObtenerElementoLista("Selecciona el resguardo a recibir", oResg);

            frmListado.MostrarColumnas("Sucursal", "FechaPoliza", "Cargo");
            frmListado.dgvDatos.Columns["Sucursal"].DisplayIndex  = 0;
            frmListado.dgvDatos.Columns["FechaPoliza"].HeaderText = "Fecha";
            frmListado.dgvDatos.Columns["Cargo"].HeaderText       = "Importe";
            frmListado.dgvDatos.Columns["Cargo"].FormatoMoneda();
            // Se agrega opción (con menú contextual) para ocultar resguardos
            var cmsMenu = new ContextMenuStrip();

            cmsMenu.Items.Add("Ocultar");
            frmListado.dgvDatos.MouseClick += new MouseEventHandler((s, e) =>
            {
                if (e.Button != MouseButtons.Right)
                {
                    return;
                }
                if (frmListado.dgvDatos.CurrentRow == null)
                {
                    return;
                }
                cmsMenu.Show(frmListado.dgvDatos, new Point(e.X, e.Y));
            });
            cmsMenu.Items[0].Click += new EventHandler((s, e) =>
            {
                // if (frmListado.dgvDatos.CurrentRow == null) return;
                int iPolizaDetID = Util.Entero(frmListado.dgvDatos.CurrentRow.Cells["ContaPolizaDetalleID"].Value);
                var oOcultar     = new ContaPolizaResguardoOcultar()
                {
                    ContaPolizaDetalleID = iPolizaDetID
                };
                Datos.Guardar <ContaPolizaResguardoOcultar>(oOcultar);
                int iFila = frmListado.dgvDatos.CurrentRow.Index;
                frmListado.dgvDatos.CurrentCell         = null;
                frmListado.dgvDatos.Rows[iFila].Visible = false;
            });
            // Se muestra el formulario con el listado
            if (frmListado.ShowDialog(Principal.Instance) == DialogResult.OK)
            {
                // Se pide el usuario
                var oResU = UtilLocal.ValidarObtenerUsuario();
                if (oResU.Exito)
                {
                    // Se procede a guardar la póliza
                    var    oPolizaV = (frmListado.Seleccion as ContaPolizasDetalleAvanzadoView);
                    string sFecha   = DateTime.Now.ToString(GlobalClass.FormatoFecha);
                    // Se modifica la póliza original, para quitar el resguardo
                    var oPolResguardo = Datos.GetEntity <ContaPolizaDetalle>(c => c.ContaPolizaID == oPolizaV.ContaPolizaID &&
                                                                             c.ContaCuentaAuxiliarID == Cat.ContaCuentasAuxiliares.Resguardo);
                    oPolResguardo.Cargo = 0;
                    Datos.Guardar <ContaPolizaDetalle>(oPolResguardo);
                    var oPoliza = Datos.GetEntity <ContaPoliza>(c => c.ContaPolizaID == oPolizaV.ContaPolizaID);
                    oPoliza.Concepto = string.Format("{0} / {1} / {2} / {3}", oPolizaV.Sucursal, sFecha, oResU.Respuesta.NombreUsuario, oPoliza.Concepto);
                    Datos.Guardar <ContaPoliza>(oPoliza);
                    // Ahora se crea una nueva póliza, para meter el resguadro a matriz
                    oPoliza = ContaProc.CrearPoliza(Cat.ContaTiposDePoliza.Diario, string.Format("RESGUARDO / {1} / {2} / {3}", DateTime.Now, oPolizaV.Sucursal
                                                                                                 , sFecha, oResU.Respuesta.NombreUsuario), Cat.ContaCuentasAuxiliares.Resguardo, Cat.ContaCuentasAuxiliares.Caja, oPolizaV.Cargo, "RESGUARDO"
                                                    , null, null, Cat.Sucursales.Matriz);
                    var oPolCaja = Datos.GetEntity <ContaPolizaDetalle>(c => c.ContaPolizaID == oPoliza.ContaPolizaID &&
                                                                        c.ContaCuentaAuxiliarID == Cat.ContaCuentasAuxiliares.Caja);
                    oPolCaja.Abono = 0;
                    Datos.Guardar <ContaPolizaDetalle>(oPolCaja);

                    //
                    this.LlenarArbol();
                }
            }
            frmListado.Dispose();
        }
Beispiel #6
0
        private void btnEtiquetas_Click(object sender, EventArgs e)
        {
            var frmOpciones = new ObtenerElementoLista();
            frmOpciones.lblMensaje.Text = "¿Cuál Etiqueta deseas utilizar?";
            frmOpciones.dgvDatos.Columns.Add(new DataGridViewTextBoxColumn() { Name = "Reporte", HeaderText = "Reporte" });
            frmOpciones.dgvDatos.Columns.Add(new DataGridViewTextBoxColumn() { Name = "Archivo", HeaderText = "Archivo", Visible = false });

            var oReportes = Directory.GetFiles(GlobalClass.ConfiguracionGlobal.pathReportes, "ReporteEtiquetas*.frx");
            foreach (string sReporte in oReportes)
            {
                string sNombre = Path.GetFileNameWithoutExtension(sReporte);
                sNombre = sNombre.Replace("ReporteEtiquetas", "");
                if (sNombre == "") sNombre = "(Original)";
                frmOpciones.dgvDatos.Rows.Add(sNombre, sReporte);
            }

            if (frmOpciones.ShowDialog(Principal.Instance) == DialogResult.OK)
            {
                this.ImprimirEtiquetas(Util.Cadena(frmOpciones.Sel["Archivo"]));
            }
            frmOpciones.Dispose();
        }
Beispiel #7
0
        private void VerNumeroDeParte(DataGridViewRow oFila)
        {
            string sColNumeroDeParte = ((oFila.DataGridView == this.dgvEspecificas ? "mes" : "mad") + "NumeroDeParte");
            string sColParteID = ((oFila.DataGridView == this.dgvEspecificas ? "mes" : "mad") + "ParteID");

            string sNumeroDeParte = Util.Cadena(oFila.Cells[sColNumeroDeParte].Value);
            var oPartes = Datos.GetListOf<Parte>(c => c.NumeroParte == sNumeroDeParte && c.Estatus);
            if (oPartes.Count > 1)
            {
                var frmLista = new ObtenerElementoLista("Selecciona la parte que deseas usar:", oPartes);
                // frmLista.Text = "Número de parte o código repetido";
                frmLista.MostrarColumnas("NumeroParte", "NombreParte");
                frmLista.ShowDialog(Principal.Instance);
                if (frmLista.DialogResult == DialogResult.OK)
                    oFila.Cells[sColParteID].Value = (frmLista.Seleccion as Parte).ParteID;
                frmLista.Dispose();
            }
            else
            {
                oFila.Cells[sColParteID].Value = (oPartes.Count == 1 ? oPartes[0].ParteID : 0);
            }
        }
        private void btnBuscarNoParte_Click(object sender, EventArgs e)
        {
            if (!Validaciones())
                return;

            try
            {
                if (Util.Entero(this.cboTipoOperacion.SelectedValue) <= 3)
                {
                    if (Util.Entero(this.cboConceptoOperacion.SelectedValue) == Cat.MovimientosConceptosDeOperacion.EntradaGarantia)
                    {
                        int iProveedorID = Util.Entero(this.cboProveedor.SelectedValue);
                        var oGarantias = Datos.GetListOf<VentasGarantiasView>(c => c.ProveedorID == iProveedorID && c.EstatusGenericoID == Cat.EstatusGenericos.EnRevision);
                        var frmSel = new ObtenerElementoLista("Selecciona el artículo repuesto:", oGarantias);
                        frmSel.Size = new Size(800, 400);
                        frmSel.MostrarColumnas("NumeroDeParte", "NombreDeParte", "Linea", "Marca");
                        if (frmSel.ShowDialog(Principal.Instance) == DialogResult.OK)
                        {
                            var oGarantia = (frmSel.Seleccion as VentasGarantiasView);
                            int iFila = this.AgregarParteDetalleCaptura(oGarantia.ParteID);
                            // Se agrega el id de la garantía
                            this.dgvDetalleCaptura.Rows[iFila].Tag = oGarantia.VentaGarantiaID;
                        }
                        frmSel.Dispose();
                    }
                    else
                    {
                        var bus = DetalleBusquedaDesdeMovimientos.Instance;
                        bus.BusquedaPredefinida = this.txtNumeroParte.Text;
                        bus.ShowDialog();

                        if (bus.Seleccionado)
                        {
                            this.txtNumeroParte.Clear();
                            var lista = bus.Sel;
                            foreach (var dic in lista)
                            {
                                var parteId = Util.Entero(dic["ParteID"]);
                                int iFila = this.AgregarParteDetalleCaptura(parteId);
                                if (iFila >= 0)
                                {
                                    bool bCostoDif = (Util.Decimal(this.dtDetalleConceptos.Rows[iFila]["Costo Inicial"]) != Util.Decimal(dic["Costo"]));
                                    this.dtDetalleConceptos.Rows[iFila]["Costo Inicial"] = Util.Decimal(dic["Costo"]);
                                    this.dtDetalleConceptos.Rows[iFila]["UNS"] = Util.Decimal(dic["Cantidad"]);
                                    this.dgvDetalleCaptura_CellValueChanged(null, new DataGridViewCellEventArgs(this.dgvDetalleCaptura.Columns["UNS"].Index, iFila));
                                }
                            }
                            this.dgvDetalleCaptura.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
                        }
                    }
                }
                if (Util.Entero(this.cboTipoOperacion.SelectedValue) == 4) //Dev a proveedor
                {
                    DetalleBusquedaDeMovimientos bus = new DetalleBusquedaDeMovimientos(Util.Entero(this.cboProveedor.SelectedValue));
                    bus.bGarantias = (Util.Entero(this.cboConceptoOperacion.SelectedValue) == Cat.MovimientosConceptosDeOperacion.DevolucionGarantia);
                    if (bus.ShowDialog(Principal.Instance) == DialogResult.OK) {
                        this.txtNumeroParte.Clear();

                        /* if (this.txtFolioFactura.Text == string.Empty)
                        {
                            movimientoInventario = bus.movimiento;
                            this.txtFolioFactura.Text = movimientoInventario.FolioFactura;
                        } */

                        // Se agrega
                        int iFila = this.AgregarParteDetalleCaptura(bus.oMovimientoDetalle.ParteID);
                        // Se guarda el MovimientoInventarioDetalleID,
                        this.dgvDetalleCaptura["FuenteMovimientoInventarioDetalleID", iFila].Value = bus.oMovimientoDetalle.MovimientoInventarioDetalleID;
                        // Se agrega el id de la garantía, si aplica
                        if (bus.bGarantias)
                            this.dgvDetalleCaptura.Rows[iFila].Tag = bus.iGarantiaID;
                    }
                }
            }
            catch (Exception ex)
            {
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
        }
Beispiel #9
0
        private void txtCodigo_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar != (char)Keys.Enter) return;
            if (string.IsNullOrWhiteSpace(this.txtCodigo.Text)) return;

            if (this.Cliente == null)
            {
                UtilLocal.MensajeAdvertencia("No hay ningún cliente seleccionado o selección incorrecta.");
                return;
            }

            PartesVentasView oPartePrecio = null;
            var Precios = Datos.GetListOf<PartesVentasView>(q => (q.NumeroParte == this.txtCodigo.Text || q.CodigoBarra == this.txtCodigo.Text)
                && q.ParteEstatusID == Cat.PartesEstatus.Activo);
            switch (Precios.Count)
            {
                case 0: return;
                case 1: oPartePrecio = Precios[0]; break;
                default:  // Hay más de una parte que concuerda con la búsqueda, se muestra un listado para elegir
                    var frmLista = new ObtenerElementoLista("Selecciona la parte que deseas agregar:", Precios);
                    frmLista.Text = "Número de parte o código repetido";
                    frmLista.MostrarColumnas("CodigoBarra", "NumeroParte", "NombreParte");
                    frmLista.dgvDatos.Columns["NombreParte"].DisplayIndex = 0;
                    frmLista.dgvDatos.Columns["NumeroParte"].DisplayIndex = 1;
                    frmLista.ShowDialog(Principal.Instance);
                    if (frmLista.DialogResult == DialogResult.OK)
                        oPartePrecio = (frmLista.Seleccion as PartesVentasView);
                    frmLista.Dispose();
                    if (oPartePrecio == null)
                        return;
                    break;
            }

            this.AgregarProductoVenta(oPartePrecio);
            this.txtCodigo.Text = "";
        }
Beispiel #10
0
 private void txtRequiereDepositoDe_Leave(object sender, EventArgs e)
 {
     this.txtRequiereDepositoDe.Tag = null;
     if (this.txtRequiereDepositoDe.Text == "") return;
     var oPartes = Datos.GetListOf<Parte>(c => c.NumeroParte == this.txtRequiereDepositoDe.Text && c.Estatus);
     if (oPartes.Count > 1)
     {
         var frmLista = new ObtenerElementoLista("Selecciona el artículo de depósito correspondiente:", oPartes);
         frmLista.Text = "Número de parte o código repetido";
         frmLista.MostrarColumnas("CodigoBarra", "NumeroParte", "NombreParte");
         frmLista.dgvDatos.Columns["NombreParte"].DisplayIndex = 0;
         frmLista.dgvDatos.Columns["NumeroParte"].DisplayIndex = 1;
         frmLista.ShowDialog(Principal.Instance);
         if (frmLista.DialogResult == DialogResult.OK)
             this.txtRequiereDepositoDe.Tag = ((frmLista.Seleccion as Parte) == null ? null : (int?)(frmLista.Seleccion as Parte).ParteID);
         frmLista.Dispose();
     }
     else if (oPartes.Count == 1)
     {
         this.txtRequiereDepositoDe.Tag = oPartes[0].ParteID;
     }
 }
Beispiel #11
0
        private void txtCodigo_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == 39) //Simple Comma
            {
                e.Handled = true;
            }
            if (e.KeyChar == (char)Keys.Enter)
            {
                try
                {
                    int iParteID = 0;
                    if (this.dgvDatos.Rows.Count == 0)
                    {
                        UtilLocal.MensajeAdvertencia("No se encontró ninguna parte con el código seleccionado.");
                        return;
                    }
                    else if (this.dgvDatos.Rows.Count == 1)
                    {
                        iParteID = Util.Entero(this.dgvDatos["ParteID", 0].Value);
                    }
                    else
                    {
                        var frmLista = new ObtenerElementoLista("Selecciona la parte que deseas agregar:", this.dgvDatos.DataSource);
                        frmLista.Text = "Número de parte o código repetido";
                        frmLista.MostrarColumnas("NumeroParte", "NombreParte");
                        frmLista.dgvDatos.Columns["NombreParte"].DisplayIndex = 0;
                        frmLista.dgvDatos.Columns["NumeroParte"].DisplayIndex = 1;
                        frmLista.ShowDialog(Principal.Instance);
                        if (frmLista.DialogResult == DialogResult.OK)
                        {
                            iParteID = (frmLista.Seleccion as pauParteBusquedaAvanzadaEnTraspasos_Result).ParteID;
                        }
                        frmLista.Dispose();
                    }

                    //se manda a la derecha.
                    var rowIndex = this.dgvDatos.EncontrarIndiceDeValor("ParteID", iParteID);
                    if ((decimal)this.dgvDatos.Rows[rowIndex].Cells["Existencia"].Value <= 0)
                    {
                        Util.MensajeError("No hay suficientes existencias del articulo", "Error");
                        return;
                    }
                    // Se verifica si ya hay un traspaso para la parte indicada
                    int iSucDestID = Util.Entero(this.cboUbicacionDestino.SelectedValue);
                    if (Datos.Exists<MovimientoInventarioDetalleView>(c => c.TipoOperacionID == Cat.TiposDeOperacionMovimientos.Traspaso && c.SucursalDestinoID == iSucDestID
                        && !c.FechaRecepcion.HasValue && c.ParteID == iParteID))
                    {
                        if (UtilLocal.MensajePregunta("El artículo seleccionado ya tiene un traspaso pendiente. ¿Aún así deseas continuar?") != DialogResult.Yes)
                            return;
                    }

                    this.dgvDatos.CurrentCell = this.dgvDatos.Rows[rowIndex].Cells["X"];
                    dgvDatos.Rows[rowIndex].Cells["X"].Value = true;
                    this.dgvDatos_CurrentCellDirtyStateChanged(sender, null);

                    this.dgvTraspasos.Select();
                    rowIndex = this.dgvTraspasos.EncontrarIndiceDeValor("ParteID", iParteID);
                    this.dgvTraspasos.CurrentCell = this.dgvTraspasos.Rows[rowIndex].Cells["Cantidad"];
                    this.dgvTraspasos.BeginEdit(true);
                    //this.txtCodigo.Clear();
                }
                catch (Exception ex) {
                    UtilLocal.MensajeError(ex.Message);
                }
            }
        }
Beispiel #12
0
        private void FijarDescripcion(string sNumeroDeParte)
        {
            var Partes = Datos.GetListOf<PartesView>(q => q.NumeroDeParte == sNumeroDeParte);
            this.ParteIDSel = 0;
            bool bSel = false;
            if (Partes.Count > 0)  // Se tiene que mostrar un listado
            {
                var Lista = new ObtenerElementoLista("Selecciona la parte que deseas utilizar o presiona el botón \"Ninguna\" si no es alguna de las listadas."
                    , Partes);
                Lista.MostrarColumnas("Descripcion", "Marca", "Linea");
                Lista.btnAceptar.Text = "&Seleccionar";
                Lista.btnCerrar.Text = "&Ninguna";
                if (Lista.ShowDialog(Principal.Instance) == DialogResult.OK)
                {
                    // Se verifica si la parte tiene su máximo mayor a cero, lo cual indica que no puede ser 9500
                    int iParteID = Util.Entero(Lista.Sel["ParteID"]);
                    if (Datos.Exists<ParteMaxMin>(c => c.ParteID == iParteID && c.Maximo > 0))
                    {
                        UtilLocal.MensajeAdvertencia("Este artículo no puede ser 9500. Si no hay existencia, favor de reportarlo al Departamento de Compras.");
                        this.txtDescripcion.Text = "";
                        this.txtDescripcion.ReadOnly = true;
                        return;
                    }

                    this.txtDescripcion.Text = Util.Cadena(Lista.Sel["Descripcion"]);
                    this.ParteIDSel = iParteID;
                    // this.chkPaqueteria.Focus();
                    bSel = true;
                }
            }
            else
            {
                // Se sugiere el nombre
                var oProvGanV = (this.cmbLineaMarca.SelectedItem as ProveedoresMarcasLineasView);
                if (oProvGanV != null)
                    this.txtDescripcion.Text = UtilDatos.GenerarSugerenciaNombreParte(oProvGanV.LineaID, oProvGanV.MarcaID, sNumeroDeParte);
            }

            this.txtDescripcion.ReadOnly = bSel;
        }