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(); }
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 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(); }
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(); }
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(); }
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); } }
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 = ""; }
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; } }
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); } } }