Dokumentation
Zurück zur Website >

Globale Platzhalter

An verschiedenen Stellen in der EULANDA ist es möglich Texte dynamisch mit Platzhaltern zu erzeugen. Neben Platzhaltern die von Modulen abhängig sind gibt es eine Reihe von Platzhaltern die allgemein gültig sind. Diese sind unten aufgeführt.

Dieser Beitrag richtet sich an Administratoren, Poweruser und Entwickler. Teilweise sind Kenntnisse über die internen Strukturen von EULANDA, wie über die SQL-Registry erforderlich.

Beispiele:

  • E-Mail Vorgaben für Berichte
    Zu jedem Druck-Bericht kann eine Vorgabe für den E-Mail-Betreff und den Text der E-Mail hinterlegt werden. Neben Platzhaltern für das aktuelle Objekt (z.B. die Rechnung) können auch alle nachfolgenden globalen Platzhalter verwendet werden.

  • E-Mail-Signatur (global und persönlich) in den Einstellungen

  • Im Briefmodul (ab EULANDA 7.5)
    Hierbei müssen die Platzhalter in geschweifte Klammern gestellt und ihnen ein kaufmännisches "Und" vorangestellt werden. Zum Beispiel
    &{grundwerte.firmenstamm.Firma}.
  • Archivierungsschnittstelle (optional)
    In der Archivierungsschnittstelle können Platzhalter u.A. zur Steuerung der Archivierung, zur Bestimmung des Export-Verzeichnisses und zur Erzeugung zusätzlicher Text- oder XML-Dateien, die für die Übergabe an ein externes Archivierungssystem benötigt werden.

  • Beim Erstellen von Kurzinfos (für Entwickler)
    In der Kurzinfo-Definition werden die Platzhalter jedoch in doppelte Dollar-Zeichen eingekleidet, statt in Prozentzeichen.

Grundwerte

Grundsätzlich sind alle Text- und Zahlenwerte verfügbar, die in der Registry unterhalb des Schlüssels „\MODULES\Grundwerte“ liegen. Die einzelnen Unterschlüssel müssen im Platzhalter mit einem einzelnen Punkt getrennt werden und am Ende folgt - ebenfalls mit einem Punkt getrennt - der Name des Wertes, wie er in der Registry gespeichert ist.

Soll Beispielsweise die Bankleitzahl der zweiten im Firmenstamm hinterlegten Bankverbindung ausgegeben werden, verwendet man den Platzhalter grundwerte.Bank.2.BLZ da sich der gesuchte Wert „BLZ“ in der Registry unter „\MODULES\Grundwerte\Bank\2“ befindet

Über ein angehängtes ".ValueExists()" bzw. ".KeyExists()" lässt sich prüfen, ob der Wert resp. der Schlüssel überhaupt vorhanden ist.

Beispiele

grundwerte.firmenstamm.Firma

Firma

grundwerte.firmenstamm.Strasse

Straße
grundwerte.firmenstamm.PLZ

PLZ

grundwerte.firmenstamm.Ort

Ort

grundwerte.firmenstamm.Hompage

Firmen Hompage

grundwerte.firmenstamm.Tel

Telefonnummer

grundwerte.firmenstamm.Fax

Faxnummer

grundwerte.Bank.1.IBAN

grundwerte.Bank.1.BIC

grundwerte.Bank.1.NAME

Erste im Firmenstamm hinterlegte Bank

Usergrundwerte

Analog zu "Grundwerte" werden über "usergrundwerte" alle Registry-Werte aus dem Registry-Schlüssel "\USER\<aktueller Benutzer>\Grundwerte" zur Verfügung gestellt. I.A. sind hier keine speziellen Werte von EULANDA hinterlegt. Es dient vielmehr dazu eigene Werte oder auch Unterschlüssel anzulegen, die es erlauben benutzerabhängige Ausgaben zu realisieren (z.B. Unterschrift).

Über ein angehängtes ".ValueExists()" bzw. ".KeyExists()" lässt sich prüfen, ob der Wert resp. der Schlüssel überhaupt vorhanden ist.
Usergrundwerte.Controls hat eine Sonderrolle. Siehe nächster Absatz.

Usergrundwerte.Controls

Hierüber lassen sich die aktuellen Farb- und Schrifteinstellungen abrufen. Die zurückgegebenen Werte sind so formatiert, dass diese in HTML/CSS verwendet werden können.

Der komplette Platzhalter hat folgenden Aufbau:

usergrundwerte.controls.<Element>.<Eigenschaft>

Beispielsweise gibt %usergrundwerte.controls.FieldEditing.FontFamily% die Schriftart eines eingabefeldes im Änderungsmodus zurück.

Eine Beispiel-HTML-Seite hierzu findet man in EULANDA auf der Entwicklerseite (Schnellstartleiste / Systemverwaltung) unter "ControlProperties".

Elemente

Caption

Feldbeschriftung in Eingabemasken

GroupHeader

Gruppenüberschrift in Eingabemasken

Field

Eingabefeld

FieldEditing

aktives Eingabefeld (Änderungsmodus)
FieldSearching

aktives Eingabefeld (Suchmodus)

FieldViewing

aktives Eingabefeld (Ansichtsmodus)

FieldReadonly

Eingabefeld (schreibgeschützt)
FieldHighlighted

Eingabefeld (hervorgehoben)

GridHeader

Tabellen-Überschrift

Grid

Tabellen-Zellen

GridSelected

Tabellenelemente ausgewählt

Sidebar

TreeView

Baum-Darstellung (z.B. Merkmalbaum)

Menu

Menüleiste

Title

Titel in Dialogfenster

SubTitle

Untertitel in Dialogfenster

SmallTitle

Kleine Schrift

Surface

Oberfläche

Accent

Akkzentfarbe

Background

Hintergrundfarbe

BackgroundDisable

Hintergrund deaktiviert

Code

Programmcode (feste Schriftbreite)

Eigenschaften

Color

Schriftfarbe

ColorDisabled

Schriftfarbe (deaktiviert)

ColorHilighted

Schriftfarbe (hervorgehoben)

BackgroundColor

Hintergrundfarbe
BackgroundColorHilighted

Hintergrundfarbe (hervorgehoben)

BackgroundColorDisabled

Hintergrundfarbe (deaktiviert)

IconSize

Symbolgröße (dpi skaliert)
IconSizeNative

Symbolgröße (nicht skaliert)

FontFamily

CSS-Fontfamilie

colorCSS

CSS-Code nur Farben

CSS

CSS-Code für Schrift und Farbe

disabledCSS

CSS-Code (deaktiviert)

hilightedCSS

CSS-Code (hervorgehoben)

Session

Analog zu "Grundwerte" wird hier der Registry Schlüssel "\SESSION" samt der vorhandenen Unterschlüssel zurückgegeben, soweit dieser in der jeweiligen EULANDA-Version vorhanden ist. Bei dem Session-Schlüssel handelt es sich um "flüchtige" Einträge, die nicht zurück in den Server gespeichert werden. Diese sind also nur im aktuellen laufenden Prozess vorhanden.

Über ein angehängtes ".ValueExists()" bzw. ".KeyExists()" lässt sich prüfen, ob der Wert resp. der Schlüssel überhaupt vorhanden ist.

Properties (Mandanten Eigenschaften)

Bei diesen Platzhaltern wird durch voranstellen von "properties." der Pfad des jeweiligen Ordners angezeigt. Soll beispielsweise der Desktop Orden angezeigt werden, gibt man property.folder.desktop ein. Als Ausgabe wird C:\Users\Mustermann\Desktop angezeigt.

folder.

folder.desktop

Desktop

folder.windows

Speicherort Windows

folder.windowstemp

temporäre Daten Windows

folder.eulandatemp

temporäre Daten EULANDA
folder.exe

Speicherort der exe

folder.client

Hintergrundfarbe (deaktiviert)

folder.clientblobcache

folder.clientcache

Symbolgröße (nicht skaliert)

FontFamily

CSS-Fontfamilie

folder.appdata

Verzeichnis der App-Einstellungen

folder.cdburn

CSS-Code für Schrift und Farbe

folder.mydocuments

Verzeichnis eigene Dokumente

folder.personal

Verzeichnis "Dokumente"

folder.internetcache
folder.cookies

Verzeichnis "Cookies"

folder.personal

Verzeichnis "Dokumente"

folder.history

Verlauf des Internet Explores

folder.localappdata

Verzeichnis der temporären Webbrowser Daten

folder.programfiles

Verzeichns der Programme

folder.commonappdata

Dateiverzeichnis mit Applikationsdaten aller Benutzer

folder.mypictures

Verzeichnis "eigene Bilder"

folder.myvideo

Verzeichnis "eigene Videos"

folder.programfilescommon

Verzeichnis "gemeinsamer Dateien"

folder.commondocuments

Verzeichnis "gemeinsamer Dokumente"

folder.commonadmintools

Verzeichnis "gemeinsame Admistrative Tools"

folder.admintools
folder.startup

Verzeichnis "Autostart" der Programme

folder.datalinkdir

Verzeichnis der Links für die ADO Datenquellen

folder.udllocalappdata

global.

global.primarylang

Hauptsprache des Mandanten

global.primarylocal

global.uilang

Benutzersprache

global.defprintlang

folder.exe

Speicherort der exe

global.defprintlocal

client.

client.number

Benutzernummer

exe.

exe.mainversion

Hauptversion

exe.subversion

Untertversion

exe.release

Ausgabe der Haupt-/ Nebenversion

exe.build

interne Nummer der exe-Zusammenstellung

exe.version

exe Version

exe.fullversion

Version des Hauptprogrammes mit Build

exe.udlfilename
exe.fullname

wts

wts.clientname

Benutzername

wts.clientaddress

Benutzeradresse

wts.domainname

Domain Name

wts.clientdirectory

iexplorer

iexplorer.version

Explorer Version

iexplorer.majorversion

Versionsnummer

Templates

EULANDA bietet ab Version 6 die Möglichkeit von Datenobjekt-Bezogenen oder allgemeinen Text-Vorlagen. Je nach Auststattungslinie können diese Mustervorlagen auch angepasst oder durch eigene Vorlagen ergänzt werden.

Beispiel

Zeigt den Text an, der auch von "Adresse in Zwischenablage" erzeugt wird

ellib.ShowMessage _
  ellib.ReplaceObjectValues("%template.cnsoft.toClipboard%","AD",13705,"")
template.cnsoft.toClipboard

Vorlage von "Adresse in Zwischenablage"

template.cnsoft.EmailDisclaimer

Textblock mit Haftungsauschluss für E-Mails

Features

Abfrage, ob ein EULANDA-Feature aktiv ist. Der Aufbau sieht folgendermaßen aus:

feature.<Name des Features>

Es wird eine "0" für "Feature nicht aktiv bzw. nicht vorhanden" und "1" für "Feature ist aktiv" zurückgegeben. Den benötigten Featurenamen finden sie in den Einstellungen unter "Features und Programmfunktionen". Nach Auswahl eines Features wird der "interne Name" dort im Bereich "zusätzliche Informationen" angezeigt.

feature.headings

Feature "Titelverwaltung"

feature.partslists

Feature "Stücklisten"

Beispiel

Über die Abfrage der vorhandenen Features werden beispielsweise im Kurzinfo "Aktive Vorgänge" (interner Name: cnsoft.Common.AktiveVorgaenge) auf der Startseite Teilbereiche ein- und ausgeblendet.

Systemvariabeln

Daneben sind noch folgende zwei Systemvariablen zulässig.

system.today

Tagesdatum im Format dd.mm.yyyy

system.today_iso

Tagesdatum im ISO-Format yyyy-mm-dd

system.today_isotime

(ab 8.0.13) Tagesdatum und Uhrzeit im ISO-Format yyyy-mm-ddThh:mm:ss

system.timestamp

(ab 8.0.13) Tagesdatum und Uhrzeit sortierfähig und dateinamenkonform yyyy-mm-ddThh_mm_ss

system.username

Windows-Benutzername

system.pcname

Name des PC

system.ismorning

Für tageszeitabhängige Grußformel: 1, zwischen 5 Uhr morgens und 11:59, ansonsten 0

Windows-Umgebungsvariablen

Diese lassen sich über den Prefix "env." einbinden. Also beispielsweise "env.PATH" für die Suchpfade.

cnMessage-Tabelle (EULANDA 8)

Einträge aus der CnMessages-Tabelle können über die allgemeine Syntax:

%msg.Type.SubType%

abgerufen werden.

Daneben gibt es noch einige Sonderformen:

msgbox ellib.replacebasicvars("%msg.1047.256%") ' Januar
msgbox ellib.replacebasicvars("%msg.1500.ArtNr%") ' Artikelnummer
msgbox ellib.replacebasicvars("%msg.1043.FR%") ' Frankreich
msgbox ellib.replacebasicvars("%msg.10002%") ' Der Beleg ist bereits gebucht
msgbox ellib.replacebasicvars("%msg.1000.10002%") ' Der Beleg ist bereits gebucht