ConvertTo-BreadcrumbDbPath #
ÜBERSICHT #
Entfernt das aufgelöste Stamm-Präfix aus einem UI-Breadcrumb-Pfad, damit der Pfad direkt an Get-BreadcrumbId oder New-SqlWhereForBreadcrumb übergeben werden kann.
SYNTAX #
ConvertTo-BreadcrumbDbPath [-UiPath] <string> [-RootLabel] <string> [<CommonParameters>]
BESCHREIBUNG #
In der UI werden Breadcrumb-Pfade mit aufgelöstem Stamm-Namen angezeigt, z.B. ‘\Artikel\KEYWORDS\EANCOM’ oder ‘\Adresse\Kunden’. Die DB-Funktionen (Get-BreadcrumbId, New-SqlWhereForBreadcrumb) erwarten den Pfad aber OHNE den Stamm-Anteil – sie finden den Stamm intern über ‘WHERE MerkmalTyp = 0 AND ParentId IS NULL’ und arbeiten ab dort weiter.
Diese Funktion strippt das führende ‘<RootLabel>’-Segment, falls vorhanden. Pfade ohne Stamm-Präfix werden unverändert zurückgegeben. Vergleich ist case-insensitiv (analog zur DB-Default-Collation).
Akzeptiert Eingaben sowohl über -UiPath als Parameter als auch über die Pipeline.
PARAMETER #
-UiPath #
Type: string
Der UI-seitige Breadcrumb-Pfad, z.B. ‘\Artikel\KEYWORDS\EANCOM’. Pipeline-fähig.
-RootLabel #
Type: string
Der aufgelöste Stamm-Name (das, was die UI als Root des Baumes zeigt), z.B. ‘Artikel’, ‘Adresse’. Kommt typischerweise aus Get-BreadcrumbTreeJson (Property ‘rootLabel’).
AUSGABEN #
[string] Pfad ohne Stamm-Präfix. Wenn der UI-Pfad nur aus dem Stamm
bestand, wird ‘' zurückgegeben.
BEISPIELE #
ConvertTo-BreadcrumbDbPath -UiPath '\Artikel\KEYWORDS\EANCOM' -RootLabel 'Artikel'
# → '\KEYWORDS\EANCOM'
'\Artikel\Shop', '\Artikel\KEYWORDS' | ConvertTo-BreadcrumbDbPath -RootLabel 'Artikel'
# → '\Shop'
# → '\KEYWORDS'
# Kein Präfix vorhanden: Pfad bleibt unverändert
ConvertTo-BreadcrumbDbPath -UiPath '\KEYWORDS\BMEcat' -RootLabel 'Artikel'
# → '\KEYWORDS\BMEcat'
HINWEISE #
Pure-Logic-Helper – kein DB-Zugriff, deshalb auch ohne ‘realdb’-Tag in den Tests.
Pendant zur impliziten Konvertierung im Delphi-Wizard (XeEulanda\Pas\elDlg.pas, ShowDatenAuswahlOrder), der ebenfalls den Stamm-Anteil vor dem SQL-Aufruf entfernt.