local procedure ProcessPostingLines(var SalesHeader: Record "Sales Header"; var SalesHeader2: Record "Sales Header";
var TempDropShptPostBuffer: Record "Drop Shpt. Post. Buffer" temporary;
var CustLedgEntry: Record "Cust. Ledger Entry";
var EverythingInvoiced: Boolean)
var
...
begin
InvoicePostingInterface.ClearBuffers();
TempDropShptPostBuffer.DeleteAll();
EverythingInvoiced := true;
// Lines
GetZeroSalesLineRecID(SalesHeader, ZeroSalesLineRecID);
ErrorMessageMgt.PushContext(ErrorContextElementProcessLines, ZeroSalesLineRecID, 0, PostDocumentLinesMsg);
OnBeforePostLines(TempSalesLineGlobal, SalesHeader, SuppressCommit, PreviewMode, TempWhseShptHeader, ItemJnlPostLine);
LineCount := 0;
RoundingLineInserted := false;
AdjustFinalInvWith100PctPrepmt(TempSalesLineGlobal);
TempVATAmountLineRemainder.DeleteAll();
IsHandled := false;
OnRunOnBeforeCalcVATAmountLines(TempSalesLineGlobal, SalesHeader, TempVATAmountLine, IsHandled);
if not IsHandled then
TempSalesLineGlobal.CalcVATAmountLines(1, SalesHeader, TempSalesLineGlobal, TempVATAmountLine);
OnBeforePostSalesLines(SalesHeader, TempSalesLineGlobal, TempVATAmountLine, EverythingInvoiced);
Clear(PostponedValueEntries);
BindSubscription(this); // Start collect value entries for GLPosting
SalesLinesProcessed := false;
if TempSalesLineGlobal.FindSet() then
repeat