Remove Delivery Note
Zuletzt geändert: 19.04.2026 03:03

Übersicht

Remove-DeliveryNote #

ÜBERSICHT #

Storniert einen Lieferschein via EULANDA-SP cn_LfStorno. Danach ist der Lieferschein inklusive Positionen und Folge-Datensätzen (LieferscheinDispo, LieferscheinText, Buchung etc.) aus der Datenbank entfernt.

SYNTAX #

Remove-DeliveryNote [[-DeliveryNoteId] <int>] [[-DeliveryNoteNo] <int>] [[-ResetNumber] <bool>]
    [[-Conn] <__ComObject>] [[-Udl] <string>] [[-ConnStr] <string>] [<CommonParameters>]

BESCHREIBUNG #

EULANDA bietet keinen direkten DELETE-Pfad für Lieferscheine - der einzige legale Weg ist über die SP cn_LfStorno, die den kompletten Storno-Prozess abwickelt: Buchung zurückziehen, Reservierung umkehren, Dispo-Sätze aufräumen, Positions- Datensätze entfernen und schließlich den Kopf selbst löschen.

Ein direkter DELETE FROM dbo.Lieferschein schlägt wegen Foreign-Key-Constraints (insbesondere FK_lfd_LF auf LieferscheinDispo) fehl und erzeugt die kryptische *** NO CALLER STACK ***-Meldung aus dem internen Trigger-Error-Handling.

Es kann entweder die Lieferschein-ID (DeliveryNoteId) oder die Lieferscheinnummer (DeliveryNoteNo) angegeben werden. Die Verbindung erfolgt über Conn, Udl oder ConnStr.

Der Storno ist endgültig - der Lieferschein ist danach physisch aus der DB entfernt. Wer nur den Status zurück auf “in Bearbeitung” setzen will, nutzt Resume-DeliveryNote.

PARAMETER #

-DeliveryNoteId #

Type: int

Interne ID des Lieferscheins (lf.Id). Wird bevorzugt, wenn gesetzt.

-DeliveryNoteNo #

Type: int

Lieferscheinnummer (lf.KopfNummer).

-ResetNumber #

Type: bool
Default: $true

Default $true. Bei $true (ResetNummer=1 an die SP) wird die Lieferschein-Nummer in den Nummernkreis zurückgegeben. Bei $false bleibt die Nummer verbraucht - sinnvoll wenn aus Audit-Sicht keine Lücken überschrieben werden sollen.

-Conn #

Type: __ComObject

Optional: Bereits geöffnete ADODB-Verbindung.

-Udl #

Type: string

Optional: UDL-Dateipfad zur Verbindung.

-ConnStr #

Type: string

Optional: Connection-String zur Verbindung.

BEISPIELE #

Remove-DeliveryNote -DeliveryNoteNo 1234 -Udl 'C:\Mandant.udl'
# Storno ohne Nummernkreis-Reset (Nummer 1234 bleibt verbraucht)
Remove-DeliveryNote -DeliveryNoteId 57 -ResetNumber:$false -Conn $conn