public override void ActualizarControl() { Lbl.Articulos.Articulo Art = this.Elemento as Lbl.Articulos.Articulo; EntradaCodigo1.Text = Art.Codigo1; EntradaCodigo2.Text = Art.Codigo2; EntradaCodigo3.Text = Art.Codigo3; EntradaCodigo4.Text = Art.Codigo4; EntradaCategoria.Elemento = Art.Categoria; EntradaMarca.Elemento = Art.Marca; EntradaCaja.Elemento = Art.Caja; EntradaModelo.Text = Art.Modelo; EntradaSerie.Text = Art.Serie; EntradaNombre.Text = Art.Nombre; EntradaUrl.Text = Art.Url; EntradaProveedor.Elemento = Art.Proveedor; EntradaDescripcion.Text = Art.Descripcion; EntradaDescripcion2.Text = Art.Descripcion2; EntradaDestacado.ValueInt = Art.Destacado ? 1 : 0; EntradaWeb.ValueInt = ((int)(Art.Publicacion)); IgnorarCostoMargenTextChanged++; EntradaCosto.ValueDecimal = Art.Costo; if (Art.Margen == null) { EntradaMargen.ValueInt = 0; } else { EntradaMargen.ValueInt = Art.Margen.Id; } EntradaPvp.ValueDecimal = Art.Pvp; if (Art.Margen == null) { EntradaMargen.ValueInt = 0; } else { EntradaMargen.ValueInt = Art.Margen.Id; } IgnorarCostoMargenTextChanged--; EntradaTipoDeArticulo.ValueInt = (int)(Art.TipoDeArticulo); EntradaSeguimiento.ValueInt = (int)(Art.Seguimiento); EntradaPeriodicidad.ValueInt = (int)(Art.Periodicidad); EntradaSeguimiento.ReadOnly = Art.Existe && Art.Existencias != 0; EntradaStockActual.ValueDecimal = Art.Existencias; EntradaStockActual.ReadOnly = Art.Existe; EntradaUnidad.TextKey = Art.Unidad; Rendimiento = Art.Rendimiento; UnidadRendimiento = Art.UnidadRendimiento; EntradaStockMinimo.ValueDecimal = Art.PuntoDeReposicion; EntradaGarantia.ValueInt = Art.Garantia; CustomName = Art.Existe; base.ActualizarControl(); }
public void AddWithValue(Lbl.Articulos.Articulo articulo, decimal cantidad, decimal unitario, string obs) { DetalleArticulo Det = new DetalleArticulo(this.ElementoPadre); Det.Articulo = articulo; Det.Cantidad = cantidad; Det.Unitario = unitario; Det.Obs = obs; }
public override Lfx.Types.OperationResult Ok() { Lbl.Articulos.Articulo Art = EntradaArticulo.Elemento as Lbl.Articulos.Articulo; Lfx.Types.OperationResult Res = new Lfx.Types.SuccessOperationResult(); if (Art == null) { Res.Message += "Por favor seleccione un artículo." + Environment.NewLine; Res.Success = false; } if (EntradaDesdeSituacion.ValueInt != EntradaDesdeSituacion.ValueInt) { Res.Message += @"Por favor indique ""Desde"" y ""Hacia""." + Environment.NewLine; Res.Success = false; } if (EntradaCantidad.ValueDecimal <= 0) { Res.Message += "Por favor escriba la cantidad." + Environment.NewLine; Res.Success = false; } if (Res.Success) { if (Art != null && Art.ObtenerSeguimiento() != Lbl.Articulos.Seguimientos.Ninguno) { if (EntradaArticulo.DatosSeguimiento == null || EntradaArticulo.DatosSeguimiento.Count == 0) { return(new Lfx.Types.FailureOperationResult("Debe ingresar los datos de seguimiento (Ctrl-S) del artículo '" + Art.Nombre + "' para poder realizar movimientos de stock.")); } else { if (EntradaArticulo.DatosSeguimiento.CantidadTotal < EntradaArticulo.Cantidad) { return(new Lfx.Types.FailureOperationResult("Debe ingresar los datos de seguimiento (Ctrl-S) de todos los artículos '" + Art.Nombre + "' para poder realizar movimientos de stock.")); } } } } if (Res.Success) { IDbTransaction Trans = this.Connection.BeginTransaction(IsolationLevel.Serializable); decimal Cantidad = EntradaCantidad.ValueDecimal; Lbl.Articulos.Situacion Origen, Destino; Origen = EntradaDesdeSituacion.Elemento as Lbl.Articulos.Situacion; Destino = EntradaHaciaSituacion.Elemento as Lbl.Articulos.Situacion; Art.MoverExistencias(null, Cantidad, EntradaObs.Text, Origen, Destino, EntradaArticulo.DatosSeguimiento); Trans.Commit(); } return(Res); }
public override void ActualizarElemento() { Lbl.Articulos.Articulo Art = this.Elemento as Lbl.Articulos.Articulo; Art.Codigo1 = EntradaCodigo1.Text; Art.Codigo2 = EntradaCodigo2.Text; Art.Codigo3 = EntradaCodigo3.Text; Art.Codigo4 = EntradaCodigo4.Text; Art.Categoria = EntradaCategoria.Elemento as Lbl.Articulos.Categoria; Art.Marca = EntradaMarca.Elemento as Lbl.Articulos.Marca; Art.Caja = EntradaCaja.Elemento as Lbl.Cajas.Caja; Art.Modelo = EntradaModelo.Text; Art.Serie = EntradaSerie.Text; Art.Nombre = EntradaNombre.Text; Art.Url = EntradaUrl.Text; Art.Proveedor = EntradaProveedor.Elemento as Lbl.Personas.Persona; Art.Descripcion = EntradaDescripcion.Text; Art.Descripcion2 = EntradaDescripcion2.Text; Art.Destacado = EntradaDestacado.ValueInt != 0; Art.Costo = EntradaCosto.ValueDecimal; if (EntradaMargen.ValueInt > 0) { Art.Margen = this.Margenes.GetById(EntradaMargen.ValueInt); } else { Art.Margen = null; } Art.Pvp = EntradaPvp.ValueDecimal; Art.TipoDeArticulo = (Lbl.Articulos.TiposDeArticulo)(EntradaTipoDeArticulo.ValueInt); Art.Seguimiento = (Lbl.Articulos.Seguimientos)(EntradaSeguimiento.ValueInt); Art.Periodicidad = (Lbl.Articulos.Periodicidad)(EntradaPeriodicidad.ValueInt); Art.PuntoDeReposicion = Lfx.Types.Parsing.ParseStock(EntradaStockMinimo.Text); Art.Unidad = EntradaUnidad.TextKey; Art.Rendimiento = Rendimiento; Art.UnidadRendimiento = UnidadRendimiento; Art.Estado = 1; Art.Garantia = EntradaGarantia.ValueInt; Art.Publicacion = ((Lbl.Articulos.Publicacion)(EntradaWeb.ValueInt)); if (Art.Existe == false) { Art.ExistenciasInicial = EntradaStockActual.ValueDecimal; } Lbl.Articulos.Seguimientos Seg = Art.ObtenerSeguimiento(); if (Seg != Lbl.Articulos.Seguimientos.Ninguno) { // Verificar que los datos de seguimiento actual coincidan con el stock actual } base.ActualizarElemento(); }
protected override void OnLeave(EventArgs e) { Lbl.Articulos.Articulo Art = this.Elemento as Lbl.Articulos.Articulo; if (this.Cantidad != 0 && Art != null && Art.ObtenerSeguimiento() != Lbl.Articulos.Seguimientos.Ninguno && (this.DatosSeguimiento == null || this.DatosSeguimiento.Count != this.Cantidad)) { this.ObtenerDatosSeguimientoSiEsNecesario(); } base.OnLeave(e); }
private void BotonReceta_Click(object sender, EventArgs e) { if (EntradaTipoDeArticulo.TextKey == "2") { Lbl.Articulos.Articulo Art = this.Elemento as Lbl.Articulos.Articulo; Receta FormReceta = new Receta(); FormReceta.ReadOnly = this.TemporaryReadOnly; FormReceta.Articulo = Art; if (FormReceta.ShowDialog() == System.Windows.Forms.DialogResult.OK) { this.Changed = true; this.ActualizarCostoYStockSegunReceta(); } } }
public virtual void ImportarRegistro(MapaDeTabla mapa, Lfx.Data.Row importedRow) { object ImportIdValue = importedRow.Fields[mapa.ColumnaIdLazaro].Value; string ImportIdSqlValue; if (ImportIdValue is string) { ImportIdSqlValue = "'" + ImportIdValue.ToString() + "'"; } else if (ImportIdValue is decimal || ImportIdValue is double) { ImportIdSqlValue = Lfx.Types.Formatting.FormatNumberSql(System.Convert.ToDecimal(ImportIdValue)); } else if (ImportIdValue is DateTime) { ImportIdSqlValue = "'" + Lfx.Types.Formatting.FormatDateTimeSql(System.Convert.ToDateTime(ImportIdValue)) + "'"; } else { ImportIdSqlValue = ImportIdValue.ToString(); } Lfx.Data.Row CurrentRow = this.Connection.FirstRowFromSelect("SELECT * FROM " + mapa.TablaLazaro + " WHERE " + mapa.ColumnaIdLazaro + "=" + ImportIdSqlValue); Lbl.IElementoDeDatos Elem = ConvertirRegistroEnElemento(mapa, importedRow, CurrentRow); if (Elem != null) { this.GuardarElemento(mapa, Elem); if (this.Opciones.ImportarStock && Elem is Lbl.Articulos.Articulo && importedRow.Fields.Contains("stock_actual")) { // Actualizo el stock Lbl.Articulos.Articulo Art = Elem as Lbl.Articulos.Articulo; decimal StockActual = Art.ObtenerExistencias(); decimal NuevoStock = System.Convert.ToDecimal(importedRow["stock_actual"]); decimal Diferencia = NuevoStock - StockActual; if (Diferencia != 0) { Art.MoverExistencias(null, Diferencia, "Stock importado desde " + this.Nombre, null, new Articulos.Situacion(this.Connection, Lfx.Workspace.Master.CurrentConfig.Productos.DepositoPredeterminado), null); } } } }
private void EntradaArticulo_ObtenerDatosSeguimiento(object sender, EventArgs e) { Lbl.Articulos.Articulo Articulo = EntradaArticulo.Elemento as Lbl.Articulos.Articulo; decimal Cant = EntradaArticulo.Cantidad; if (Cant != 0) { Lfc.Articulos.EditarSeguimiento Editar = new Lfc.Articulos.EditarSeguimiento(); Editar.Articulo = Articulo; Editar.Cantidad = Math.Abs(System.Convert.ToInt32(Cant)); Editar.SituacionOrigen = this.EntradaDesdeSituacion.Elemento as Lbl.Articulos.Situacion; Editar.DatosSeguimiento = EntradaArticulo.DatosSeguimiento; if (Editar.ShowDialog() == DialogResult.OK) { EntradaArticulo.DatosSeguimiento = Editar.DatosSeguimiento; } } }
private void ActualizarCostoYStockSegunReceta() { Lbl.Articulos.Articulo Art = this.Elemento as Lbl.Articulos.Articulo; if (EntradaTipoDeArticulo.ValueInt == 2) { if (Art.Receta == null) { EntradaCosto.ValueDecimal = 0; } else { EntradaCosto.ValueDecimal = Art.Receta.Costo; } EntradaStockActual.ValueDecimal = Art.ObtenerExistencias(); } }
/// <summary> /// /// </summary> protected decimal CalcularDescuento() { decimal outDe = m_descAnt; Lbl.Articulos.Articulo Art = this.Elemento as Lbl.Articulos.Articulo; if (this.CargarPersona != "" && this.CargarPersona != "0" && Art != null && Art.Id != m_IdArticulo) { m_IdArticulo = Art.Id; DataTable dt = this.Connection.Select("SELECT * FROM personas_descuentos WHERE estado=1 AND id_persona=" + this.CargarPersona + " Order By descuento Desc"); DateTime now = this.Connection.FieldDateTime("SELECT NOW()", DateTime.Now); foreach (DataRow dr in dt.Rows) { DateTime desde = (DateTime)dr["desde"]; DateTime hasta = (DateTime)dr["hasta"]; string horario = dr["horario"].ToString(); decimal des = (decimal)dr["descuento"]; string id_rubro = dr["id_rubro"].ToString(); if (DateTime.Compare(now, desde) >= 0 && DateTime.Compare(now, hasta) <= 0) { if ((horario == "0") || (horario == "1" && TimeSpan.Compare(now.TimeOfDay, desde.TimeOfDay) >= 0 && TimeSpan.Compare(now.TimeOfDay, hasta.TimeOfDay) <= 0)) { if (id_rubro != "") { if (Art.Categoria.Rubro.Id == int.Parse(id_rubro)) { Descuento = outDe = m_descAnt = des; } } else if (id_rubro == "") { Descuento = outDe = m_descAnt = des;//descuento general } } } if (outDe != 0) { break; } } m_descAnt = outDe; } return(outDe); }
public void Mostrar(Lbl.Articulos.Articulo articulo) { this.EtiquetaTitulo.Text = "Conformación de existencias de " + articulo.ToString(); ListaConformacion.BeginUpdate(); ListaConformacion.Items.Clear(); System.Data.DataTable Situaciones = this.Connection.Select("SELECT id_situacion, nombre FROM articulos_situaciones WHERE id_situacion IN (SELECT DISTINCT id_situacion FROM articulos_stock WHERE id_articulo=" + articulo.Id.ToString() + ")"); foreach (System.Data.DataRow Situacion in Situaciones.Rows) { ListViewGroup Grupo = ListaConformacion.Groups.Add(Situacion["id_situacion"].ToString(), Situacion["nombre"].ToString()); System.Data.DataTable Articulos = this.Connection.Select("SELECT serie, cantidad FROM articulos_series WHERE cantidad<>0 AND id_articulo=" + articulo.Id.ToString() + " AND id_situacion=" + Situacion["id_situacion"].ToString()); foreach (System.Data.DataRow Articulo in Articulos.Rows) { string Serie = Articulo["serie"].ToString(); ListViewItem Itm = ListaConformacion.Items.Add(Serie); Itm.SubItems[0].Text = Serie; Itm.SubItems.Add(Lfx.Types.Formatting.FormatStock(System.Convert.ToDecimal(Articulo["cantidad"]), Lbl.Sys.Config.Articulos.Decimales)); Itm.Group = Grupo; } } DataTable Stocks = this.Connection.Select("SELECT id_articulo, id_situacion, cantidad FROM articulos_stock WHERE id_articulo=" + articulo.Id.ToString() + " AND cantidad<>0 AND id_situacion<>998 AND id_situacion<>999 ORDER BY id_situacion"); if (Stocks != null) { ListViewGroup Grupo = ListaConformacion.Groups.Add("000", "Totales por depósito"); foreach (System.Data.DataRow Stock in Stocks.Rows) { Lfx.Data.Row Situacion = this.Connection.Row("articulos_situaciones", "id_situacion", System.Convert.ToInt32(Stock["id_situacion"])); ListViewItem Itm = ListaConformacion.Items.Add(Situacion["nombre"].ToString()); Itm.SubItems.Add(Lfx.Types.Formatting.FormatStock(System.Convert.ToDecimal(Stock["cantidad"]), Lbl.Sys.Config.Articulos.Decimales)); Itm.Group = Grupo; } } ListaConformacion.EndUpdate(); }
private void EntradaProductos_ObtenerDatosSeguimiento(object sender, EventArgs e) { Lcc.Entrada.Articulos.DetalleComprobante Prod = ((Lcc.Entrada.Articulos.DetalleComprobante)(sender)); Lbl.Articulos.Articulo Articulo = Prod.Elemento as Lbl.Articulos.Articulo; decimal Cant = Prod.Cantidad; if (Cant != 0) { Lbl.Comprobantes.ComprobanteDeCompra Comprob = this.Elemento as Lbl.Comprobantes.ComprobanteDeCompra; Lfc.Articulos.EditarSeguimiento Editar = new Lfc.Articulos.EditarSeguimiento(); Editar.Articulo = Articulo; Editar.Cantidad = Math.Abs(System.Convert.ToInt32(Cant)); Editar.SituacionOrigen = Comprob.SituacionOrigen; Editar.DatosSeguimiento = Prod.DatosSeguimiento; if (Editar.ShowDialog() == DialogResult.OK) { Prod.DatosSeguimiento = Editar.DatosSeguimiento; } } }
private void MostrarStock() { Lbl.Articulos.Articulo Articulo = EntradaArticulo.Elemento as Lbl.Articulos.Articulo; if (Articulo != null && (EntradaDesdeSituacion.ValueInt != EntradaHaciaSituacion.ValueInt)) { decimal Cantidad = EntradaCantidad.ValueDecimal; decimal DesdeCantidad = this.Connection.FieldDecimal("SELECT cantidad FROM articulos_stock WHERE id_articulo=" + Articulo.Id.ToString() + " AND id_situacion=" + EntradaDesdeSituacion.ValueInt.ToString()); decimal HaciaCantidad = this.Connection.FieldDecimal("SELECT cantidad FROM articulos_stock WHERE id_articulo=" + Articulo.Id.ToString() + " AND id_situacion=" + EntradaHaciaSituacion.ValueInt.ToString()); if (EntradaDesdeSituacion.ValueInt < 998 || EntradaDesdeSituacion.ValueInt > 999) { EntradaDesdeAntes.Text = Lfx.Types.Formatting.FormatNumber(DesdeCantidad, Lbl.Sys.Config.Articulos.Decimales); EntradaDesdeDespues.Text = Lfx.Types.Formatting.FormatNumber(DesdeCantidad - Cantidad, Lbl.Sys.Config.Articulos.Decimales); } else { EntradaDesdeAntes.Text = "N/A"; EntradaDesdeDespues.Text = "N/A"; } if (EntradaHaciaSituacion.ValueInt < 998 || EntradaHaciaSituacion.ValueInt > 999) { EntradaHaciaAntes.Text = Lfx.Types.Formatting.FormatNumber(HaciaCantidad, Lbl.Sys.Config.Articulos.Decimales); EntradaHaciaDespues.Text = Lfx.Types.Formatting.FormatNumber(HaciaCantidad + Cantidad, Lbl.Sys.Config.Articulos.Decimales); } else { EntradaHaciaAntes.Text = "N/A"; EntradaHaciaDespues.Text = "N/A"; } } else { EntradaDesdeAntes.Text = ""; EntradaDesdeDespues.Text = ""; EntradaHaciaAntes.Text = ""; EntradaHaciaDespues.Text = ""; } }
public void EnviarNP(object sender, System.EventArgs e) { Lbl.Comprobantes.ComprobanteDeCompra Comprob = new Lbl.Comprobantes.ComprobanteDeCompra(this.Connection); Comprob.Tipo = Lbl.Comprobantes.Tipo.TodosPorLetra["NP"]; Comprob.FormaDePago = new Lbl.Pagos.FormaDePago(this.Connection, 3); Lbl.Comprobantes.ColeccionDetalleArticulos newCole = new Lbl.Comprobantes.ColeccionDetalleArticulos(this.Connection); foreach (ListViewItem Itm in this.Listado.Items) { Lbl.Articulos.Articulo art = new Lbl.Articulos.Articulo(this.Connection, int.Parse(Itm.SubItems[0].Text)); Lbl.Comprobantes.DetalleArticulo detArt = new Lbl.Comprobantes.DetalleArticulo(this.Connection); detArt.Crear(); detArt.Articulo = art; decimal costoFinal = decimal.Parse(Itm.SubItems["articulos.costo"].Text); detArt.ImporteUnitario = costoFinal; decimal stockAct = decimal.Parse(Itm.SubItems["articulos.stock_actual"].Text); decimal stockMin = decimal.Parse(Itm.SubItems["articulos.stock_minimo"].Text); if (stockMin == 0) { detArt.Cantidad = 1; } else { detArt.Cantidad = stockMin > stockAct ? stockMin - stockAct : stockMin; } newCole.Add(detArt); } Comprob.Articulos.AddRange(newCole); Comprob.Estado = 50; Lfc.FormularioEdicion FormularioEdicion = Lfc.Instanciador.InstanciarFormularioEdicion(Comprob); FormularioEdicion.MdiParent = this.MdiParent; //this.ParentForm.MdiParent; FormularioEdicion.Show(); //Lbl.IElementoDeDatos El = Lbl.Instanciador.Instanciar(this.Definicion.ElementoTipo, Lfx.Workspace.Master.GetNewConnection("Crear " + this.Definicion.ElementoTipo.ToString()) as Lfx.Data.Connection); //El.Crear(); }
protected void Recalcular() { foreach (ListViewItem Itm in this.Listado.Items) { Itm.UseItemStyleForSubItems = false; decimal Costo = Lfx.Types.Parsing.ParseCurrency(Itm.SubItems[1].Text); decimal Pvp = Lfx.Types.Parsing.ParseCurrency(Itm.SubItems[3].Text); decimal NuevoCosto = 0m; decimal NuevoPvp = 0m; decimal Aumento = EntradaCantidad.ValueDecimal; switch (EntradaUnidad.TextKey) { case "pct": if (EntradaMovimiento.TextKey == "+") { NuevoCosto = Costo * (1m + Aumento / 100m); NuevoPvp = Pvp * (1m + Aumento / 100m); } else { NuevoCosto = Costo * (1m - Aumento / 100m); NuevoPvp = Pvp * (1m - Aumento / 100m); } break; case "pesos": if (EntradaMovimiento.TextKey == "+") { NuevoCosto = Costo + Aumento; NuevoPvp = Pvp + Aumento; } else { NuevoCosto = Costo - Aumento; NuevoPvp = Pvp - Aumento; } break; case "psmg": int ArtId = Lfx.Types.Parsing.ParseInt(Itm.Tag.ToString()); Lbl.Articulos.Articulo GetArt = new Lbl.Articulos.Articulo(this.Connection, ArtId); decimal Margen = 0; if (GetArt != null && GetArt.Margen != null) { Margen = Math.Round(GetArt.Margen.Porcentaje, Lbl.Sys.Config.Moneda.DecimalesFinal); if (Margen != 0) { Margen = 1 + Margen / 100; } } if (EntradaMovimiento.TextKey == "+") { NuevoCosto = Costo + Aumento; if (Margen == 0) { Margen = 1 + ((Pvp - Costo) / (Costo == 0 ? 1 : Costo)); } NuevoPvp = NuevoCosto * Margen; } else { NuevoCosto = Costo - Aumento; if (Margen == 0) { Margen = 1 + ((Pvp - Costo) / (Costo == 0 ? 1 : Costo)); } NuevoPvp = NuevoCosto * (Margen == 0 ? 1 : Margen); } Itm.SubItems[6].Text = Margen.ToString(); break; } if (EntradaPrecio.TextKey == "costo") { Itm.SubItems[4].Text = Itm.SubItems[3].Text; Itm.SubItems[2].Text = Lfx.Types.Formatting.FormatCurrency(NuevoCosto); Itm.SubItems[2].BackColor = System.Drawing.Color.LightGoldenrodYellow; Itm.SubItems[4].BackColor = System.Drawing.SystemColors.Window; } else if (EntradaPrecio.TextKey == "pvp") { Itm.SubItems[2].Text = Itm.SubItems[1].Text; Itm.SubItems[4].Text = Lfx.Types.Formatting.FormatCurrency(NuevoPvp); Itm.SubItems[2].BackColor = System.Drawing.SystemColors.Window; Itm.SubItems[4].BackColor = System.Drawing.Color.LightGoldenrodYellow; } else { Itm.SubItems[2].Text = Lfx.Types.Formatting.FormatCurrency(NuevoCosto); Itm.SubItems[4].Text = Lfx.Types.Formatting.FormatCurrency(NuevoPvp); Itm.SubItems[2].BackColor = System.Drawing.Color.LightGoldenrodYellow; Itm.SubItems[4].BackColor = System.Drawing.Color.LightGoldenrodYellow; } } }
public void Mostrar(Lbl.Articulos.Articulo articulo) { Listado.BeginUpdate(); Listado.Items.Clear(); this.EtiquetaTitulo.Text = "Historial de entrada y salida de " + articulo.ToString(); System.Data.DataTable Detalles = this.Connection.Select("SELECT id_movim, id_articulo, desdesituacion, haciasituacion, cantidad, series, fecha, saldo, obs FROM articulos_movim WHERE id_articulo=" + articulo.Id.ToString() + " ORDER BY fecha"); ListViewItem itm = null; foreach (System.Data.DataRow Detalle in Detalles.Rows) { string DesdeSituacion = "Público"; string HaciaSituacion = "Público"; Detalle["desdesituacion"] = Lfx.Data.Connection.ConvertDBNullToZero(Detalle["desdesituacion"]); Detalle["haciasituacion"] = Lfx.Data.Connection.ConvertDBNullToZero(Detalle["haciasituacion"]); if (System.Convert.ToInt32(Detalle["desdesituacion"]) != 0) { if (SituacionCache.ContainsKey(System.Convert.ToInt32(Detalle["desdesituacion"])) == false) { SituacionCache[System.Convert.ToInt32(Detalle["desdesituacion"])] = this.Connection.FieldString("SELECT nombre FROM articulos_situaciones WHERE id_situacion=" + Detalle["desdesituacion"].ToString()); } DesdeSituacion = SituacionCache[(int)Detalle["desdesituacion"]]; } if (System.Convert.ToInt32(Detalle["haciasituacion"]) != 0) { if (SituacionCache.ContainsKey((int)Detalle["haciasituacion"]) == false) { SituacionCache[(int)Detalle["haciasituacion"]] = this.Connection.FieldString("SELECT nombre FROM articulos_situaciones WHERE id_situacion=" + Detalle["haciasituacion"].ToString()); } HaciaSituacion = SituacionCache[(int)Detalle["haciasituacion"]]; } itm = Listado.Items.Add(System.Convert.ToString(Detalle["id_movim"])); itm.SubItems.Add(new ListViewItem.ListViewSubItem(itm, Lfx.Types.Formatting.FormatDateAndTime(System.Convert.ToDateTime(Detalle["fecha"])))); itm.SubItems.Add(new ListViewItem.ListViewSubItem(itm, Lfx.Types.Formatting.FormatNumber(System.Convert.ToDecimal(Detalle["cantidad"]), Lbl.Sys.Config.Articulos.Decimales))); itm.SubItems.Add(new ListViewItem.ListViewSubItem(itm, Detalle["series"].ToString())); itm.SubItems.Add(new ListViewItem.ListViewSubItem(itm, DesdeSituacion)); itm.SubItems.Add(new ListViewItem.ListViewSubItem(itm, HaciaSituacion)); itm.SubItems.Add(new ListViewItem.ListViewSubItem(itm, Lfx.Types.Formatting.FormatNumber(System.Convert.ToDecimal(Detalle["saldo"]), Lbl.Sys.Config.Articulos.Decimales))); itm.SubItems.Add(new ListViewItem.ListViewSubItem(itm, System.Convert.ToString(Detalle["obs"]))); } Listado.EndUpdate(); if (itm != null) { itm.Selected = true; itm.Focused = true; itm.EnsureVisible(); } ListadoPedidos.BeginUpdate(); ListadoPedidos.Items.Clear(); System.Data.DataTable Pedidos = this.Connection.Select(@"SELECT comprob.id_comprob, comprob.fecha, comprob.id_cliente, comprob.tipo_fac, comprob.numero, comprob_detalle.cantidad, comprob_detalle.precio, comprob.estado FROM comprob, comprob_detalle WHERE comprob.id_comprob=comprob_detalle.id_comprob AND comprob.compra=1 AND comprob.tipo_fac='PD' AND comprob.estado=50 AND comprob_detalle.id_articulo=" + articulo.Id.ToString() + @" ORDER BY comprob.fecha" ); itm = null; foreach (System.Data.DataRow Pedido in Pedidos.Rows) { itm = ListadoPedidos.Items.Add(System.Convert.ToString(Pedido["id_comprob"])); itm.SubItems.Add(new ListViewItem.ListViewSubItem(itm, this.Connection.FieldString("SELECT nombre_visible FROM personas WHERE id_persona=" + Lfx.Data.Connection.ConvertDBNullToZero(Pedido["id_cliente"]).ToString()))); itm.SubItems.Add(new ListViewItem.ListViewSubItem(itm, System.Convert.ToString(Pedido["numero"]))); itm.SubItems.Add(new ListViewItem.ListViewSubItem(itm, Lfx.Types.Formatting.FormatDateAndTime(System.Convert.ToDateTime(Pedido["fecha"])))); itm.SubItems.Add(new ListViewItem.ListViewSubItem(itm, Lfx.Types.Formatting.FormatNumber(System.Convert.ToDecimal(Pedido["cantidad"]), Lbl.Sys.Config.Articulos.Decimales))); itm.SubItems.Add(new ListViewItem.ListViewSubItem(itm, Lfx.Types.Formatting.FormatNumber(System.Convert.ToDecimal(Pedido["precio"]), Lfx.Workspace.Master.CurrentConfig.Moneda.DecimalesCosto))); switch (System.Convert.ToInt32(Pedido["estado"])) { case 50: itm.ForeColor = System.Drawing.Color.DarkOrange; break; case 100: itm.ForeColor = System.Drawing.Color.DarkGreen; break; case 200: itm.ForeColor = System.Drawing.Color.DarkRed; itm.Font = new Font(itm.Font, System.Drawing.FontStyle.Strikeout); break; } } ListadoPedidos.EndUpdate(); if (itm != null) { itm.Selected = true; itm.Focused = true; itm.EnsureVisible(); } }
protected void CambiarArticulo(Lbl.Articulos.Articulo articulo) { if (this.Articulo != null) { EntradaUnitario.Enabled = true; EntradaUnitario.Enabled = true; EntradaDescuento.Enabled = true; EntradaCantidad.Enabled = true; EntradaImporte.Enabled = true; EntradaCantidad.TemporaryReadOnly = this.Articulo.ObtenerSeguimiento() != Lbl.Articulos.Seguimientos.Ninguno || this.TemporaryReadOnly; EntradaUnitario.TemporaryReadOnly = this.TemporaryReadOnly || this.BloquearPrecio; EntradaDescuento.TemporaryReadOnly = this.TemporaryReadOnly || this.BloquearPrecio; if (this.AutoUpdate) { if (this.Articulo == null) { return; } if (this.Articulo.Unidad != "u") { EntradaCantidad.Sufijo = Articulo.Unidad; } else { EntradaCantidad.Sufijo = ""; } decimal UnitarioMostrar; if (m_Precio == Precios.Costo) { UnitarioMostrar = Articulo.CostoLocal; } else { UnitarioMostrar = Articulo.PvpLocal; } if (this.Cantidad == 0) { this.Cantidad = 1; } this.EstablecerImporteUnitarioOriginal(UnitarioMostrar); this.RecalcularImporteFinal(); } } else if (EntradaArticulo.IsFreeText) { EntradaUnitario.Enabled = true; EntradaDescuento.Enabled = true; EntradaCantidad.Enabled = true; EntradaCantidad.TemporaryReadOnly = this.TemporaryReadOnly; EntradaUnitario.TemporaryReadOnly = this.TemporaryReadOnly || this.BloquearPrecio; EntradaDescuento.TemporaryReadOnly = this.TemporaryReadOnly || this.BloquearPrecio; EntradaImporte.Enabled = true; if (this.AutoUpdate) { if (this.Cantidad == 0) { this.Cantidad = 1; } } } else if (EntradaArticulo.Text.Length == 0 || (EntradaArticulo.Text.IsNumericInt() && EntradaArticulo.ValueInt == 0)) { EntradaUnitario.Enabled = false; EntradaDescuento.Enabled = false; EntradaCantidad.Enabled = false; EntradaCantidad.TemporaryReadOnly = this.TemporaryReadOnly; EntradaUnitario.TemporaryReadOnly = this.TemporaryReadOnly || this.BloquearPrecio; EntradaDescuento.TemporaryReadOnly = this.TemporaryReadOnly || this.BloquearPrecio; EntradaImporte.Enabled = false; if (this.AutoUpdate) { EntradaCantidad.ValueDecimal = 0m; EntradaImporte.ValueDecimal = 0m; this.EstablecerImporteUnitarioOriginal(0m); EntradaDescuento.ValueDecimal = 0m; } } }
public ItemReceta(Lbl.Articulos.Articulo articulo, decimal cantidad) { this.Articulo = articulo; this.Cantidad = cantidad; }
private void ActualizarBarra() { this.SuspendLayout(); switch (TablaSolicitada) { case "articulo": case "articulos": PanelProgreso.Visible = false; PanelAyuda.Visible = false; PanelPersona.Visible = false; PanelArticulo.Visible = true; Lbl.Articulos.Articulo Art; try { Art = new Lbl.Articulos.Articulo(this.DataBase, ItemSolicitado); } catch { Art = null; } if (Art != null && Art.Existe) { ElementoActual = Art; ItemActual = ItemSolicitado; TablaActual = TablaSolicitada; string Codigos = Art.Id.ToString(); if (Art.Codigo1 != null && Art.Codigo1.Length > 0) Codigos += System.Environment.NewLine + Art.Codigo1; if (Art.Codigo2 != null && Art.Codigo2.Length > 0) Codigos += System.Environment.NewLine + Art.Codigo2; if (Art.Codigo3 != null && Art.Codigo3.Length > 0) Codigos += System.Environment.NewLine + Art.Codigo3; if (Art.Codigo4 != null && Art.Codigo4.Length > 0) Codigos += System.Environment.NewLine + Art.Codigo4; ArticuloCodigos.Text = Codigos; ArticuloNombre.Text = Art.ToString(); ArticuloDescripcion.Text = Art.Descripcion; ArticuloPvp.Text = Lfx.Types.Formatting.FormatCurrency(Art.Pvp, Lfx.Workspace.Master.CurrentConfig.Moneda.Decimales); ArticuloStock.Text = Lfx.Types.Formatting.FormatCurrency(Art.Existencias, Lfx.Workspace.Master.CurrentConfig.Moneda.Decimales); PanelArticulo.Visible = true; } break; case "persona": case "personas": PanelProgreso.Visible = false; PanelAyuda.Visible = false; PanelPersona.Visible = true; PanelArticulo.Visible = false; Lbl.Personas.Persona Per; try { Per = new Lbl.Personas.Persona(this.DataBase, ItemSolicitado); } catch { Per = null; } if (Per != null && Per.Existe) { ElementoActual = Per; ItemActual = ItemSolicitado; TablaActual = TablaSolicitada; PersonaNombre.Text = Per.ToString(); PersonaDomicilio.Text = Per.Domicilio; PersonaTelefono.Text = Per.Telefono; PersonaEmail.Text = Per.Email; if (Per.Grupo != null) PersonaGrupo.Text = Per.Grupo.ToString(); else PersonaGrupo.Text = "-"; decimal Saldo; try { Saldo = Per.CuentaCorriente.ObtenerSaldo(false); } catch { Saldo = 0; } if (Saldo > 0) { PersonaComentario.Text = "Registra saldo impago en cuenta corriente por " + Lfx.Types.Formatting.FormatCurrency(Saldo, Lfx.Workspace.Master.CurrentConfig.Moneda.DecimalesFinal); PersonaComentario.TextStyle = Lazaro.Pres.DisplayStyles.TextStyles.SmallWarning; PersonaComentario.Visible = true; } else if (Saldo < 0) { PersonaComentario.Text = "Registra saldo a favor en cuenta corriente por " + Lfx.Types.Formatting.FormatCurrency(-Saldo, Lfx.Workspace.Master.CurrentConfig.Moneda.DecimalesFinal); PersonaComentario.TextStyle = Lazaro.Pres.DisplayStyles.TextStyles.Small; PersonaComentario.Visible = true; } else { PersonaComentario.Visible = false; } PersonaImagen.Image = Per.Imagen; PanelPersona.Visible = true; } break; } this.ResumeLayout(); }
private void ActualizarBarra() { this.SuspendLayout(); switch (TablaSolicitada) { case "articulo": case "articulos": PanelProgreso.Visible = false; PanelAyuda.Visible = false; PanelPersona.Visible = false; PanelArticulo.Visible = true; Lbl.Articulos.Articulo Art; try { Art = new Lbl.Articulos.Articulo(this.Connection, ItemSolicitado); } catch { Art = null; } if (Art != null && Art.Existe) { ElementoActual = Art; ItemActual = ItemSolicitado; TablaActual = TablaSolicitada; string Codigos = Art.Id.ToString(); if (Art.Codigo1 != null && Art.Codigo1.Length > 0) { Codigos += System.Environment.NewLine + Art.Codigo1; } if (Art.Codigo2 != null && Art.Codigo2.Length > 0) { Codigos += System.Environment.NewLine + Art.Codigo2; } if (Art.Codigo3 != null && Art.Codigo3.Length > 0) { Codigos += System.Environment.NewLine + Art.Codigo3; } if (Art.Codigo4 != null && Art.Codigo4.Length > 0) { Codigos += System.Environment.NewLine + Art.Codigo4; } ArticuloCodigos.Text = Codigos; ArticuloNombre.Text = Art.ToString(); ArticuloDescripcion.Text = Art.Descripcion; ArticuloPvp.Text = Lfx.Types.Formatting.FormatCurrency(Art.Pvp, Lfx.Workspace.Master.CurrentConfig.Moneda.Decimales); ArticuloStock.Text = Lfx.Types.Formatting.FormatCurrency(Art.Existencias, Lfx.Workspace.Master.CurrentConfig.Moneda.Decimales); PanelArticulo.Visible = true; } break; case "persona": case "personas": PanelProgreso.Visible = false; PanelAyuda.Visible = false; PanelPersona.Visible = true; PanelArticulo.Visible = false; Lbl.Personas.Persona Per; try { Per = new Lbl.Personas.Persona(this.Connection, ItemSolicitado); } catch { Per = null; } if (Per != null && Per.Existe) { ElementoActual = Per; ItemActual = ItemSolicitado; TablaActual = TablaSolicitada; PersonaNombre.Text = Per.ToString(); PersonaDomicilio.Text = Per.Domicilio; PersonaTelefono.Text = Per.Telefono; PersonaEmail.Text = Per.Email; if (Per.Grupo != null) { PersonaGrupo.Text = Per.Grupo.ToString(); } else { PersonaGrupo.Text = "-"; } decimal Saldo; try { Saldo = Per.CuentaCorriente.ObtenerSaldo(false); } catch (Exception ex) { System.Console.WriteLine(ex.ToString()); Saldo = 0; } if (Saldo > 0) { PersonaComentario.Text = "Registra saldo impago en cuenta corriente por " + Lfx.Types.Formatting.FormatCurrency(Saldo, Lfx.Workspace.Master.CurrentConfig.Moneda.DecimalesFinal); PersonaComentario.TextStyle = Lazaro.Pres.DisplayStyles.TextStyles.SmallWarning; PersonaComentario.Visible = true; } else if (Saldo < 0) { PersonaComentario.Text = "Registra saldo a favor en cuenta corriente por " + Lfx.Types.Formatting.FormatCurrency(-Saldo, Lfx.Workspace.Master.CurrentConfig.Moneda.DecimalesFinal); PersonaComentario.TextStyle = Lazaro.Pres.DisplayStyles.TextStyles.Small; PersonaComentario.Visible = true; } else { PersonaComentario.Visible = false; } PersonaImagen.Image = Per.Imagen; PanelPersona.Visible = true; } break; } this.ResumeLayout(); }
public override void ActualizarControl() { Lbl.Articulos.Articulo Art = this.Elemento as Lbl.Articulos.Articulo; EntradaCodigo1.Text = Art.Codigo1; EntradaCodigo2.Text = Art.Codigo2; EntradaCodigo3.Text = Art.Codigo3; EntradaCodigo4.Text = Art.Codigo4; EntradaCategoria.Elemento = Art.Categoria; EntradaMarca.Elemento = Art.Marca; EntradaCaja.Elemento = Art.Caja; EntradaModelo.Text = Art.Modelo; EntradaSerie.Text = Art.Serie; EntradaNombre.Text = Art.Nombre; EntradaUrl.Text = Art.Url; EntradaProveedor.Elemento = Art.Proveedor; EntradaDescripcion.Text = Art.Descripcion; EntradaDescripcion2.Text = Art.Descripcion2; EntradaDestacado.ValueInt = Art.Destacado ? 1 : 0; EntradaWeb.ValueInt = ((int)(Art.Publicacion)); if (IgnorarCostoMargenPvpPvpIvaTextChanged == 0) { IgnorarCostoMargenPvpPvpIvaTextChanged++; } EntradaCosto.ValueDecimal = Art.Costo; CompletarMargenes();//Carga los margenes antes de asignar.(//LEO) if (Art.Margen == null) { EntradaMargen.ValueInt = 0; } else { EntradaMargen.ValueInt = Art.Margen.Id; } EntradaPvp.ValueDecimal = Art.Pvp; IgnorarCostoMargenPvpPvpIvaTextChanged--; EntradaTipoDeArticulo.ValueInt = (int)(Art.TipoDeArticulo); EntradaSeguimiento.ValueInt = (int)(Art.Seguimiento); EntradaPeriodicidad.ValueInt = (int)(Art.Periodicidad); EntradaSeguimiento.ReadOnly = Art.Existe && Art.Existencias != 0; EntradaStockActual.ValueDecimal = Art.Existencias; EntradaStockActual.ReadOnly = Art.Existe; EntradaUnidad.TextKey = Art.Unidad; Rendimiento = Art.Rendimiento; UnidadRendimiento = Art.UnidadRendimiento; EntradaStockMinimo.ValueDecimal = Art.PuntoDeReposicion; EntradaGarantia.ValueInt = Art.Garantia; CustomName = Art.Existe; EntradaTipoDeArticulo_TextChanged(this, null); EntradaCategoriaMarcaModeloSerie_TextChanged(EntradaCategoria, null); EntradaCotizaPor.TextKey = Art.ConOtraMoneda.ToString(); groupBox1.Enabled = EntradaCotizaPor.TextKey == "0" ? false : true; EntradaCotiza.ValueDecimal = Art.Cotiza; EntradaMoneda.ValueInt = Art.Moneda; EntradaEstante.Text = Art.Estante; EntradaEstanteria.Text = Art.Estanteria; EntradaConceptoVenta.Elemento = Art.ConceptoVenta; EntradaConceptoCompra.Elemento = Art.ConceptoCompra; btnImprimir.Enabled = Art.Existe; base.ActualizarControl(); EntradaCodigo1.Focus(); IgnorarMargenChanged = 0; }