KVSKBAReleasePurchaseDocument#
Events#
OnAfterManualReleaseOrSendForApproval(Record Purchase Header) :#
Summary: Integration event raised after manual release or sending for approval processing completes.
[IntegrationEvent(false, false)]
local procedure OnAfterManualReleaseOrSendForApproval(var PurchaseHeader: Record "Purchase Header"):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBAReleasePurchaseDocument", 'OnAfterManualReleaseOrSendForApproval', '', false, false)]
local procedure DoSomethingOnAfterManualReleaseOrSendForApproval(var PurchaseHeader: Record "Purchase Header")
begin
end;
Parameters:
PurchaseHeader: The purchase header record that was processed.
Remarks: Allows subscribers to: - Perform additional validations after standard checks - Update custom fields or related records - Execute custom business logic before actual release - Log or audit release/approval actions
Called after:
- Position numbers are calculated
- Direct unit costs are updated
- Invoice discounts are recalculated
- Mandatory fields are validated
Only triggered for documents with Status = Open or Pending Prepayment.
OnBeforeOnManualReleaseOrSendForApproval(Record Purchase Header, Boolean, Boolean) :#
Summary: Integration event raised before manual release or sending for approval processing starts.
[IntegrationEvent(false, false)]
local procedure OnBeforeOnManualReleaseOrSendForApproval(var PurchHeader: Record "Purchase Header"; CalledOnSendingForApprovalPar: Boolean; var IsHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBAReleasePurchaseDocument", 'OnBeforeOnManualReleaseOrSendForApproval', '', false, false)]
local procedure DoSomethingOnBeforeOnManualReleaseOrSendForApproval(var PurchHeader: Record "Purchase Header"; CalledOnSendingForApprovalPar: Boolean; var IsHandled: Boolean)
begin
end;
Parameters:
PurchHeader: The purchase header record to be processed.CalledOnSendingForApprovalPar: TRUE if called during approval request, FALSE if called during manual release.IsHandled: Set to TRUE to skip standard processing.
Remarks: Allows subscribers to: - Override standard release/approval logic by setting IsHandled to TRUE - Perform custom pre-validations - Implement alternative processing logic - Add custom checks before price calculations
If IsHandled is set to TRUE, all standard processing is skipped:
- Position number calculation
- Direct unit cost updates
- Invoice discount recalculation
- Mandatory field validation
Called at the very beginning of OnManualReleaseOrSendForApproval.