Exemple #1
0
        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";
                }
            }
        }
Exemple #2
0
        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);
        }
Exemple #4
0
        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);
                }
            }
        }
Exemple #5
0
        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();
        }
Exemple #6
0
        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();
                }
            }
        }
Exemple #7
0
        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();
        }
Exemple #9
0
        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();
        }
Exemple #10
0
        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);
        }
Exemple #11
0
                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;
                }
Exemple #12
0
                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;
                }
Exemple #14
0
        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();
                }
            }
        }