Zahlen in Worten ausschreiben

Dieses Beispielskript zeigt wie man Zahlen für z.B. Spendenbelege in Worten ausschreiben kann.

Konfiguration

  • Das Skript wird als AfterLoadData ausgeführt

  • Es wird eine Referenzen auf folgende DevExpress-Dll aus dem cobra-Verzeichnis benötigt

    • C:\Program Files\cobra\CRMPRO\Programm\Module\DevExpress.Docs.v22.2.dll

    • Bei anderen Cobra Versionen können die Zahlen im Namen abweichen

Ideen

  • Es wird aus dem aktuellen Kontext ein Wert ausgelesen

  • Der Wert wird in deutscher Schreibweise in Worte umgewandelt

  • Der Text wird als "Custom Value" zur Dateiausgabe ergänzt

Skript

// Version 5
namespace Ruthardt.PrintPlus.Skripting
{
	using Ruthardt.CobraBase.Functions.Access.Ado;
	using Ruthardt.Common.Util;
	using Ruthardt.PrintPlus.Export.Context;
	using Ruthardt.PrintPlus.Model.Interfaces;
	using Ruthardt.PrintPlus.Model.Enumerations;

	using DevExpress.Docs.Text;

	public class CustomValues : IScriptAction
	{
		public void Execute(IPrintContext printContext, ICurrentContext currentContext, IChildContext childContext)
		{
			var spende = currentContext.Data;

			var betrag = spende.GetDecimalValue("Spendenbetrag");
			var betragWorte = NumberInWords.Cardinal.ConvertToText((long)betrag, NumberCulture.German);
			currentContext.CustomValues["BetragWorte"] = betragWorte;
		}
	}
}

Dieser Wert kann nun in der Vorlage verwendet werden

Für weitere Informationen, besuchen sie die Dokumentationsseite von DevExpress. https://docs.devexpress.com/OfficeFileAPI/DevExpress.Docs.Text.NumberInWords?v=22.2#remarks

Last updated