Get-SalesOrderDuplicate #
ÜBERSICHT #
Prüft, ob ein Käufer bereits einen Auftrag mit einer bestimmten Bestellnummer hat, und liefert dessen Eckdaten zurück.
SYNTAX #
Get-SalesOrderDuplicate [-BuyerOrderNo] <string> [[-InvoiceAddressId] <Nullable[int]>] [-Conn]
<__ComObject> [<CommonParameters>]
BESCHREIBUNG #
Wiederverwendbarer Dubletten-Baustein für alle Bestell-Importe (EDIFACT-ORDERS, künftig XBestellung/Peppol-Order, CSV usw.). Gesucht wird nach einem bestehenden Auftrag mit derselben Käufer-Bestellnummer. Wird -InvoiceAddressId übergeben, ist die Prüfung auf denselben Käufer eingegrenzt – das ist der empfohlene Weg, denn die Bestellnummer ist in EULANDA bewusst nicht global eindeutig: ein anderer Kunde darf zufällig dieselbe Nummer verwenden.
Gefunden wird der jüngste passende Auftrag. Ohne Treffer wird $null geliefert.
PARAMETER #
-BuyerOrderNo #
Type: string
Die Bestellnummer des Käufers (Feld Auftrag.BestellNummer).
-InvoiceAddressId #
Type: Nullable[int]
Optionale Adress-Id des Käufers (Rechnungsadresse). Wenn angegeben, gilt nur ein Auftrag desselben Käufers als Dublette (empfohlen). Ohne Angabe wird über alle Käufer gesucht.
-Conn #
Type: __ComObject
Ein aktives ADO-Connection-Objekt auf die EULANDA-Datenbank.
AUSGABEN #
pscustomobject
Objekt mit Id, KopfNummer, AdresseId und Datum ([datetime] oder $null) des bestehenden Auftrags – oder $null, wenn keine Dublette existiert.
BEISPIELE #
# Empfohlen: Dublette nur beim selben Käufer suchen
$dup = Get-SalesOrderDuplicate -BuyerOrderNo '31078486' -InvoiceAddressId 17 -Conn $Conn
if ($dup) { "Bereits vorhanden als Auftrag $($dup.KopfNummer)" }
# Lose Suche über alle Käufer (nur zur Diagnose, nicht als Import-Sperre verwenden)
Get-SalesOrderDuplicate -BuyerOrderNo '31078486' -Conn $Conn
HINWEISE #
Derselbe käuferbezogene Vergleich (BestellNummer + AdresseId) läuft auch serverseitig in New-SalesOrder als IF-NOT-EXISTS-Sperre. Diese Funktion ist das Diagnose- und Vorab-Prüf-Gegenstück für Importer-Pipelines.