Table of Contents

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): 

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"): 

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"): 

OnAfterUpdateClosCrMemoEntriesWhilePostDocument(Record Purchase Line, Record KVSADVAdvClosingCredMemoEntry) :

[IntegrationEvent(false, false)]
local procedure OnAfterUpdateClosCrMemoEntriesWhilePostDocument(ClCMDocumentLine: Record "Purchase Line"; var ExistingAdvClCredMemoEntry: Record "KVSADVAdvClosingCredMemoEntry"): 

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): 

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"): 

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): 

Parameters:

  • ActualDocumentLine: The actual document line
  • FilteredDocumentLine: Other document lines for the same advance invoice
  • ActualAmount: The actual amount of all lines
  • CompareAmount: The maximum amount from the advance invoice
  • AdvInvCVLedgEntry: The entry with the (open) calculated amount
  • SkipCheck: Set to true to skip the amount check