private void EntradaTipoPvNumero_TextChanged(object sender, EventArgs e) { if (Lbl.Comprobantes.Tipo.TodosPorLetra.ContainsKey(EntradaTipo.TextKey)) { Lbl.Comprobantes.Tipo Tipo = Lbl.Comprobantes.Tipo.TodosPorLetra[EntradaTipo.TextKey]; if (Tipo.Existe) { EntradaFormaPago.Enabled = Tipo.EsFacturaNCoND; } else { EntradaFormaPago.Enabled = false; } if (EntradaNumero.ValueInt > 0) { this.Text = Tipo.ToString() + " " + this.EntradaPV.ValueInt.ToString("0000") + "-" + EntradaNumero.ValueInt.ToString("00000000"); } else { this.Text = Tipo.ToString() + " " + this.EntradaPV.ValueInt.ToString("0000"); } if (Tipo.EsNotaCredito) { EtiquetaHaciaSituacion.Text = "Origen"; } else { EtiquetaHaciaSituacion.Text = "Destino"; } } }
private void QuitarImpresora(Lbl.Impresion.TipoImpresora impresora) { Lbl.Comprobantes.Tipo Tipo = this.Elemento as Lbl.Comprobantes.Tipo; Tipo.Impresoras.Remove(impresora); Listado.Items.RemoveByKey(impresora.GetHashCode().ToString()); }
protected virtual Lbl.Impresion.Impresora ObtenerImpresora() { if (this.Tipo == null) { this.Tipo = this.ObtenerTipo(); } if (this.Tipo == null) { return(null); } // Intento obtener una impresora para esta susursal, para esta estación foreach (Lbl.Impresion.TipoImpresora Impr in this.Tipo.Impresoras) { if (Impr.Estacion != null && Impr.Estacion.ToUpperInvariant() == Lfx.Environment.SystemInformation.MachineName && Impr.Sucursal != null && Impr.Sucursal.Id == Lbl.Sys.Config.Empresa.SucursalActual.Id) { return(Impr.Impresora); } } // Intento obtener una impresora para esta estación, cualquier sucursal foreach (Lbl.Impresion.TipoImpresora Impr in this.Tipo.Impresoras) { if (Impr.Estacion != null && Impr.Estacion.ToUpperInvariant() == Lfx.Environment.SystemInformation.MachineName && Impr.Sucursal == null) { return(Impr.Impresora); } } // Intento obtener una impresora para esta sucursal, cualquier estacion foreach (Lbl.Impresion.TipoImpresora Impr in this.Tipo.Impresoras) { if (Impr.Estacion == null && Impr.Sucursal != null && Impr.Sucursal.Id == Lbl.Sys.Config.Empresa.SucursalActual.Id) { return(Impr.Impresora); } } // Intento obtener una impresora para cual sucursal, cualquier estacion foreach (Lbl.Impresion.TipoImpresora Impr in this.Tipo.Impresoras) { if (Impr.Estacion == null && Impr.Sucursal == null) { return(Impr.Impresora); } } return(null); }
private void BotonAgregar_Click(object sender, EventArgs e) { Lbl.Comprobantes.Tipo Tipo = this.Elemento as Lbl.Comprobantes.Tipo; AgregarTipoImpresora FormularioAgregar = new AgregarTipoImpresora(); FormularioAgregar.Tipo = Tipo; if (FormularioAgregar.ShowDialog() == DialogResult.OK) { Lbl.Impresion.TipoImpresora TipoImpr = FormularioAgregar.TipoImpresora; if (TipoImpr != null && TipoImpr.Impresora != null) { Tipo.Impresoras.Add(TipoImpr); this.MostrarImpresora(TipoImpr); } } }
public override void ActualizarElemento() { Lbl.Comprobantes.Tipo Tipo = this.Elemento as Lbl.Comprobantes.Tipo; Tipo.Nombre = EntradaNombre.Text; Tipo.Nomenclatura = EntradaLetra.Text; Tipo.MueveExistencias = EntradaMueveStock.ValueInt; Tipo.SituacionOrigen = EntradaSituacionOrigen.Elemento as Lbl.Articulos.Situacion; Tipo.SituacionDestino = EntradaSituacionDestino.Elemento as Lbl.Articulos.Situacion; Tipo.NumerarAlGuardar = EntradaNumerarAl.TextKey == "1"; Tipo.NumerarAlImprimir = EntradaNumerarAl.TextKey == "2"; Tipo.PermiteImprimirVariasVeces = EntradaImprimirRepetir.TextKey == "1"; Tipo.PermiteModificarImpresos = EntradaImprimirModificar.TextKey == "1"; Tipo.ImprimirAlGuardar = EntradaImprimirGuardar.TextKey == "1"; Tipo.CargaPapel = (Lbl.Impresion.CargasPapel)(EntradaCargaPapel.ValueInt); base.ActualizarElemento(); }
private void BotonConvertir_Click(object sender, EventArgs e) { using (Lfc.Comprobantes.Compra.Crear FormularioConvertir = new Lfc.Comprobantes.Compra.Crear()) { if (FormularioConvertir.ShowDialog() == DialogResult.OK) { Lbl.Comprobantes.ComprobanteDeCompra Comprob = this.Elemento as Lbl.Comprobantes.ComprobanteDeCompra; if ((Comprob.Tipo.Nomenclatura == "NP" || Comprob.Tipo.Nomenclatura == "PD") && EntradaEstado.TextKey != "100") { EntradaEstado.TextKey = "100"; EntradaEstado.Changed = true; } else if ((Comprob.Tipo.EsPedido || FormularioConvertir.TipoComprob == "F" || FormularioConvertir.TipoComprob == "FP" || FormularioConvertir.TipoComprob == "R") && EntradaEstado.TextKey != "100") { EntradaEstado.TextKey = "100"; EntradaEstado.Changed = true; } Lbl.Comprobantes.ComprobanteDeCompra NuevoComprob; if (FormularioConvertir.TipoComprob == "FP") { Lbl.Comprobantes.Tipo NuevoTipo = Lbl.Comprobantes.Tipo.TodosPorLetra["FA"]; NuevoComprob = Comprob.Convertir(NuevoTipo); NuevoComprob.FormaDePago = new Lbl.Pagos.FormaDePago(this.Connection, 3); } else if (FormularioConvertir.TipoComprob == "RP") { Lbl.Comprobantes.Tipo NuevoTipo = Lbl.Comprobantes.Tipo.TodosPorLetra["R"]; NuevoComprob = Comprob.Convertir(NuevoTipo); NuevoComprob.FormaDePago = new Lbl.Pagos.FormaDePago(this.Connection, 3); } else { Lbl.Comprobantes.Tipo NuevoTipo = Lbl.Comprobantes.Tipo.TodosPorLetra[FormularioConvertir.TipoComprob]; NuevoComprob = Comprob.Convertir(NuevoTipo); } Lfc.FormularioEdicion FormularioEdicion = Lfc.Instanciador.InstanciarFormularioEdicion(NuevoComprob); FormularioEdicion.MdiParent = this.ParentForm.MdiParent; FormularioEdicion.Show(); } } }
internal virtual Lfx.Types.OperationResult ConvertirEn(string tipoComprob) { Lbl.Comprobantes.ComprobanteConArticulos Comprob = this.Elemento as Lbl.Comprobantes.ComprobanteConArticulos; if (Comprob.Existe) { Lbl.Comprobantes.Tipo NuevoTipo = Lbl.Comprobantes.Tipo.TodosPorLetra[tipoComprob]; Lbl.Comprobantes.ComprobanteConArticulos Nuevo = Comprob.Convertir(NuevoTipo) as Lbl.Comprobantes.ComprobanteConArticulos; FormularioEdicion NuevoComprob = Instanciador.InstanciarFormularioEdicion(Nuevo); NuevoComprob.ControlDestino = EntradaComprobanteId; NuevoComprob.MdiParent = this.ParentForm.MdiParent; NuevoComprob.Show(); return(new Lfx.Types.SuccessOperationResult()); } else { return(new Lfx.Types.FailureOperationResult("Debe guardar el comprobante antes de poder convertirlo.")); } }
public override void OnLoad() { if (this.GetFieldValue <int>("id_tipo") == 0) { this.Tipo = null; } else { this.Tipo = new Lbl.Comprobantes.Tipo(this.Connection, this.GetFieldValue <int>("id_tipo")); } if (this.GetFieldValue <int>("id_impresora") == 0) { this.Impresora = null; } else { this.Impresora = new Impresion.Impresora(this.Connection, this.GetFieldValue <int>("id_impresora")); } if (this.GetFieldValue <int>("id_pv") == 0) { this.PuntoDeVenta = null; } else { this.PuntoDeVenta = new Comprobantes.PuntoDeVenta(this.Connection, this.GetFieldValue <int>("id_pv")); } if (this.GetFieldValue <int>("id_sucursal") == 0) { this.Sucursal = null; } else { this.Sucursal = new Entidades.Sucursal(this.Connection, this.GetFieldValue <int>("id_sucursal")); } base.OnLoad(); }
public override void ActualizarControl() { Lbl.Comprobantes.Tipo Tipo = this.Elemento as Lbl.Comprobantes.Tipo; EntradaNombre.Text = Tipo.Nombre; EntradaNombre.ReadOnly = true; EntradaLetra.Text = Tipo.Nomenclatura; EntradaLetra.ReadOnly = true; EntradaMueveStock.ValueInt = System.Convert.ToInt32(Tipo.MueveExistencias); EntradaSituacionOrigen.Elemento = Tipo.SituacionOrigen; EntradaSituacionDestino.Elemento = Tipo.SituacionDestino; EntradaNumerarAl.TextKey = Tipo.NumerarAlGuardar ? "1" : (Tipo.NumerarAlImprimir ? "2" : "0"); EntradaImprimirRepetir.ValueInt = Tipo.PermiteImprimirVariasVeces ? 1 : 0; EntradaImprimirModificar.ValueInt = Tipo.PermiteModificarImpresos ? 1 : 0; EntradaImprimirGuardar.ValueInt = Tipo.ImprimirAlGuardar ? 1 : 0; EntradaCargaPapel.ValueInt = (int)(Tipo.CargaPapel); this.MostrarImpresoras(Tipo.Impresoras); base.ActualizarControl(); }
public override Lfx.Types.OperationResult ValidarControl() { Lfx.Types.OperationResult Res = base.ValidarControl(); if (Res.Success == true) { if (EntradaRemito.Text.Length > 0) { int RemitoNumero, RemitoPv; if (EntradaRemito.Text.IndexOfAny(new char[] { '-' }) >= 0) { // El número de remito tiene guión string[] Partes = EntradaRemito.Text.Split(new char[] { '-' }); RemitoNumero = Lfx.Types.Parsing.ParseInt(Partes[0]); RemitoPv = Lfx.Types.Parsing.ParseInt(Partes[1]); } else { // El número de remito no tiene guión, asumo el mismo PV que la factura RemitoNumero = EntradaRemito.ValueInt; RemitoPv = EntradaPV.ValueInt; } int RemitoId = this.Connection.FieldInt("SELECT id_comprob FROM comprob WHERE compra=0 AND tipo_fac!='R' AND pv=" + RemitoPv.ToString() + " AND numero=" + RemitoNumero.ToString() + " AND impresa>0 AND anulada=0"); if (RemitoId == 0) { Res.Success = false; Res.Message += "El número de remito no es válido." + Environment.NewLine; } } Lbl.Pagos.FormaDePago FormaPago = EntradaFormaPago.Elemento as Lbl.Pagos.FormaDePago; Lbl.Comprobantes.Tipo Tipo = new Lbl.Comprobantes.Tipo(this.Connection, EntradaTipo.TextKey); if (FormaPago == null && Tipo.EsFacturaOTicket) { Res.Success = false; Res.Message += "Por favor seleccione la forma de pago." + Environment.NewLine; } if (EntradaCliente.ValueInt == 999 && FormaPago != null && FormaPago.Tipo == Lbl.Pagos.TiposFormasDePago.CuentaCorriente) { Res.Success = false; Res.Message += @"El cliente ""Consumidor final"" no puede tener una cuenta corriente. Deber facturar a nombre de un cliente identificado para poder usar la cuenta corriente." + Environment.NewLine; } // En Argentina, obligo a ingresar la CUIT Lbl.Personas.Persona Cliente = EntradaCliente.Elemento as Lbl.Personas.Persona; if (Cliente == null) { Res.Success = false; Res.Message += "Por favor seleccione un cliente." + Environment.NewLine; } else if (Lbl.Sys.Config.Pais.Id == 1 && Cliente.SituacionTributaria != null && (Cliente.SituacionTributaria.Id == 2 || Cliente.SituacionTributaria.Id == 3)) { if (Cliente.ClaveTributaria == null || Cliente.ClaveTributaria.EsValido() == false) { Res.Success = false; Res.Message += "El cliente debe tener una clave tributaria válida." + Environment.NewLine; } } } return(Res); }
public override Lfx.Types.OperationResult ValidarControl() { Lfx.Types.OperationResult Res = base.ValidarControl(); if (Res.Success == true) { if (EntradaRemito.Text.Length > 0) { int RemitoNumero, RemitoPv; if (EntradaRemito.Text.IndexOfAny(new char[] { '-' }) >= 0) { // El número de remito tiene guión string[] Partes = EntradaRemito.Text.Split(new char[] { '-' }); RemitoNumero = Lfx.Types.Parsing.ParseInt(Partes[0]); RemitoPv = Lfx.Types.Parsing.ParseInt(Partes[1]); } else { // El número de remito no tiene guión, asumo el mismo PV que la factura RemitoNumero = EntradaRemito.ValueInt; RemitoPv = EntradaPV.ValueInt; } int RemitoId = this.Connection.FieldInt("SELECT id_comprob FROM comprob WHERE compra=0 AND tipo_fac!='R' AND pv=" + RemitoPv.ToString() + " AND numero=" + RemitoNumero.ToString() + " AND impresa>0 AND anulada=0"); if (RemitoId == 0) { Res.Success = false; Res.Message += "El número de remito no es válido." + Environment.NewLine; } } Lbl.Pagos.FormaDePago FormaPago = EntradaFormaPago.Elemento as Lbl.Pagos.FormaDePago; Lbl.Comprobantes.Tipo Tipo = new Lbl.Comprobantes.Tipo(this.Connection, EntradaTipo.TextKey); if (FormaPago == null && Tipo.EsFacturaOTicket) { Res.Success = false; Res.Message += "Por favor seleccione la forma de pago." + Environment.NewLine; } if (EntradaCliente.ValueInt == 999 && FormaPago != null && FormaPago.Tipo == Lbl.Pagos.TiposFormasDePago.CuentaCorriente) { Res.Success = false; Res.Message += @"El cliente ""Consumidor final"" no puede tener una cuenta corriente. Deber facturar a nombre de un cliente identificado para poder usar la cuenta corriente." + Environment.NewLine; } // En Argentina, obligo a ingresar la CUIT Lbl.Personas.Persona Cliente = EntradaCliente.Elemento as Lbl.Personas.Persona; if (Cliente == null) { Res.Success = false; Res.Message += "Por favor seleccione un cliente." + Environment.NewLine; } else if (Lbl.Sys.Config.Pais.Id == 1 && Cliente.SituacionTributaria != null && (Cliente.SituacionTributaria.Id == 2 || Cliente.SituacionTributaria.Id == 3)) { if (Cliente.ClaveTributaria == null || Cliente.ClaveTributaria.EsValido() == false) { Res.Success = false; Res.Message += "El cliente debe tener una clave tributaria válida." + Environment.NewLine; } } } return Res; }
public override void OnLoad() { if (this.GetFieldValue<int>("id_tipo") == 0) this.Tipo = null; else this.Tipo = new Lbl.Comprobantes.Tipo(this.Connection, this.GetFieldValue<int>("id_tipo")); if (this.GetFieldValue<int>("id_impresora") == 0) this.Impresora = null; else this.Impresora = new Impresion.Impresora(this.Connection, this.GetFieldValue<int>("id_impresora")); if (this.GetFieldValue<int>("id_pv") == 0) this.PuntoDeVenta = null; else this.PuntoDeVenta = new Comprobantes.PuntoDeVenta(this.Connection, this.GetFieldValue<int>("id_pv")); if (this.GetFieldValue<int>("id_sucursal") == 0) this.Sucursal = null; else this.Sucursal = new Entidades.Sucursal(this.Connection, this.GetFieldValue<int>("id_sucursal")); base.OnLoad(); }
protected virtual Lbl.Impresion.Impresora ObtenerImpresora() { if (this.Tipo == null) this.Tipo = this.ObtenerTipo(); if (this.Tipo == null) return null; // Intento obtener una impresora para esta susursal, para esta estación foreach (Lbl.Impresion.TipoImpresora Impr in this.Tipo.Impresoras) { if (Impr.Estacion != null && Impr.Estacion.ToUpperInvariant() == Lfx.Environment.SystemInformation.MachineName && Impr.Sucursal != null && Impr.Sucursal.Id == Lbl.Sys.Config.Empresa.SucursalActual.Id) return Impr.Impresora; } // Intento obtener una impresora para esta estación, cualquier sucursal foreach (Lbl.Impresion.TipoImpresora Impr in this.Tipo.Impresoras) { if (Impr.Estacion != null && Impr.Estacion.ToUpperInvariant() == Lfx.Environment.SystemInformation.MachineName && Impr.Sucursal == null) return Impr.Impresora; } // Intento obtener una impresora para esta sucursal, cualquier estacion foreach (Lbl.Impresion.TipoImpresora Impr in this.Tipo.Impresoras) { if (Impr.Estacion == null && Impr.Sucursal != null && Impr.Sucursal.Id == Lbl.Sys.Config.Empresa.SucursalActual.Id) return Impr.Impresora; } // Intento obtener una impresora para cual sucursal, cualquier estacion foreach (Lbl.Impresion.TipoImpresora Impr in this.Tipo.Impresoras) { if (Impr.Estacion == null && Impr.Sucursal == null) return Impr.Impresora; } return null; }
private void BotonConvertir_Click(object sender, EventArgs e) { //EntradaTipo.TextKey == "NP" || EntradaTipo.TextKey == "PD" using (Lfc.Comprobantes.Compra.Crear FormularioConvertir = new Lfc.Comprobantes.Compra.Crear()) { if (FormularioConvertir.ShowDialog() == DialogResult.OK) { Lbl.Comprobantes.ComprobanteDeCompra Comprob = this.Elemento as Lbl.Comprobantes.ComprobanteDeCompra; if ((Comprob.Tipo.Nomenclatura == "NP" || Comprob.Tipo.Nomenclatura == "PD") && EntradaEstado.TextKey != "100") { //EntradaEstado.TextKey = "100"; //EntradaEstado.Changed = true; try { System.Data.IDbTransaction tran = this.Elemento.Connection.BeginTransaction(); this.Elemento.Connection.ExecuteNonQuery(@"UPDATE comprob SET estado = 100 WHERE id_comprob=" + this.Elemento.Id); tran.Commit(); } catch (Exception ex2) { MessageBox.Show(ex2.Message); return; } } else if ((Comprob.Tipo.EsPedido || FormularioConvertir.TipoComprob == "F" || FormularioConvertir.TipoComprob == "FP" || FormularioConvertir.TipoComprob == "R") && EntradaEstado.TextKey != "100") { try { System.Data.IDbTransaction tran = this.Elemento.Connection.BeginTransaction(); this.Elemento.Connection.ExecuteNonQuery(@"UPDATE comprob SET estado = 100 WHERE id_comprob=" + this.Elemento.Id); tran.Commit(); } catch (Exception ex2) { MessageBox.Show(ex2.Message); return; } } Lbl.Comprobantes.ComprobanteDeCompra NuevoComprob; if (FormularioConvertir.TipoComprob == "FP") { Lbl.Comprobantes.Tipo NuevoTipo = Lbl.Comprobantes.Tipo.TodosPorLetra["FA"]; NuevoComprob = Comprob.Convertir(NuevoTipo); NuevoComprob.FormaDePago = new Lbl.Pagos.FormaDePago(this.Connection, 3); } else if (FormularioConvertir.TipoComprob == "RP") { Lbl.Comprobantes.Tipo NuevoTipo = Lbl.Comprobantes.Tipo.TodosPorLetra["R"]; NuevoComprob = Comprob.Convertir(NuevoTipo); NuevoComprob.FormaDePago = new Lbl.Pagos.FormaDePago(this.Connection, 3); } else { Lbl.Comprobantes.Tipo NuevoTipo = Lbl.Comprobantes.Tipo.TodosPorLetra[FormularioConvertir.TipoComprob]; NuevoComprob = Comprob.Convertir(NuevoTipo); NuevoComprob.Numero = 10; } if (Comprob.TipoFac == "R") { NuevoComprob.IdRemito = Comprob.Id; } Lfc.FormularioEdicion FormularioEdicion = Lfc.Instanciador.InstanciarFormularioEdicion(NuevoComprob); FormularioEdicion.MdiParent = this.ParentForm.MdiParent; FormularioEdicion.Show(); this.Close(); } } }