Regionsspezifische Ausgabeformate
Diese Skript zeigt, wie man abhängig von einem Feldinhalt zum Beispiel auf eine Schweizer Ausgabe (Dezimal Punkt und Tausender Hochkomma) umstellen kann.
Konfiguration
Es handelt sich um einen Exporter der ein Dokument generiert (Word, Excel, Text).
Es werden zwei Skripte genutzt:
Ein Skript wird als AfterLoadData genutzt um die Sprache umzustellen.
Ein Skript wird als AfterClosingDocument genutzt um die Sprache wieder zu resetten.
Ideen
In einem Feld für die Dokumentausgabe ist zum Beispiel definiert, dass für eine schweizer Tochtergesellschaft ein Dokument generiert werden soll auf einem deutschen System.
Es wird für die Dauer der Ausgabe die Thread-Culture umgestellt und danach wieder zurückgesetzt.
Skript 1
// Version 5
namespace Ruthardt.PrintPlus.Skripting
{
using System;
using Ruthardt.CobraBase.Functions.Access.Ado;
using Ruthardt.CobraFramework.Ado;
using Ruthardt.PrintPlus.Model.Interfaces;
using System.Globalization;
using System.Threading;
public class SpracheSetzen : IScriptAction
{
public void Execute(IPrintContext printContext, ICurrentContext currentContext, IChildContext childContext)
{
if (currentContext.Data.GetStringValue("Mandant").Equals("enorm", StringComparison.InvariantCultureIgnoreCase))
{
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("de-CH");
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("de-CH");
}
}
}
}
Skript 2
// Version 5
namespace Ruthardt.PrintPlus.Skripting
{
using System;
using Ruthardt.CobraBase.Functions.Access.Ado;
using Ruthardt.CobraFramework.Ado;
using Ruthardt.PrintPlus.Model.Interfaces;
using System.Globalization;
using System.Threading;
public class SpracheReset : IScriptAction
{
public void Execute(IPrintContext printContext, ICurrentContext currentContext, IChildContext childContext)
{
if (currentContext.Data.GetStringValue("Mandant").Equals("enorm", StringComparison.InvariantCultureIgnoreCase))
{
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("de-DE");
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("de-DE");
}
}
}
}
Last updated