Das Buchen von Bestellungen in Microsoft Dynamics AX geschieht über die Klasse „PurchFormLetter“ bzw. einer ihrer konkretisierten (abgeleiteten) Klassen. Jeder Buchungstyp (z.B. Bestätigung oder Rechnung) ist durch eine eigene Klasse abgebildet, welche von der Basisklasse „PurchFormLetter“ abgeleitet ist (siehe Abbildung).
Abbildung 1 - Klassenhierarchie der Klasse „PurchFormLetter“
Vergleicht man die Klassenhierarchie der „PurchFormLetter“ Klassen mit der Klassenhierarchie der „SalesFormLetter“ Klassen, so ist zu erkennen, dass auch das Buchen von Bestellungen vom Prinzip her genau so funktioniert wie das Buchen von Aufträgen (Vergleiche hierzu: Microsoft Dynamics AX API – Teil 3 „Buchen von Aufträgen“).
Deswegen sind auch für das Buchen von Bestellungen im Wesentlichen nur zwei Schritte notwendig.
Hierzu ein Beispiel (Buchen des Lieferscheins für eine Bestellung):
static void PurchPostPackingSlip(Args _args){ PurchFormLetter purchFormLetter; PurchTable purchTable; PurchId purchId; Num packingSlipId; ; //Angabe der Bestellung, für welche der Lieferschein gebucht werden soll. purchId = "00244_049"; purchTable = PurchTable::find(purchId); //Bestimmen des Buchungstyps durch Angabe des DocumentStatus (Lieferschein). purchFormLetter = PurchFormLetter::construct(DocumentStatus::PackingSlip); //Festlegen der externen Lieferscheinnummer. packingSlipId = "EXT-100155L"; //Buchen des Lieferscheins. purchFormLetter.update(purchTable, packingSlipId, SystemDateGet(), PurchUpdate::All, AccountOrder::Auto, NoYes::No, NoYes::No, NoYes::No, NoYes::No);}
Einziger Unterschied zu den Auftragsbuchen ist, dass bei der Buchung einer Bestellung die „externe“ Nummer des Belegs (Lieferscheinnummer, Rechnungsnummer, etc.) angegeben werden muss.
Analog zu den Auftragsbuchen, sind auch beim Buchen von Bestellungen umfangreichere oder etwas speziellere Buchungsszenarien möglich (Vergleiche hierzu: Microsoft Dynamics AX API – Teil 3 „Buchen von Aufträgen“).
Remember Me
Subscribe in a reader