예제 #1
0
                public static void Cargar()
                {
                        int IdPais = Lfx.Workspace.Master.CurrentConfig.ReadGlobalSetting<int>("Sistema.Pais", 0);
                        if (IdPais > 0)
                                Pais = new Lbl.Entidades.Pais(Lfx.Workspace.Master.MasterConnection, IdPais);
                        else
                                Pais = null;

                        if (Pais != null)
                                Moneda.MonedaPredeterminada = Pais.Moneda;
                        else
                                Moneda.MonedaPredeterminada = new Entidades.Moneda(Lfx.Workspace.Master.MasterConnection, 3);  // Pesos argentinos

                        Moneda.Simbolo = Moneda.MonedaPredeterminada.Simbolo;

                        Moneda.Decimales = Lfx.Workspace.Master.CurrentConfig.ReadGlobalSetting<int>("Sistema.Moneda.Decimales", 2);
                        Moneda.DecimalesCosto = Lfx.Workspace.Master.CurrentConfig.ReadGlobalSetting<int>("Sistema.Moneda.DecimalesCosto", Moneda.Decimales);
                        Moneda.DecimalesFinal = Lfx.Workspace.Master.CurrentConfig.ReadGlobalSetting<int>("Sistema.Moneda.DecimalesFinal", Moneda.Decimales);
                        Moneda.UnidadMonetariaMinima = Lfx.Workspace.Master.CurrentConfig.ReadGlobalSetting<decimal>("Sistema.Moneda.Redondeo", 0);

                        int IdSucPredet = Lfx.Workspace.Master.CurrentConfig.ReadLocalSettingInt("Company", "Branch", 1);
                        if (IdSucPredet < 0)
                                IdSucPredet = 1;
                        Empresa.SucursalActual = new Lbl.Entidades.Sucursal(Lfx.Workspace.Master.MasterConnection, IdSucPredet);

                        Articulos.Decimales = Lfx.Workspace.Master.CurrentConfig.ReadGlobalSetting<int>("Sistema.Stock.Decimales", 0);
                }
예제 #2
0
 private void EntradaPais_TextChanged(object sender, EventArgs e)
 {
     Lbl.Entidades.Pais Pais = EntradaPais.Elemento as Lbl.Entidades.Pais;
     if (Pais != null)
     {
         if (Pais.ClavePersonasJuridicas != null)
         {
             EtiquetaClaveTributaria.Text = Pais.ClavePersonasJuridicas.ToString();
         }
         else
         {
             EtiquetaClaveTributaria.Text = "Clave tributaria";
         }
     }
     else
     {
         EtiquetaClaveTributaria.Text = "Clave tributaria";
     }
 }
예제 #3
0
 private void EntradaPais_TextChanged(object sender, System.EventArgs e)
 {
     Lbl.Entidades.Pais Pais = EntradaPais.Elemento as Lbl.Entidades.Pais;
     if (Pais != null)
     {
         if (Pais.ClavePersonasJuridicas != null)
         {
             EtiquetaClaveTributaria.Text = Pais.ClavePersonasJuridicas.ToString();
         }
         else
         {
             EtiquetaClaveTributaria.Text = "Clave tributaria";
         }
         EntradaProvincia.Filter = "id_provincia IS NULL AND id_pais=" + Pais.Id.ToString();
     }
     else
     {
         EtiquetaClaveTributaria.Text = "Clave tributaria";
         EntradaProvincia.Filter      = "id_provincia IS NULL";
     }
 }
예제 #4
0
        public static void Cargar()
        {
            int IdPais = Lfx.Workspace.Master.CurrentConfig.ReadGlobalSetting <int>("Sistema.Pais", 0);

            if (IdPais > 0)
            {
                Pais = new Lbl.Entidades.Pais(Lfx.Workspace.Master.MasterConnection, IdPais);
            }
            else
            {
                Pais = null;
            }

            if (Pais != null)
            {
                Moneda.MonedaPredeterminada = Pais.Moneda;
            }
            else
            {
                Moneda.MonedaPredeterminada = new Entidades.Moneda(Lfx.Workspace.Master.MasterConnection, 3);                  // Pesos argentinos
            }
            Moneda.Simbolo = Moneda.MonedaPredeterminada.Simbolo;

            Moneda.Decimales             = Lfx.Workspace.Master.CurrentConfig.ReadGlobalSetting <int>("Sistema.Moneda.Decimales", 2);
            Moneda.DecimalesCosto        = Lfx.Workspace.Master.CurrentConfig.ReadGlobalSetting <int>("Sistema.Moneda.DecimalesCosto", Moneda.Decimales);
            Moneda.DecimalesFinal        = Lfx.Workspace.Master.CurrentConfig.ReadGlobalSetting <int>("Sistema.Moneda.DecimalesFinal", Moneda.Decimales);
            Moneda.UnidadMonetariaMinima = Lfx.Workspace.Master.CurrentConfig.ReadGlobalSetting <decimal>("Sistema.Moneda.Redondeo", 0);

            int IdSucPredet = Lfx.Workspace.Master.CurrentConfig.ReadLocalSettingInt("Company", "Branch", 1);

            if (IdSucPredet < 0)
            {
                IdSucPredet = 1;
            }
            Empresa.SucursalActual = new Lbl.Entidades.Sucursal(Lfx.Workspace.Master.MasterConnection, IdSucPredet);

            Articulos.Decimales = Lfx.Workspace.Master.CurrentConfig.ReadGlobalSetting <int>("Sistema.Stock.Decimales", 0);
        }
예제 #5
0
 private void PanelDatosEmpresa_VisibleChanged(object sender, EventArgs e)
 {
     if (PanelDatosEmpresa.Visible)
     {
         // Al aparecer
         Lfx.Workspace.Master.CurrentConfig.ClearCache();
         EntradaEmpresaNombre.Text = Lbl.Sys.Config.Empresa.Nombre;
         int IdPais = Lfx.Workspace.Master.CurrentConfig.ReadGlobalSetting <int>("Sistema.Pais", 0);
         EntradaPais.ValueInt = IdPais;
         if (Lbl.Sys.Config.Empresa.ClaveTributaria != null)
         {
             EntradaEmpresaClaveTributaria.Text = Lbl.Sys.Config.Empresa.ClaveTributaria.Valor;
         }
         EntradaEmpresaEmail.Text = Lbl.Sys.Config.Empresa.Email;
         EntradaEmpresaNombre.Focus();
     }
     else
     {
         // Al desaparecer
         Lbl.Entidades.Pais Pais = EntradaPais.Elemento as Lbl.Entidades.Pais;
         if (Pais != null)
         {
             Lbl.Sys.Config.CambiarPais(Pais);
         }
         Lbl.Sys.Config.Empresa.Nombre = EntradaEmpresaNombre.Text;
         if (EntradaEmpresaClaveTributaria.Text.Length > 0)
         {
             Lbl.Sys.Config.Empresa.ClaveTributaria = new Lbl.Personas.Claves.Cuit(EntradaEmpresaClaveTributaria.Text);
         }
         else
         {
             Lbl.Sys.Config.Empresa.ClaveTributaria = null;
         }
         Lbl.Sys.Config.Empresa.Email = EntradaEmpresaEmail.Text;
     }
 }
예제 #6
0
        public static void CambiarPais(Lbl.Entidades.Pais nuevoPais)
        {
            Pais = nuevoPais;

            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Pais", nuevoPais.Id);

            // Configuro las alícuotas de IVA, normal y reducida
            Lbl.Impuestos.Alicuota Alic1 = new Lbl.Impuestos.Alicuota(Lfx.Workspace.Master.MasterConnection, 1);
            Alic1.Nombre     = "IVA tasa normal";
            Alic1.Porcentaje = nuevoPais.Iva1;
            Alic1.Guardar();

            Lbl.Impuestos.Alicuota Alic2 = new Lbl.Impuestos.Alicuota(Lfx.Workspace.Master.MasterConnection, 2);
            Alic2.Nombre     = "IVA tasa reducida";
            Alic2.Porcentaje = nuevoPais.Iva2;
            Alic2.Guardar();

            Lbl.Comprobantes.Tipo TipoFA  = new Comprobantes.Tipo(Lfx.Workspace.Master.MasterConnection, 1);
            Lbl.Comprobantes.Tipo TipoFB  = new Comprobantes.Tipo(Lfx.Workspace.Master.MasterConnection, 2);
            Lbl.Comprobantes.Tipo TipoNCA = new Comprobantes.Tipo(Lfx.Workspace.Master.MasterConnection, 11);
            Lbl.Comprobantes.Tipo TipoNCB = new Comprobantes.Tipo(Lfx.Workspace.Master.MasterConnection, 12);
            Lbl.Comprobantes.Tipo TipoNDA = new Comprobantes.Tipo(Lfx.Workspace.Master.MasterConnection, 21);
            Lbl.Comprobantes.Tipo TipoNDB = new Comprobantes.Tipo(Lfx.Workspace.Master.MasterConnection, 22);
            if (Pais.Id == 1)
            {
                TipoFA.Nombre       = "Factura A";
                TipoFA.NombreLargo  = "Factura A";
                TipoFB.Nombre       = "Factura B";
                TipoFB.NombreLargo  = "Factura B";
                TipoNCA.Nombre      = "Nota créd. A";
                TipoNCA.NombreLargo = "Nota de crédito A";
                TipoNCB.Nombre      = "Nota créd. B";
                TipoNCB.NombreLargo = "Nota de crédito B";
                TipoNDA.Nombre      = "Nota déb. A";
                TipoNDA.NombreLargo = "Nota de débito A";
                TipoNDB.Nombre      = "Nota déb. B";
                TipoNDB.NombreLargo = "Nota de débito B";
            }
            else
            {
                TipoFA.Nombre       = "Fact. IVA discr.";
                TipoFA.NombreLargo  = "Factura IVA discriminado";
                TipoFB.Nombre       = "Fact. IVA no discr.";
                TipoFB.NombreLargo  = "Factura IVA no discriminado";
                TipoNCA.Nombre      = "Nota créd. ID";
                TipoNCA.NombreLargo = "Nota de crédito IVA discr.";
                TipoNCB.Nombre      = "Nota créd. IND";
                TipoNCB.NombreLargo = "Nota de crédito IVA no discr.";
                TipoNDA.Nombre      = "Nota déb. ID";
                TipoNDA.NombreLargo = "Nota de débito IVA discr.";
                TipoNDB.Nombre      = "Nota déb. IND";
                TipoNDB.NombreLargo = "Nota de débito IVA no discr.";
            }

            TipoFA.Guardar();
            TipoFB.Guardar();
            TipoNCA.Guardar();
            TipoNCB.Guardar();
            TipoNDA.Guardar();
            TipoNDB.Guardar();

            // Activo o desactivo los comprobantes C, E y M
            qGen.Update DesactComprob = new qGen.Update("documentos_tipos");
            DesactComprob.ColumnValues.AddWithValue("estado", nuevoPais.Id == 1 ? 1 : 0);
            DesactComprob.WhereClause = new qGen.Where("letra", qGen.ComparisonOperators.In, new string[] { "FC", "FE", "FM", "NDC", "NDE", "NDM", "NCC", "NCE", "NCM" });
            Lfx.Workspace.Master.MasterConnection.ExecuteNonQuery(DesactComprob);

            string CarpetaPlantillas = System.IO.Path.Combine(Lfx.Environment.Folders.UserFolder, "Plantillas" + System.IO.Path.DirectorySeparatorChar);
            string NombrePlantilla;

            if (nuevoPais.Id == 1)
            {
                NombrePlantilla = System.IO.Path.Combine(CarpetaPlantillas, "Factura, dos copias en una hoja A4.ltx");
            }
            else if (nuevoPais.Id == 6)
            {
                // Plantilla especial para Paraguay
                NombrePlantilla = System.IO.Path.Combine(CarpetaPlantillas, "Facturas, página completa A4 IVA segregado.ltx");
            }
            else
            {
                NombrePlantilla = System.IO.Path.Combine(CarpetaPlantillas, "Facturas, página completa A4.ltx");
            }

            if (System.IO.File.Exists(NombrePlantilla))
            {
                string Contenido;
                using (System.IO.StreamReader Str = new System.IO.StreamReader(NombrePlantilla, true)) {
                    Contenido = Str.ReadToEnd();
                    Str.Close();
                }

                Lbl.Impresion.Plantilla PlantillaFact = new Impresion.Plantilla(Lfx.Workspace.Master.MasterConnection, 1);
                PlantillaFact.CargarXml(Contenido);
                PlantillaFact.Guardar();

                Lbl.Impresion.Plantilla PlantillaOtros = new Impresion.Plantilla(Lfx.Workspace.Master.MasterConnection, 5);
                PlantillaOtros.CargarXml(Contenido);
                PlantillaOtros.Guardar();
            }

            Lbl.Comprobantes.Tipo.TodosPorLetra.Clear();
            Lfx.Workspace.Master.CurrentConfig.ClearCache();
        }
예제 #7
0
        private bool GuardarConfig()
        {
            if (EntradaEmpresaEmail.Text.Length <= 5 || EntradaEmpresaEmail.Text.IndexOf('@') <= 0 || EntradaEmpresaEmail.Text.IndexOf('.') <= 0)
            {
                Lui.Forms.MessageBox.Show("Por favor escriba una dirección de correo electrónico (e-mail) válida.", "Validación");
                return(true);
            }


            if (EntradaEmpresaNombre.Text.Length <= 5 || EntradaEmpresaNombre.Text == "Nombre de la empresa")
            {
                Lui.Forms.MessageBox.Show("Por favor escriba el nombre de la empresa.", "Validación");
                return(true);
            }


            Lbl.Entidades.Pais NuevoPais = EntradaPais.Elemento as Lbl.Entidades.Pais;
            if (NuevoPais == null || NuevoPais.Existe == false)
            {
                Lui.Forms.MessageBox.Show("Por favor seleccione el país.", "Validación");
                return(true);
            }

            var Trans = this.Connection.BeginTransaction();

            if (NuevoPais.Id != IdPaisOriginal)
            {
                Lbl.Sys.Config.CambiarPais(NuevoPais);
            }

            int Sucursal = EntradaSucursal.ValueInt;

            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Stock.CodigoPredet", EntradaArticulosCodigoPredet.TextKey, 0);
            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Stock.Multideposito", EntradaStockMultideposito.TextKey, 0);
            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Stock.Decimales", EntradaStockDecimales.TextKey, 0);
            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Stock.DepositoPredet", EntradaStockDepositoPredet.Text, 0);;
            if (EntradaStockDepositoPredetSuc.ValueInt > 0)
            {
                Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Stock.DepositoPredet", EntradaStockDepositoPredetSuc.Text, Sucursal);
            }
            else
            {
                Lfx.Workspace.Master.CurrentConfig.DeleteGlobalSetting("Sistema.Stock.DepositoPredet", Sucursal);
            }

            Lbl.Sys.Config.Empresa.Nombre      = EntradaEmpresaNombre.Text;
            Lbl.Sys.Config.Empresa.RazonSocial = EntradaEmpresaRazonSocial.Text;
            if (EntradaEmpresaClaveTributaria.Text.Length > 0)
            {
                Lbl.Sys.Config.Empresa.ClaveTributaria = new Lbl.Personas.Claves.Cuit(EntradaEmpresaClaveTributaria.Text);
            }
            else
            {
                Lbl.Sys.Config.Empresa.ClaveTributaria = null;
            }
            Lbl.Sys.Config.Empresa.SituacionTributaria = EntradaEmpresaSituacion.ValueInt;
            Lbl.Sys.Config.Empresa.Email = EntradaEmpresaEmail.Text;
            Lbl.Sys.Config.Empresa.Id    = EntradaEmpresaId.ValueInt;
            Lbl.Sys.Config.Empresa.NumeroIngresosBrutos = EntradaIngresosBrutos.Text;
            Lbl.Sys.Config.Empresa.InicioDeActividades  = Lfx.Types.Parsing.ParseDate(EntradaInicioActividades.Text);

            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Backup.Tipo", EntradaBackup.TextKey, Lfx.Environment.SystemInformation.MachineName);
            if (EntradaModoPantalla.TextKey == "*")
            {
                Lfx.Workspace.Master.CurrentConfig.DeleteGlobalSetting("Sistema.Apariencia.ModoPantalla", Lfx.Environment.SystemInformation.MachineName);
            }
            else
            {
                Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Apariencia.ModoPantalla", EntradaModoPantalla.TextKey, Lfx.Environment.SystemInformation.MachineName);
            }
            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Actualizaciones.Nivel", EntradaActualizaciones.TextKey);

            if (this.Logo.ImagenCambio)
            {
                if (this.Logo.Existe == false)
                {
                    this.Logo.SetId(1);
                }
                this.Logo.Guardar();
            }

            string NombreMaquina = System.Environment.MachineName;

            //Guardo información sobre los PV
            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Documentos.PV", EntradaPV.Text, Sucursal);
            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Documentos.ABC.PV", EntradaPVABC.Text, Sucursal);
            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Documentos.NC.PV", EntradaPVNC.Text, Sucursal);
            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Documentos.ND.PV", EntradaPVND.Text, Sucursal);
            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Documentos.R.PV", EntradaPVR.Text, Sucursal);
            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Documentos.RC.PV", EntradaPVRC.Text, NombreMaquina);

            if (EntradaPV2.ValueInt != 0)
            {
                Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Documentos.PV", EntradaPV2.Text, NombreMaquina, Sucursal);
            }
            if (EntradaPVABC2.ValueInt != 0)
            {
                Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Documentos.ABC.PV", EntradaPVABC2.Text, NombreMaquina, Sucursal);
            }
            if (EntradaPVNC2.ValueInt != 0)
            {
                Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Documentos.NC.PV", EntradaPVNC2.Text, NombreMaquina, Sucursal);
            }
            if (EntradaPVND2.ValueInt != 0)
            {
                Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Documentos.ND.PV", EntradaPVND2.Text, NombreMaquina, Sucursal);
            }
            if (EntradaPVR2.ValueInt != 0)
            {
                Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Documentos.R.PV", EntradaPVR2.Text, NombreMaquina, Sucursal);
            }
            if (EntradaPVRC2.ValueInt != 0)
            {
                Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Documentos.RC.PV", EntradaPVRC2.Text, NombreMaquina, Sucursal);
            }

            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Documentos.ClientePredet", EntradaClientePredet.Text);
            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Documentos.FormaPagoPredet", EntradaFormaPagoPredet.Text);

            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Documentos.CambiaPrecioItemFactura", EntradaCambiaPrecioComprob.Value ? 1 : 0);

            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Cuentas.LimiteCreditoPredet", EntradaLimiteCredito.ValueDecimal);

            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Provincia", EntradaProvincia.ValueInt);
            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Localidad", EntradaLocalidad.ValueInt);

            EntradaMonedaUnidadMonetariaMinima.ValueDecimal = Lbl.Sys.Config.Moneda.UnidadMonetariaMinima;

            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Moneda.Decimales", EntradaMonedaDecimalesUnitarios.ValueInt);
            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Moneda.DecimalesCosto", EntradaMonedaDecimalesCosto.ValueInt);
            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Moneda.DecimalesFinal", EntradaMonedaDecimalesFinal.ValueInt);
            Lbl.Sys.Config.Moneda.Decimales      = EntradaMonedaDecimalesUnitarios.ValueInt;
            Lbl.Sys.Config.Moneda.DecimalesCosto = EntradaMonedaDecimalesCosto.ValueInt;
            Lbl.Sys.Config.Moneda.DecimalesFinal = EntradaMonedaDecimalesFinal.ValueInt;

            Lfx.Workspace.Master.CurrentConfig.Empresa.SucursalActual = EntradaSucursal.ValueInt;


            Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Configurado", "1", 0);

            if (this.PrimeraVez)
            {
                // Hago cambios referentes al país donde está configurado el sistema

                Lbl.Entidades.Pais Pais = EntradaPais.Elemento as Lbl.Entidades.Pais;
                if (Pais != null)
                {
                    Lbl.Sys.Config.CambiarPais(Pais);
                }

                // Cambio la sucursal 1 y el cliente consumidor final a la localidad proporcionada
                Lbl.Entidades.Localidad Loc = EntradaLocalidad.Elemento as Lbl.Entidades.Localidad;
                if (Loc != null)
                {
                    Lbl.Entidades.Sucursal Suc1 = new Lbl.Entidades.Sucursal(this.Connection, 1);
                    Suc1.Localidad = Loc;
                    Suc1.Guardar();

                    Lbl.Personas.Persona ConsFinal = new Lbl.Personas.Persona(this.Connection, 999);
                    ConsFinal.Localidad = Loc;
                    ConsFinal.Guardar();
                }

                Lbl.Sys.Config.Cargar();

                this.PrimeraVez = false;
            }

            Trans.Commit();
            Trans.Dispose();

            return(false);
        }
예제 #8
0
                public static void CambiarPais(Lbl.Entidades.Pais nuevoPais)
                {
                        Pais = nuevoPais;

                        Lfx.Workspace.Master.CurrentConfig.WriteGlobalSetting("Sistema.Pais", nuevoPais.Id);

                        // Configuro las alícuotas de IVA, normal y reducida
                        Lbl.Impuestos.Alicuota Alic1 = new Lbl.Impuestos.Alicuota(Lfx.Workspace.Master.MasterConnection, 1);
                        Alic1.Nombre = "IVA tasa normal";
                        Alic1.Porcentaje = nuevoPais.Iva1;
                        Alic1.Guardar();

                        Lbl.Impuestos.Alicuota Alic2 = new Lbl.Impuestos.Alicuota(Lfx.Workspace.Master.MasterConnection, 2);
                        Alic2.Nombre = "IVA tasa reducida";
                        Alic2.Porcentaje = nuevoPais.Iva2;
                        Alic2.Guardar();

                        Lbl.Comprobantes.Tipo TipoFA = new Comprobantes.Tipo(Lfx.Workspace.Master.MasterConnection, 1);
                        Lbl.Comprobantes.Tipo TipoFB = new Comprobantes.Tipo(Lfx.Workspace.Master.MasterConnection, 2);
                        Lbl.Comprobantes.Tipo TipoNCA = new Comprobantes.Tipo(Lfx.Workspace.Master.MasterConnection, 11);
                        Lbl.Comprobantes.Tipo TipoNCB = new Comprobantes.Tipo(Lfx.Workspace.Master.MasterConnection, 12);
                        Lbl.Comprobantes.Tipo TipoNDA = new Comprobantes.Tipo(Lfx.Workspace.Master.MasterConnection, 21);
                        Lbl.Comprobantes.Tipo TipoNDB = new Comprobantes.Tipo(Lfx.Workspace.Master.MasterConnection, 22);
                        if (Pais.Id == 1) {
                                TipoFA.Nombre = "Factura A";
                                TipoFA.NombreLargo = "Factura A";
                                TipoFB.Nombre = "Factura B";
                                TipoFB.NombreLargo = "Factura B";
                                TipoNCA.Nombre = "Nota créd. A";
                                TipoNCA.NombreLargo = "Nota de crédito A";
                                TipoNCB.Nombre = "Nota créd. B";
                                TipoNCB.NombreLargo = "Nota de crédito B";
                                TipoNDA.Nombre = "Nota déb. A";
                                TipoNDA.NombreLargo = "Nota de débito A";
                                TipoNDB.Nombre = "Nota déb. B";
                                TipoNDB.NombreLargo = "Nota de débito B";
                        } else {
                                TipoFA.Nombre = "Fact. IVA discr.";
                                TipoFA.NombreLargo = "Factura IVA discriminado";
                                TipoFB.Nombre = "Fact. IVA no discr.";
                                TipoFB.NombreLargo = "Factura IVA no discriminado";
                                TipoNCA.Nombre = "Nota créd. ID";
                                TipoNCA.NombreLargo = "Nota de crédito IVA discr.";
                                TipoNCB.Nombre = "Nota créd. IND";
                                TipoNCB.NombreLargo = "Nota de crédito IVA no discr.";
                                TipoNDA.Nombre = "Nota déb. ID";
                                TipoNDA.NombreLargo = "Nota de débito IVA discr.";
                                TipoNDB.Nombre = "Nota déb. IND";
                                TipoNDB.NombreLargo = "Nota de débito IVA no discr.";
                        }

                        TipoFA.Guardar();
                        TipoFB.Guardar();
                        TipoNCA.Guardar();
                        TipoNCB.Guardar();
                        TipoNDA.Guardar();
                        TipoNDB.Guardar();

                        // Activo o desactivo los comprobantes C, E y M
                        qGen.Update DesactComprob = new qGen.Update("documentos_tipos");
                        DesactComprob.Fields.AddWithValue("estado", nuevoPais.Id == 1 ? 1 : 0);
                        DesactComprob.WhereClause = new qGen.Where("letra", qGen.ComparisonOperators.In, new string[] { "FC", "FE", "FM", "NDC", "NDE", "NDM", "NCC", "NCE", "NCM" });
                        Lfx.Workspace.Master.MasterConnection.Execute(DesactComprob);

                        string CarpetaPlantillas = System.IO.Path.Combine(Lfx.Environment.Folders.UserFolder, "Plantillas" + System.IO.Path.DirectorySeparatorChar);
                        string NombrePlantilla;
                        if (nuevoPais.Id == 1)
                                NombrePlantilla = System.IO.Path.Combine(CarpetaPlantillas, "Factura, dos copias en una hoja A4.ltx");
                        else if (nuevoPais.Id == 6)
                                // Plantilla especial para Paraguay
                                NombrePlantilla = System.IO.Path.Combine(CarpetaPlantillas, "Facturas, página completa A4 IVA segregado.ltx");
                        else
                                NombrePlantilla = System.IO.Path.Combine(CarpetaPlantillas, "Facturas, página completa A4.ltx");

                        if (System.IO.File.Exists(NombrePlantilla)) {
                                string Contenido;
                                using (System.IO.StreamReader Str = new System.IO.StreamReader(NombrePlantilla, true)) {
                                        Contenido = Str.ReadToEnd();
                                        Str.Close();
                                }

                                Lbl.Impresion.Plantilla PlantillaFact = new Impresion.Plantilla(Lfx.Workspace.Master.MasterConnection, 1);
                                PlantillaFact.CargarXml(Contenido);
                                PlantillaFact.Guardar();

                                Lbl.Impresion.Plantilla PlantillaOtros = new Impresion.Plantilla(Lfx.Workspace.Master.MasterConnection, 5);
                                PlantillaOtros.CargarXml(Contenido);
                                PlantillaOtros.Guardar();

                        }

                        Lbl.Comprobantes.Tipo.TodosPorLetra.Clear();
                        Lfx.Workspace.Master.CurrentConfig.ClearCache();
                }
예제 #9
0
        public override Lfx.Types.OperationResult ValidarControl()
        {
            Lfx.Types.OperationResult Res        = base.ValidarControl();
            Lbl.Entidades.Pais        PaisActual = new Lbl.Entidades.Pais(this.Connection, Lfx.Workspace.Master.CurrentConfig.ReadGlobalSetting <int>("Sistema.Pais", 1));

            if (EntradaVendedor.ValueInt == 0)
            {
                Res.Success  = false;
                Res.Message += "Seleccione un vendedor." + Environment.NewLine;
            }

            if (EntradaCliente.ValueInt == 0)
            {
                Res.Success  = false;
                Res.Message += "Seleccione un cliente." + Environment.NewLine;
            }

            if (EntradaTotal.ValueDecimal <= 0)
            {
                Res.Success  = false;
                Res.Message += "El comprobante debe tener un importe superior a " + PaisActual.Moneda.Simbolo + " 0.00." + Environment.NewLine;
            }

            if (Lbl.Comprobantes.PuntoDeVenta.TodosPorNumero.ContainsKey(EntradaPV.ValueInt) == false)
            {
                // Borro la caché de PV, por las dudas
                Lbl.Comprobantes.PuntoDeVenta.TodosPorNumero.Clear();
            }

            if (Lbl.Comprobantes.PuntoDeVenta.TodosPorNumero.ContainsKey(EntradaPV.ValueInt) == false)
            {
                Res.Success  = false;
                Res.Message += "Seleccione un punto de venta (PV) válido para este tipo de comprobante." + Environment.NewLine;
            }
            else
            {
                int PV = EntradaPV.ValueInt;
                System.Data.DataTable PVAdmitidos = this.Connection.Select(@"SELECT * FROM pvs WHERE (
                                CONCAT(',', tipo_fac, ',') LIKE '%," + this.Tipo.Letra + @",%'
                                OR CONCAT(',', tipo_fac, ',') LIKE '%," + this.Tipo.TipoBase + @",%'
                                OR CONCAT(',', tipo_fac, ',') LIKE '%," + this.Tipo.Nomenclatura + @",%'
                                ) AND tipo>0");
                if (PVAdmitidos.Rows.Count > 0)
                {
                    bool Admitido = false;
                    foreach (System.Data.DataRow PVAdmitido in PVAdmitidos.Rows)
                    {
                        if (System.Convert.ToInt32(PVAdmitido["numero"]) == PV)
                        {
                            Admitido = true;
                            break;
                        }
                    }

                    if (Admitido == false)
                    {
                        Res.Success  = false;
                        Res.Message += "Seleccione un punto de venta (PV) válido para este tipo de comprobante." + Environment.NewLine;
                    }
                }
            }

            Lbl.Comprobantes.ComprobanteConArticulos Comprob = this.Elemento as Lbl.Comprobantes.ComprobanteConArticulos;
            if (Comprob.Tipo.MueveExistencias != 0)
            {
                if (Comprob.SituacionOrigen == null || Comprob.SituacionDestino == null || Comprob.SituacionOrigen.Id == Comprob.SituacionDestino.Id)
                {
                    Res.Success  = false;
                    Res.Message += "Seleccione la situación de origen y de destino (usando el botón Más datos)." + Environment.NewLine;
                }
            }

            return(Res);
        }