25. Oktober 2012 13:41
locSalesHeader.SETCURRENTKEY("Document Type","No.");
locSalesHeader.SETRANGE("Document Type", locSalesHeader."Document Type"::Order);
locSalesHeader.SETRANGE("Cash Registration Order",TRUE);
locSalesHeader.SETRANGE(Status,locSalesHeader.Status::Open);
IF locSalesHeader.FINDSET THEN BEGIN
REPEAT
IF (locSalesHeader.DELETE(TRUE) = TRUE ) THEN BEGIN
Message('deleted');
END ELSE BEGIN
MESSAGE('could not delete');
END;
UNTIL locSalesHeader.NEXT = 0;
END;
25. Oktober 2012 13:56
true if the record was deleted. false if the record was not deleted because it could not be found in the table or if the user did not have the correct permissions. If the C/AL code terminates, false is returned
DELETE(TRUE);
...
IF locSalesHeader.FINDSET THEN BEGIN
REPEAT
IF DeineCodeunit.RUN(locSalesHeader) THEN BEGIN
Message('deleted');
END ELSE BEGIN
MESSAGE('could not delete');
END;
UNTIL locSalesHeader.NEXT = 0;
END;
...
IF locSalesHeader.FINDSET THEN BEGIN
REPEAT
IF DeineCodeunit.RUN(locSalesHeader) THEN BEGIN
Message('deleted');
END ELSE BEGIN
MESSAGE(GETLASTERRORTEXT); // <--- Neu
END;
UNTIL locSalesHeader.NEXT = 0;
END;
25. Oktober 2012 14:14
Natalie hat geschrieben:Ein Test-Löschen ist nicht möglich, ohne [...] anderweite Objektanpassungen vorzunehmen.
25. Oktober 2012 15:01
CheckIfDelByJobQueueIsPossible {
DeleteByJobQueuePossible = TRUE;
}
IF (DeleteByJobQueuePossible = TRUE) THEN BEGIN
ERROR('Wäre durch Job Queue gelöscht worden');
END;
IF locSalesHeader.FINDSET THEN BEGIN
REPEAT
locSalesHeader.CheckIfDelByJobQueueIsPossible;
IF locSalesHeader.DELETE(TRUE) THEN BEGIN
MESSAGE(locSalesHeader."No." + ' ' + 'DELETED');
END ELSE BEGIN
MESSAGE(locSalesHeader."No." + ' ' + GETLASTERRORTEXT);
END;
UNTIL locSalesHeader.NEXT = 0;
END;
NoErrorsWhileDelete := TRUE;
CheckIfDelByJobQueueIsPossible {
DeleteByJobQueuePossible := NoErrorsWhileDelete;
EXIT(DeleteByJobQueuePossible);
}
25. Oktober 2012 15:15
25. Oktober 2012 15:28
REPEAT
IF NOT DELETE THEN
ERROR();
until next = 0;
25. Oktober 2012 15:28
25. Oktober 2012 15:33
Lieber eine Codeunit verballern als in Prozesse eingreifen, die man evtl. gar nicht versteht