KVSADVClCrMemoEntryCreatePurch#
Events#
OnBeforeCreateClCMEntryFromDocumentLine(Record Vendor Ledger Entry, Record Purchase Line, Decimal, Boolean) :#
[IntegrationEvent(false, false)]
local procedure OnBeforeCreateClCMEntryFromDocumentLine(AdvInvCVLedgEntry: Record "Vendor Ledger Entry"; DocumentLine: Record "Purchase Line"; DocHeaderCurrFactor: Decimal; var IsHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSADVClCrMemoEntryCreatePurch", 'OnBeforeCreateClCMEntryFromDocumentLine', '', false, false)]
local procedure DoSomethingOnBeforeCreateClCMEntryFromDocumentLine(AdvInvCVLedgEntry: Record "Vendor Ledger Entry"; DocumentLine: Record "Purchase Line"; DocHeaderCurrFactor: Decimal; var IsHandled: Boolean)
begin
end;
OnAfterCreateClCMEntryFromDocumentLine(Record Vendor Ledger Entry, Record Purchase Line, Decimal, Record KVSADVAdvClosingCredMemoEntry) :#
[IntegrationEvent(false, false)]
local procedure OnAfterCreateClCMEntryFromDocumentLine(AdvInvCVLedgEntry: Record "Vendor Ledger Entry"; DocumentLine: Record "Purchase Line"; DocHeaderCurrFactor: Decimal; var AdvClCredMemoEntry: Record "KVSADVAdvClosingCredMemoEntry"):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSADVClCrMemoEntryCreatePurch", 'OnAfterCreateClCMEntryFromDocumentLine', '', false, false)]
local procedure DoSomethingOnAfterCreateClCMEntryFromDocumentLine(AdvInvCVLedgEntry: Record "Vendor Ledger Entry"; DocumentLine: Record "Purchase Line"; DocHeaderCurrFactor: Decimal; var AdvClCredMemoEntry: Record "KVSADVAdvClosingCredMemoEntry")
begin
end;
OnBeforeUpdateClCMEntryFromDocumentLine(Record Vendor Ledger Entry, Record Purchase Line, Record Purchase Header) :#
[IntegrationEvent(false, false)]
local procedure OnBeforeUpdateClCMEntryFromDocumentLine(var AdvInvCVLedgEntry: Record "Vendor Ledger Entry"; var DocumentLine: Record "Purchase Line"; var DocumentHeader: Record "Purchase Header"):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSADVClCrMemoEntryCreatePurch", 'OnBeforeUpdateClCMEntryFromDocumentLine', '', false, false)]
local procedure DoSomethingOnBeforeUpdateClCMEntryFromDocumentLine(var AdvInvCVLedgEntry: Record "Vendor Ledger Entry"; var DocumentLine: Record "Purchase Line"; var DocumentHeader: Record "Purchase Header")
begin
end;
OnAfterUpdateClosCrMemoEntriesWhilePostDocument(Record Purchase Line, Record KVSADVAdvClosingCredMemoEntry) :#
[IntegrationEvent(false, false)]
local procedure OnAfterUpdateClosCrMemoEntriesWhilePostDocument(ClCMDocumentLine: Record "Purchase Line"; var ExistingAdvClCredMemoEntry: Record "KVSADVAdvClosingCredMemoEntry"):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSADVClCrMemoEntryCreatePurch", 'OnAfterUpdateClosCrMemoEntriesWhilePostDocument', '', false, false)]
local procedure DoSomethingOnAfterUpdateClosCrMemoEntriesWhilePostDocument(ClCMDocumentLine: Record "Purchase Line"; var ExistingAdvClCredMemoEntry: Record "KVSADVAdvClosingCredMemoEntry")
begin
end;
OnBeforeInsertClosingCMEntriesForDocumentPosting(Record Purchase Header, Record Purchase Line, Boolean) :#
[IntegrationEvent(false, false)]
local procedure OnBeforeInsertClosingCMEntriesForDocumentPosting(DocumentHeader: Record "Purchase Header"; DocumentLine: Record "Purchase Line"; var IsHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSADVClCrMemoEntryCreatePurch", 'OnBeforeInsertClosingCMEntriesForDocumentPosting', '', false, false)]
local procedure DoSomethingOnBeforeInsertClosingCMEntriesForDocumentPosting(DocumentHeader: Record "Purchase Header"; DocumentLine: Record "Purchase Line"; var IsHandled: Boolean)
begin
end;
OnAfterCreatePostedClosingCMEntryFromDocumentPosting(Record Purchase Header, Record Purchase Line, Record KVSADVPostedAdvClosCrMemoEntry) :#
[IntegrationEvent(false, false)]
local procedure OnAfterCreatePostedClosingCMEntryFromDocumentPosting(DocumentHeader: Record "Purchase Header"; DocumentLine: Record "Purchase Line"; var PostedClosingCMEntry: Record "KVSADVPostedAdvClosCrMemoEntry"):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSADVClCrMemoEntryCreatePurch", 'OnAfterCreatePostedClosingCMEntryFromDocumentPosting', '', false, false)]
local procedure DoSomethingOnAfterCreatePostedClosingCMEntryFromDocumentPosting(DocumentHeader: Record "Purchase Header"; DocumentLine: Record "Purchase Line"; var PostedClosingCMEntry: Record "KVSADVPostedAdvClosCrMemoEntry")
begin
end;
OnUpdateClCMEntryFromDocumentLineOnBeforeCheckAmounts(Record Purchase Line, Record Purchase Line, Decimal, Decimal, Record Vendor Ledger Entry, Boolean) :#
Summary: When creating a closing credit memo, there is a check that the amount of the credit memo is not higher than the amount of the advance invoice. If you have invoice discount, this will not work - because the amount of the lines will be higher, if the invoice discount is not respected if you set SkipCheck, the error will not occur. Best would be to change the actual amount (deduct the invoice amount)
[IntegrationEvent(false, false)]
local procedure OnUpdateClCMEntryFromDocumentLineOnBeforeCheckAmounts(var ActualDocumentLine: Record "Purchase Line"; var FilteredDocumentLine: Record "Purchase Line"; var ActualAmount: Decimal; CompareAmount: Decimal; var AdvInvCVLedgEntry: Record "Vendor Ledger Entry"; var SkipCheck: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSADVClCrMemoEntryCreatePurch", 'OnUpdateClCMEntryFromDocumentLineOnBeforeCheckAmounts', '', false, false)]
local procedure DoSomethingOnUpdateClCMEntryFromDocumentLineOnBeforeCheckAmounts(var ActualDocumentLine: Record "Purchase Line"; var FilteredDocumentLine: Record "Purchase Line"; var ActualAmount: Decimal; CompareAmount: Decimal; var AdvInvCVLedgEntry: Record "Vendor Ledger Entry"; var SkipCheck: Boolean)
begin
end;
Parameters:
ActualDocumentLine: The actual document lineFilteredDocumentLine: Other document lines for the same advance invoiceActualAmount: The actual amount of all linesCompareAmount: The maximum amount from the advance invoiceAdvInvCVLedgEntry: The entry with the (open) calculated amountSkipCheck: Set to true to skip the amount check