I have created some custom fields on sales lines and need to flow them on General Ledger Entries. Custom fields added to the sales lines are successfully being populated from Sales Order Lines into General ledger entries in sandbox environment but on Production environment custom fields added to the sales lines are successfully being populated from Sales Order Lines into Value Entry, but the same fields are not appearing in the related G/L Entries created during warehouse shipment posting.
Current Flow Implemented:
Sales Line → Value Entry → Gen. Journal Line → G/L Entry
following is my code
//To flow custom field for Posted Sales shipment and Posted Return Receipt G/l Entries
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Item Jnl.-Post Line", 'OnAfterInsertValueEntry', '', false, false)]
local procedure OnAfterInsertValueEntry(var ValueEntry: Record "Value Entry"; ItemLedgerEntry: Record "Item Ledger Entry")
var
SalesShptHeader: Record "Sales Shipment header";
ReturnReceiptHeader: Record "Return Receipt Header";
SalesLine: Record "Sales Line";
begin
if ItemLedgerEntry."Document Type" = ItemLedgerEntry."Document Type"::"Sales Shipment" then begin
SalesShptHeader.SetRange("No.", ItemLedgerEntry."Document No.");
if SalesShptHeader.FindFirst() then
if not SalesLine.Get(
SalesLine."Document Type"::Order,
SalesShptHeader."Order No.",
ItemLedgerEntry."Document Line No.")
then
exit;
end
else
if ItemLedgerEntry."Document Type" = ItemLedgerEntry."Document Type"::"Sales Return Receipt" then begin
ReturnReceiptHeader.SetRange("No.", ItemLedgerEntry."Document No.");
if ReturnReceiptHeader.FindFirst() then
if not SalesLine.Get(
SalesLine."Document Type"::"Return Order",
ReturnReceiptHeader."Return Order No.",
ItemLedgerEntry."Document Line No.")
then
exit;
end;
ValueEntry."MZK Sales Order No." := SalesLine."Document No.";
ValueEntry."MZK Referrer No." := SalesLine."MZK Referrer No.";
ValueEntry."MZK External Referrer Code" := SalesLine."MZK External Referrer Code";
ValueEntry."MZK Patient ID" := SalesLine."DVC Patient No.";
ValueEntry."MZK SLA No." := SalesLine."MZK SLA No.";
ValueEntry."MZK Therapy Code" := SalesLine."DVC Main Therapy";
ValueEntry."MZK Payer" := SalesLine."Bill-to Customer No.";
ValueEntry.Modify();
end;
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Inventory Posting to G/L", 'OnPostInvtPostBufOnBeforeSetAmt', '', false, false)]
local procedure OnPostInvtPostBufOnBeforeSetAmt(var GenJournalLine: Record "Gen. Journal Line"; ValueEntry: Record "Value Entry")
begin
GenJournalLine."MZK Sales Order No." := ValueEntry."MZK Sales Order No.";
GenJournalLine."MZK Referrer No." := ValueEntry."MZK Referrer No.";
GenJournalLine."MZK External Referrer Code" := ValueEntry."MZK External Referrer Code";
GenJournalLine."MZK Patient ID" := ValueEntry."MZK Patient ID";
GenJournalLine."MZK SLA No." := ValueEntry."MZK SLA No.";
GenJournalLine."MZK Therapy Code" := ValueEntry."MZK Therapy Code";
GenJournalLine."MZK Payer" := ValueEntry."MZK Payer"
end;
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Gen. Jnl.-Post Line", 'OnBeforeInsertGLEntry', '', false, false)]
local procedure OnBeforeInsertGLEntry(var GLEntry: Record "G/L Entry"; GenJnlLine: Record "Gen. Journal Line"; var IsHandled: Boolean)
var
SalesInvHeader: Record "Sales Invoice Header";
SalesInvLines: Record "Sales Invoice Line";
SalesInvLinesTmp: Record "Sales Invoice Line";
SalesCrHeader: Record "Sales Cr.Memo Header";
SalesCrLines: Record "Sales Cr.Memo Line";
SalesCrLinesTmp: Record "Sales Cr.Memo Line";
Resource: Record Resource;
GenPostingSetup: Record "General Posting Setup";
SalesLineAcc: Boolean;
SalesCRAcc: Boolean;
begin
if (GenJnlLine."Document Type" = GenJnlLine."Document Type"::Invoice) then begin
//Direct Sales Invoice posting
//custom code
end
else
if (GenJnlLine."Document Type" = GenJnlLine."Document Type"::"Credit Memo") then begin
//custom code
end
else begin
GLEntry."MZK Patient ID" := GenJnlLine."MZK Patient ID";
GLEntry."MZK Sales Order No." := GenJnlLine."MZK Sales Order No.";
GLEntry."MZK Referrer No." := GenJnlLine."MZK Referrer No.";
GLEntry."MZK External Referrer Code" := GenJnlLine."MZK External Referrer Code";
GLEntry."MZK SLA No." := GenJnlLine."MZK SLA No.";
GLEntry."MZK Payer" := GenJnlLine."MZK Payer";
GLEntry."MZK Therapy Code" := GenJnlLine."MZK Therapy Code";
end;
end;

Report
All responses (
Answers (