コード例 #1
0
        public override void ActualizarControl()
        {
            Lbl.Comprobantes.ComprobanteDeCompra Fac = this.Elemento as Lbl.Comprobantes.ComprobanteDeCompra;
            this.SuspendLayout();

            this.TipoComprob = Fac.Tipo;

            EntradaProveedor.Elemento = Fac.Cliente;

            if (Fac.FormaDePago != null)
            {
                EntradaFormaPago.ValueInt = Fac.FormaDePago.Id;
            }
            else
            {
                EntradaFormaPago.ValueInt = 0;
            }

            EntradaFormaPago.Enabled = Fac.Tipo.EsFactura;

            EntradaPV.Text                          = Fac.PV.ToString("0000");
            EntradaNumero.Text                      = Fac.Numero.ToString("00000000");
            EntradaHaciaSituacion.Elemento          = Fac.SituacionDestino;
            EntradaHaciaSituacion.TemporaryReadOnly = Fac.Existe;
            EntradaTipo.TextKey                     = Fac.Tipo.Nomenclatura;
            EntradaEstado.TextKey                   = Fac.Estado.ToString();
            EntradaTotal.ValueDecimal               = Fac.Total;
            EntradaCancelado.ValueDecimal           = Fac.ImporteCancelado;
            EntradaGastosEnvio.ValueDecimal         = Fac.GastosDeEnvio;
            EntradaOtrosGastos.ValueDecimal         = Fac.OtrosGastos;
            EntradaFecha.Text                       = Lfx.Types.Formatting.FormatDate(Fac.Fecha);
            EntradaObs.Text                         = Fac.Obs;

            EntradaProductos.CargarArticulos(Fac.Articulos);
            foreach (Lbl.Comprobantes.DetalleArticulo Det in Fac.Articulos)
            {
                if (Det.Articulo != null && ArticulosCantidadesOriginales.ContainsKey(Det.Articulo.Id) == false)
                {
                    ArticulosCantidadesOriginales.Add(Det.Articulo.Id, Det.Cantidad);
                }
            }

            EntradaProductos.Changed = false;
            BotonConvertir.Visible   = this.Elemento.Existe;

            base.ActualizarControl();
        }
コード例 #2
0
        public override Lbl.IElementoDeDatos Crear()
        {
            Lbl.IElementoDeDatos Res = base.Crear();
            if (Res is Lbl.Comprobantes.ComprobanteDeCompra)
            {
                string Tipo = this.Tipo;
                using (Crear FormCrear = new Crear())
                {
                    FormCrear.TipoComprob = Tipo;
                    if (FormCrear.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                    {
                        Tipo = FormCrear.TipoComprob;
                    }
                    else
                    {
                        return(null);
                    }
                }
                Lbl.Comprobantes.ComprobanteDeCompra Comprob = Res as Lbl.Comprobantes.ComprobanteDeCompra;

                switch (Tipo)
                {
                case "FP":
                    Tipo = "FA";
                    break;

                case "NC":
                    Tipo = "NCA";
                    break;

                case "ND":
                    Tipo = "NDA";
                    break;
                }

                if (Lbl.Comprobantes.Tipo.TodosPorLetra.ContainsKey(Tipo))
                {
                    Comprob.Tipo = Lbl.Comprobantes.Tipo.TodosPorLetra[Tipo];
                }
                else
                {
                    throw new InvalidOperationException("No se puede crear el tipo " + Tipo);
                }
            }
            return(Res);
        }
コード例 #3
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();
                }
            }
        }
コード例 #4
0
        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;
                }
            }
        }
コード例 #5
0
ファイル: Inicio.cs プロジェクト: LeoIlla777/Gestion777
        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();
        }
コード例 #6
0
        public override void ActualizarElemento()
        {
            Lbl.Comprobantes.ComprobanteDeCompra Comprob = this.Elemento as Lbl.Comprobantes.ComprobanteDeCompra;

            Comprob.Compra = true;
            Comprob.Fecha  = Lfx.Types.Parsing.ParseDate(EntradaFecha.Text);
            if (EntradaFormaPago.TextKey != "0")
            {
                Comprob.FormaDePago = new Lbl.Pagos.FormaDePago(Comprob.Connection, Lfx.Types.Parsing.ParseInt(EntradaFormaPago.TextKey));
            }
            else
            {
                Comprob.FormaDePago = null;
            }

            Comprob.Vendedor         = Lbl.Sys.Config.Actual.UsuarioConectado.Persona;
            Comprob.Cliente          = EntradaProveedor.Elemento as Lbl.Personas.Persona;
            Comprob.Tipo             = Lbl.Comprobantes.Tipo.TodosPorLetra[EntradaTipo.TextKey];
            Comprob.PV               = EntradaPV.ValueInt;
            Comprob.Numero           = EntradaNumero.ValueInt;
            Comprob.SituacionDestino = EntradaHaciaSituacion.Elemento as Lbl.Articulos.Situacion;
            Comprob.GastosDeEnvio    = EntradaGastosEnvio.ValueDecimal;
            Comprob.OtrosGastos      = EntradaOtrosGastos.ValueDecimal;
            Comprob.Obs              = EntradaObs.Text;

            if (EntradaEstado.Enabled && EntradaEstado.Visible)
            {
                Comprob.Estado = EntradaEstado.ValueInt;
            }
            else
            {
                Comprob.Estado = 0;
            }

            Comprob.Articulos = EntradaProductos.ObtenerArticulos(Comprob);

            base.ActualizarControl();
        }
コード例 #7
0
        public override void ActualizarControl()
        {
            Lbl.Comprobantes.ComprobanteDeCompra Fac = this.Elemento as Lbl.Comprobantes.ComprobanteDeCompra;
            this.SuspendLayout();

            this.TipoComprob = Fac.Tipo;

            EntradaProveedor.Elemento = Fac.Cliente;

            if (Fac.FormaDePago != null)
            {
                EntradaFormaPago.ValueInt = Fac.FormaDePago.Id;
            }
            else
            {
                EntradaFormaPago.ValueInt = 0;
            }

            EntradaFormaPago.Enabled = Fac.Tipo.EsFactura;
            if ((TipoComprob.Nomenclatura == "NP" || TipoComprob.Nomenclatura == "PD") && (Fac.Tipo.NumerarAlGuardar || Fac.Tipo.NumerarAlImprimir))
            {
                EntradaNumero.Enabled = false;
            }
            else
            {
                EntradaNumero.Enabled = true;
            }
            EntradaPV.Text                          = Fac.PV.ToString("0000");
            EntradaNumero.Text                      = Fac.Numero.ToString("00000000");
            EntradaHaciaSituacion.Elemento          = Fac.Existe ? Fac.SituacionDestino : new Lbl.Articulos.Situacion(this.Connection, Lfx.Workspace.Master.CurrentConfig.Empresa.SituacionOrigenPredeterminada);
            EntradaHaciaSituacion.TemporaryReadOnly = Fac.Existe;
            EntradaTipo.TextKey                     = Fac.Tipo.Nomenclatura;
            if (Fac.Tipo.Nomenclatura == "NP" && Fac.Estado == 0)
            {
                EntradaEstado.TextKey = "50";
            }
            else
            {
                EntradaEstado.TextKey = Fac.Estado.ToString();
            }
            EntradaTotal.ValueDecimal       = Fac.Total;
            EntradaCancelado.ValueDecimal   = Fac.ImporteCancelado;
            EntradaGastosEnvio.ValueDecimal = Fac.GastosDeEnvio;
            EntradaOtrosGastos.ValueDecimal = Fac.OtrosGastos;
            EntradaFecha.Text                  = Lfx.Types.Formatting.FormatDate(Fac.Fecha);
            EntradaObs.Text                    = Fac.Obs;
            EntradaDescuento.ValueDecimal      = Fac.Descuento;
            EntradaPercepcionIIBB.ValueDecimal = Fac.PercepcionIIBB;
            EntradaPercepcionIVA.ValueDecimal  = Fac.PercepcionIVA;
            EntradaLocalidad.Elemento          = Fac.Localidad;

            EntradaProductos.CargarArticulos(Fac.Articulos);
            foreach (Lbl.Comprobantes.DetalleArticulo Det in Fac.Articulos)
            {
                if (Det.Articulo != null && ArticulosCantidadesOriginales.ContainsKey(Det.Articulo.Id) == false)
                {
                    ArticulosCantidadesOriginales.Add(Det.Articulo.Id, Det.Cantidad);
                }
            }

            if (Fac.Tipo.EsFactura)
            {
                EntradaAfecta.ValueInt = Fac.Existe ? Fac.Afecta : 1;
            }
            else
            {
                EntradaAfecta.ValueInt = Fac.Existe ? Fac.Afecta : 0;
            }
            EntradaMoneda.ValueInt     = Fac.Moneda;
            EntradaCotiza.ValueDecimal = Fac.Cotiza;
            EntradaRemito.ValueInt     = Fac.IdRemito;

            EntradaProductos.Changed = false;
            BotonConvertir.Visible   = this.Elemento.Existe;

            base.ActualizarControl();
        }
コード例 #8
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();
                }
            }
        }
コード例 #9
0
        public override void ActualizarElemento()
        {
            Lbl.Comprobantes.ComprobanteDeCompra Comprob = this.Elemento as Lbl.Comprobantes.ComprobanteDeCompra;

            Comprob.Compra = true;
            Comprob.Fecha  = Lfx.Types.Parsing.ParseDate(EntradaFecha.Text);
            if (EntradaFormaPago.TextKey != "0")
            {
                Comprob.FormaDePago = new Lbl.Pagos.FormaDePago(Comprob.Connection, Lfx.Types.Parsing.ParseInt(EntradaFormaPago.TextKey));
            }
            else
            {
                Comprob.FormaDePago = null;
            }

            Comprob.Vendedor = Lbl.Sys.Config.Actual.UsuarioConectado.Persona;
            Comprob.Cliente  = EntradaProveedor.Elemento as Lbl.Personas.Persona;
            Comprob.Tipo     = Lbl.Comprobantes.Tipo.TodosPorLetra[EntradaTipo.TextKey];
            Comprob.PV       = EntradaPV.ValueInt;
            if (EntradaNumero.Enabled)
            {
                Comprob.Numero = EntradaNumero.ValueInt;
            }
            else
            {
                Comprob.Numero = UltimoNumero();
            }
            Comprob.SituacionDestino = EntradaHaciaSituacion.Elemento as Lbl.Articulos.Situacion;
            Comprob.GastosDeEnvio    = EntradaGastosEnvio.ValueDecimal;
            Comprob.OtrosGastos      = EntradaOtrosGastos.ValueDecimal;
            Comprob.Obs       = EntradaObs.Text;
            Comprob.Descuento = EntradaDescuento.ValueDecimal;

            Comprob.PercepcionIIBB = EntradaPercepcionIIBB.ValueDecimal;
            Comprob.PercepcionIVA  = EntradaPercepcionIVA.ValueDecimal;
            Comprob.Localidad      = EntradaLocalidad.Elemento as Lbl.Entidades.Localidad;

            if (EntradaEstado.Enabled && EntradaEstado.Visible)
            {
                Comprob.Estado = EntradaEstado.ValueInt;
            }
            else
            {
                Comprob.Estado = 0;
            }

            Comprob.Afecta = EntradaAfecta.ValueInt;

            if (EntradaMoneda.Elemento != null)
            {
                Comprob.Moneda = EntradaMoneda.Elemento.Id;
                Comprob.Cotiza = EntradaCotiza.ValueDecimal;
                Lfx.Data.FacCompraTag factag = new Lfx.Data.FacCompraTag();
                factag.Afecta    = EntradaAfecta.ValueInt;
                factag.id_moneda = EntradaMoneda.Elemento.Id;
                factag.cotiza    = EntradaCotiza.ValueDecimal;

                Comprob.Tag = factag;
            }

            if (EntradaRemito.Elemento != null)
            {
                Comprob.IdRemito = EntradaRemito.Elemento.Id;
            }

            Comprob.Articulos = EntradaProductos.ObtenerArticulos(Comprob);

            base.ActualizarControl();
        }