Get-CustomUnitFromNormalized

EulandaXtools — Funktionsreferenz

Get-CustomUnitFromNormalized

ÜBERSICHT

Ermittelt die kundenspezifische Mengeneinheit zu einer normierten ISO-Einheit (z.B.. "C62").

SYNTAX

Get-CustomUnitFromNormalized [[-Unit] <string>] [[-Conn] <__ComObject>] [[-CustomUnits] <string>]
    [-AllowInsert]

BESCHREIBUNG

Diese Funktion dient zur Rückübersetzung eines ISO-konformen Mengeneinheitscodes (z.B.. "C62", "KGM") in eine vom Anwender verwendete MengenEH-Bezeichnung. Je nach Parametern wird in folgenden Quellen gesucht:

1. Datenbank: Bei Angabe von -Conn wird die SQL-Tabelle dbo.KonMengenEh abgefragt.

2. Kommaliste: Alternativ kann über -CustomUnits eine kommagetrennte Liste mit allen verwendeten MengenEH-Bezeichnungen übergeben werden.

3. $script:UnitMapping: Eine interne Mappingtabelle liefert mögliche ISO-Zuordnungen samt Synonymen.

4. Optional: Mit -AllowInsert kann bei fehlender MengenEH eine neue Einheit in der DB angelegt werden (nur mit -Conn).

Die Funktion berücksichtigt verschiedene Schreibweisen (z.B.. Punkte, Groß-/Kleinschreibung) und gibt die exakt in der Quelle gefundene Bezeichnung zurück.

PARAMETER

-Unit

Type: string

Der ISO-Einheit (z.B.. "C62", "KGM", "LTR"), die auf eine kundenspezifische Einheit abgebildet werden soll.

-Conn

Type: __ComObject

Ein COM-basiertes ADO-Connection-Objekt zur Datenbank. Wird benötigt, um Mengeneinheiten aus dbo.KonMengenEh zu laden und ggf. neue anzulegen.

-CustomUnits

Type: string

Optional: Eine kommagetrennte Liste (z.B.. "stk,stueck,pcs"), falls keine Datenbankverbindung verwendet wird.

-AllowInsert

Type: switch

Erlaubt bei fehlender MengenEH die automatische Anlage in der 'dbo.KonMengenEh'. Der ISO-Code wird als Feld GR übernommen, und das erste Synonym aus UnitMapping wird als Bez (Bezeichnung) eingetragen.

AUSGABEN

string

Die gefundene oder neu angelegte MengenEH-Bezeichnung (z.B.. "Stk", "kg") oder '$null', wenn kein Mapping möglich war.

BEISPIELE

# Sucht GR-Bezeichnung in der SQL-Tabelle für ISO-Einheit "C62".
Get-CustomUnitFromNormalized -Unit "C62" -Conn $Conn
# Gibt "ltr" zurück, wenn diese Schreibweise in der Mapping-Zeile zu "LTR" enthalten ist.
Get-CustomUnitFromNormalized -Unit "LTR" -CustomUnits "ltr,litre,liters"
# Legt die Einheit "KGM" in dbo.KonMengenEh an, falls keine passende MengenEH vorhanden ist, mit Bezeichnung "kilogramm".
Get-CustomUnitFromNormalized -Unit "KGM" -Conn $Conn -AllowInsert

HINWEISE