TBePurchaseDispositionBusinessController
TBePurchaseDispositionBusinessController
Dieser Business-Controller stellt Funktionen und Methoden zur Bearbeitung von Einkauf-Dispositionen bereit.
Achtung: Dieser BusinessController ist veraltet. Bitte verwenden Sie stattdessen den TBePurchaseDispositionBC
Eigenschaften
Eigenschaft | Beschreibung |
---|---|
CbDataModule:O | Daten-Modul, für alle Funktionen und Methoden. Zum ändern / erzeugen von Daten muss auf diesem Daten-Modul eine Transaktion gestartet werden. |
Funktionen
Funktion | Parameter | Beschreibung |
---|---|---|
CbCreateDisposition:L Erstelle eine neue Einkauf-Disposition und verbleibt im Bearbeitungs-Modus | aBO:O | Einkauf Disposition Business-Objekt (TBePurchaseDispositionBO) |
aArtNo:C | Artikel für welchen die Disposition angelegt werden soll | |
aQuantPurch:N | Menge in Einkaufs-Einheit | |
aSupplierNo:N | Lieferant für welchen die Disposition angelegt werden soll 0 bedeutet das kein direkter Lieferant vorhanden ist | |
CbEditDisposition:L Versetzt eine bestehende Einkauf-Disposition in den Bearbeitungs-Modus | aBO:O | Einkauf Disposition Business-Objekt (TBePurchaseDispositionBO) (auf Disposition positioniert) |
CbDeleteDisposition:L Löscht eine bestehende Einkauf-Diposition | aBO:O | Einkauf Disposition Business-Objekt (TBePurchaseDispositionBO) (auf Disposition positioniert) |
CbPostDisposition:L Speichert eine im Bearbeitungs-Modus befindende Einkauf-Disposition | aBO:O | Einkauf Disposition Business-Objekt (TBePurchaseDispositionBO) (auf Disposition positioniert) |
CbCancelDisposition:L Abbruch des Bearbeitungs-Modus | aBO:O | Einkauf Disposition Business-Objekt (TBePurchaseDispositionBO) (auf Disposition positioniert) |
CbChangeQuantityAndRecalc:L Ändert die Menge der Disposition und lädt ggf. die Staffelpreise neu | aBO:O | Einkauf Disposition Business-Objekt (TBePurchaseDispositionBO) (auf Disposition positioniert) |
aQuantity:N | Neue Menge |
Beispiel
|oDispoBO, oDispoController, oDBGet, nID1, nID2,
cArtNo:C:='TEST', nSuppNo:N:=1000|
oDBGet := CreateObject('TBeDBGet'),
oDispoController := CreateObject('TBePurchaseDispositionBusinessController'),
oDispoBO := CreateObject('TBePurchaseDispositionBO'),
startseq
oDispoController.CbDataModule := oDBGet,
oDispoBO.CbDataModule := oDBGet,
DbStartTrans(oDBGet.AdsConnection),
startseq
// neue Disposition anlegen
if oDispoController.CbCreateDisposition(oDispoBO, cArtNo, 2, nSuppNo) then
oDispoBO.CbQuantity := 8, // -> berechnet die Menge_EK neu falls eine Umrechnung vorhanden ist
oDispoBO.CbCommiss := 'TEST1',
oDispoController.CbPostDisposition(oDispoBO),
nID1 := oDispoBO.CbID,
writeln('Einkauf-Disposition angelegt ID: ' + Str(oDispoBO.CbID)),
endif,
// neue Disposition anlegen
if oDispoController.CbCreateDisposition(oDispoBO, cArtNo, 3, nSuppNo) then
oDispoBO.CbCommiss := 'TEST2',
oDispoController.CbPostDisposition(oDispoBO),
nID2 := oDispoBO.CbID,
writeln('Einkauf-Disposition angelegt ID: ' + Str(oDispoBO.CbID)),
endif,
// erste Disposition ändern
oDispoBO.CbGotoID(nID1),
if oDispoController.CbEditDisposition(oDispoBO) then
oDispoBO.CbCommiss := 'Neu',
oDispoBO.CbQuantPurch := oDispoBO.CbQuantPurch + 3, // Menge aus zweiter Diposition addieren
oDispoController.CbPostDisposition(oDispoBO),
writeln('Einkauf-Disposition geändert ID: ' + Str(oDispoBO.CbID)),
endif,
// zweite Disposition wieder löschen
oDispoBO.CbGotoID(nID2),
oDispoController.CbDeleteDisposition(oDispoBO),
writeln('Einkauf-Disposition gelöscht ID: ' + Str(nID2)),
DbCommit(oDBGet.AdsConnection),
always
if DbInTrans(oDBGet.AdsConnection) then
DbRollback(oDBGet.AdsConnection),
endif,
stopseq,
always
DestroyObject(oDispoBO),
DestroyObject(oDispoController),
DestroyObject(oDBGet),
stopseq,