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(); }
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(); }