Get Placeholder Context
Zuletzt geändert: 06.09.2026 01:54

Übersicht

Get-PlaceholderContext #

ÜBERSICHT #

Baut eine flache Variables-Hashtable für Expand-PlaceholderString aus Beleg-, Adress- und Firmenstammdaten der EULANDA-Datenbank.

SYNTAX #

Get-PlaceholderContext [-Context] <string> [-InvoiceId] <int> [-InvoiceNo] <int> [-OrderId] <int>
    [-OrderNo] <int> [-AddressId] <int> [[-ContactId] <int>] [-Conn] <__ComObject>
    [<CommonParameters>]

BESCHREIBUNG #

Lädt je nach Kontext (Invoice, Order, Address) die Daten über die bestehenden Get-InvoiceData bzw. Get-SalesOrderData Funktionen oder direkt aus Adresse und Kontakt, und ergänzt die Firmenstammdaten über Get-CompanyMasterData. Die verschachtelten Hashtables werden mit Punkt-Notation flach gemappt, sodass sie direkt als Variables-Parameter für Expand-PlaceholderString verwendbar sind.

Variablennamen folgen der Delphi-Konvention (ReplaceObjectValues):

  • Belegfelder direkt: KopfNummer, Datum, VkNetto etc.
  • Käufer mit Präfix: Adresse.Ident, Adresse.Strasse etc.
  • Warenempfänger: LieferAdresse.Ident, LieferAdresse.Strasse etc.
  • Firmenstamm: Firmenstamm.Ident, Firmenstamm.Strasse etc.

Der Kontext Address (Textmodul, 05.09.2026) liefert für Briefe und Serienmails die Adresse (Adresse.Match, Adresse.Name1 bis Name4, Adresse.Ident, Adresse.Strasse, Adresse.Plz, Adresse.Ort, Adresse.Land, Adresse.LandIso, Adresse.Anschrift als Block, Adresse.Tel, Adresse.Email, Adresse.Anrede, Adresse.FibuKonto, Adresse.UstId, Adresse.Sprache, Adresse.UserVC1 bis UserD2), mit -ContactId auch den Kontakt (Kontakt.Anrede, Kontakt.Titel, Kontakt.Vorname, Kontakt.Nachname, Kontakt.Name, Kontakt.Abteilung, Kontakt.Funktion, Kontakt.Tel, Kontakt.Mobil, Kontakt.Email) und daraus die Briefanrede: “Sehr geehrter Herr Dr. Muster,” oder “Sehr geehrte Frau Muster,”, ohne Kontakt “Sehr geehrte Damen und Herren,”, bei Sprache EN die englische Form. Dazu Match, Anrede, Briefanrede ohne Präfix und Datum (heute).

PARAMETER #

-Context #

Type: string

Der Kontext. Bestimmt welche Daten geladen werden.

-InvoiceId #

Type: int

Die interne ID der Rechnung (Primärschlüssel). Nur für Context ‘Invoice’.

-InvoiceNo #

Type: int

Die Rechnungsnummer (KopfNummer). Nur für Context ‘Invoice’.

-OrderId #

Type: int

Die interne ID des Auftrags (Primärschlüssel). Nur für Context ‘Order’.

-OrderNo #

Type: int

Die Auftragsnummer (KopfNummer). Nur für Context ‘Order’.

-AddressId #

Type: int

Die interne ID der Adresse. Nur für Context ‘Address’.

-ContactId #

Type: int

Die interne ID des Kontakts (Ansprechpartner) der Adresse. Nur für Context ‘Address’; ein Kontakt einer anderen Adresse wird übergangen.

-Conn #

Type: __ComObject

Eine aktive ADODB-Verbindung zur EULANDA-Datenbank.

AUSGABEN #

hashtable

Flache Hashtable mit allen Platzhalter-Variablen für den jeweiligen Kontext. Gibt $null zurück wenn der Beleg oder die Adresse nicht gefunden wird.

BEISPIELE #

$vars = Get-PlaceholderContext -Context 'Invoice' -InvoiceId 57 -Conn $conn
Expand-PlaceholderString -Template 'Rechnung %KopfNummer% an %Adresse.Ident%' -Variables $vars
$vars = Get-PlaceholderContext -Context 'Order' -OrderNo 20212869 -Conn $conn
Expand-PlaceholderString -Template 'Auftrag %KopfNummer% vom %FDdd.mm.yyyy:Datum%' -Variables $vars
$vars = Get-PlaceholderContext -Context 'Address' -AddressId 4711 -ContactId 12 -Conn $conn
Expand-PlaceholderString -Template '%Briefanrede%' -Variables $vars