KVSKBAReleaseServiceDocument#
Procedures#
ReleaseServiceQuote(Record Service Header) :#
Summary: Release service quote and perform necessary actions
procedure ReleaseServiceQuote(var ServiceHeader: Record "Service Header"):
Parameters:
ServiceHeader: Service Header to be released
Remarks: Only processes documents with Document Type = Quote and Quote Release Status = Open. Performs the following actions: - Validates and checks mandatory fields - Updates unit prices in service lines (except for credit memos) - Evaluates service lines - Sets Quote Release Status to Released
Exits immediately if document type is not Quote or already released.
Raises OnBeforeReleaseServiceQuote and OnAfterReleaseServiceQuote integration events.
ReOpenServiceQuote(Record Service Header) :#
Summary: ReOpen service quote and perform necessary actions
procedure ReOpenServiceQuote(var ServiceHeader: Record "Service Header"):
Parameters:
ServiceHeader: Service Header to be reopen
Remarks: Only processes documents with Document Type = Quote and Quote Release Status = Released. Sets Quote Release Status back to Open.
Exits immediately if document type is not Quote or not currently released.
Raises OnBeforeReOpenServiceQuote and OnAfterReOpenServiceQuote integration events.
Events#
OnBeforeCheckandSetforRelease(Record Service Header, Boolean) :#
Summary: Integration event raised before checking and setting service document for release.
[IntegrationEvent(false, false)]
local procedure OnBeforeCheckandSetforRelease(var ServiceHeader: Record "Service Header"; var IsHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBAReleaseServiceDocument", 'OnBeforeCheckandSetforRelease', '', false, false)]
local procedure DoSomethingOnBeforeCheckandSetforRelease(var ServiceHeader: Record "Service Header"; var IsHandled: Boolean)
begin
end;
Parameters:
ServiceHeader: The service header record being processed.IsHandled: Set to TRUE to skip standard processing.
Remarks: Allows subscribers to: - Override standard release checks by setting IsHandled to TRUE - Perform custom pre-validations - Implement alternative release logic
If IsHandled is set to TRUE, all standard checks are skipped:
- Mandatory field validation
- Unit price updates
- Service line evaluation
Called at the start of CheckandSetforRelease procedure.
OnCheckandSetforReleaseOnBeforeUpdateServiceDocLinesUnitPrice(Record Service Header, Boolean) :#
Summary: Integration event raised before updating unit prices in service document lines.
[IntegrationEvent(false, false)]
local procedure OnCheckandSetforReleaseOnBeforeUpdateServiceDocLinesUnitPrice(var ServiceHeader: Record "Service Header"; var IsHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBAReleaseServiceDocument", 'OnCheckandSetforReleaseOnBeforeUpdateServiceDocLinesUnitPrice', '', false, false)]
local procedure DoSomethingOnCheckandSetforReleaseOnBeforeUpdateServiceDocLinesUnitPrice(var ServiceHeader: Record "Service Header"; var IsHandled: Boolean)
begin
end;
Parameters:
ServiceHeader: The service header record being processed.IsHandled: Set to TRUE to skip standard unit price update logic.
Remarks: Allows subscribers to: - Override standard unit price update by setting IsHandled to TRUE - Implement custom pricing logic - Add custom checks before price updates
If IsHandled is set to TRUE, standard UpdateServiceDocLinesUnitPrice is skipped.
Called after mandatory field validation but before unit price updates.
Only triggered for non-credit memo documents with Release Status = Open.
OnAfterCheckandSetforRelease(Record Service Header) :#
Summary: Integration event raised after checking and setting service document for release.
[IntegrationEvent(false, false)]
local procedure OnAfterCheckandSetforRelease(var ServiceHeader: Record "Service Header"):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBAReleaseServiceDocument", 'OnAfterCheckandSetforRelease', '', false, false)]
local procedure DoSomethingOnAfterCheckandSetforRelease(var ServiceHeader: Record "Service Header")
begin
end;
Parameters:
ServiceHeader: The service 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 after release preparation - Log or audit release actions
Called after:
- Mandatory fields are validated
- Unit prices are updated
- Service lines are evaluated
Only triggered for documents with Release Status = Open.
OnBeforeReleaseServiceQuote(Record Service Header, Boolean) :#
Summary: Integration event raised before releasing a service quote.
[IntegrationEvent(false, false)]
local procedure OnBeforeReleaseServiceQuote(var ServiceHeader: Record "Service Header"; var IsHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBAReleaseServiceDocument", 'OnBeforeReleaseServiceQuote', '', false, false)]
local procedure DoSomethingOnBeforeReleaseServiceQuote(var ServiceHeader: Record "Service Header"; var IsHandled: Boolean)
begin
end;
Parameters:
ServiceHeader: The service header record to be released.IsHandled: Set to TRUE to skip standard release processing.
Remarks: Allows subscribers to: - Override standard release logic by setting IsHandled to TRUE - Perform custom pre-release validations - Implement alternative release workflow - Add custom checks before release
If IsHandled is set to TRUE, all standard release processing is skipped.
Called at the very beginning of ReleaseServiceQuote procedure.
OnBeforeOnReleaseServiceDocumentOnBeforePerformManualRelease(Record Service Header, Boolean) :#
Summary: Integration event raised before manual release of service document is performed.
[IntegrationEvent(false, false)]
local procedure OnBeforeOnReleaseServiceDocumentOnBeforePerformManualRelease(var ServiceHeader: Record "Service Header"; var IsHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBAReleaseServiceDocument", 'OnBeforeOnReleaseServiceDocumentOnBeforePerformManualRelease', '', false, false)]
local procedure DoSomethingOnBeforeOnReleaseServiceDocumentOnBeforePerformManualRelease(var ServiceHeader: Record "Service Header"; var IsHandled: Boolean)
begin
end;
Parameters:
ServiceHeader: The service header record being released.IsHandled: Set to TRUE to skip CheckandSetforRelease processing.
Remarks: Allows subscribers to: - Override CheckandSetforRelease by setting IsHandled to TRUE - Perform custom pre-release operations - Implement alternative release preparation logic
If IsHandled is set to TRUE, CheckandSetforRelease is not called.
Called in event subscriber for "Release Service Document" codeunit's OnBeforePerformManualRelease.
Only processes documents with Release Status = Open.
OnAfterReleaseServiceQuote(Record Service Header) :#
Summary: Integration event raised after a service quote has been released.
[IntegrationEvent(false, false)]
local procedure OnAfterReleaseServiceQuote(var ServiceHeader: Record "Service Header"):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBAReleaseServiceDocument", 'OnAfterReleaseServiceQuote', '', false, false)]
local procedure DoSomethingOnAfterReleaseServiceQuote(var ServiceHeader: Record "Service Header")
begin
end;
Parameters:
ServiceHeader: The service header record that was released.
Remarks: Allows subscribers to: - Perform post-release actions - Update related records after release - Trigger notifications or workflows - Log or audit release completion
Called after:
- All release validations are completed
- Quote Release Status is set to Released
Only triggered for successfully released Quote documents.
OnBeforeReOpenServiceQuote(Record Service Header, Boolean) :#
Summary: Integration event raised before reopening a service quote.
[IntegrationEvent(false, false)]
local procedure OnBeforeReOpenServiceQuote(var ServiceHeader: Record "Service Header"; var IsHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBAReleaseServiceDocument", 'OnBeforeReOpenServiceQuote', '', false, false)]
local procedure DoSomethingOnBeforeReOpenServiceQuote(var ServiceHeader: Record "Service Header"; var IsHandled: Boolean)
begin
end;
Parameters:
ServiceHeader: The service header record to be reopened.IsHandled: Set to TRUE to skip standard reopen processing.
Remarks: Allows subscribers to: - Override standard reopen logic by setting IsHandled to TRUE - Perform custom pre-reopen validations - Implement alternative reopen workflow - Add custom checks before reopening
If IsHandled is set to TRUE, all standard reopen processing is skipped.
Called at the very beginning of ReOpenServiceQuote procedure.
OnAfterReOpenServiceQuote(Record Service Header) :#
Summary: Integration event raised after a service quote has been reopened.
[IntegrationEvent(false, false)]
local procedure OnAfterReOpenServiceQuote(var ServiceHeader: Record "Service Header"):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBAReleaseServiceDocument", 'OnAfterReOpenServiceQuote', '', false, false)]
local procedure DoSomethingOnAfterReOpenServiceQuote(var ServiceHeader: Record "Service Header")
begin
end;
Parameters:
ServiceHeader: The service header record that was reopened.
Remarks: Allows subscribers to: - Perform post-reopen actions - Update related records after reopening - Trigger notifications or workflows - Log or audit reopen completion
Called after:
- Quote Release Status is set back to Open
Only triggered for successfully reopened Quote documents.