Skip to main content

Notifications

Announcements

No record found.

Small and medium business | Business Central, N...
Suggested answer

Calculated field on Sales Line table

Posted on by 92

I have created an extension of the table "Sales line", in which I have created a field "Shipped Not Inv. No VAT", which should be the result of the multiplication of two existing fields in the table, "Qty. Shipped Not Invoiced" * "Unit price", this in each line. I have added the operation in the "OnAfterValidate ()" tigger of both fields, but nothing happens.

Also try to do it through a codeunit, following this example: 

https://community.dynamics.com/business/f/dynamics-365-business-central-forum/300617/add-dynamically-calculated-field-to-sales-document-lines

But it doesn't work for me either. Is there something I need to add somewhere?

pastedimage1632439463360v1.png

codeunit 52122 ShipNotInvNoVATPub
{
    trigger OnRun()
    begin

    end;

    [IntegrationEvent(false, false)]
    local procedure OnAfterValidate(var r: Record "Sales Line")
    begin
    end;
}

codeunit 52123 ShipNInvNoVATSub
{
    trigger OnRun()
    begin

    end;

    [EventSubscriber(ObjectType::Table, Database::"Sales Line", 'OnAfterValidateEvent', 'Unit Price', false, false)]
    local procedure UnitPriceChange(var Rec: Record "Sales Line")
    begin
        Rec."Shipped Not Inv. No VAT" := Rec."Unit Price" * Rec."Qty. Shipped Not Invd. (Base)";
    end;

    [EventSubscriber(ObjectType::Table, Database::"Sales Line", 'OnAfterValidateEvent', 'Qty. Shipped Not Invd. (Base)', false, false)]
    local procedure QtyChange(var Rec: Record "Sales Line")
    begin
        Rec."Shipped Not Inv. No VAT" := Rec."Unit Price" * Rec."Qty. Shipped Not Invd. (Base)";
    end;


}

  • Suggested answer
    Greg Enns Profile Picture
    Greg Enns 1,102 on at
    RE: Calculated field on Sales Line table

    Code looks right to me at a quick glance. A few things to try:

    Make sure your extension is published. Restart the nav service tier (not sure how that works in the cloud as I'm on-prem). Run the debugger when changing data in those fields.

  • Suggested answer
    Mohana Yadav Profile Picture
    Mohana Yadav 59,139 Super User 2024 Season 2 on at
    RE: Calculated field on Sales Line table

    OnAfterValidate of field trigger will work when we enter/validate data in that field.

    Please OnAfterGetRecord on Subpage trigger to check if it is working or not.

  • Suggested answer
    Marco Mels Profile Picture
    Marco Mels on at
    RE: Calculated field on Sales Line table

    Hello,

    We currently do not have dedicated Dev support via the Dynamics 365 Business Central forums, but I wanted to provide you some additional resources to assist.  If you need assistance with debugging or coding I would recommend discussing this on one of our communities.

    www.yammer.com/dynamicsnavdev

    dynamicsuser.net/.../developers

    I will open this up to the community in case they have something to add.

    Thanks

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Tips for Writing Effective Suggested Answers

Best practices for providing successful forum answers ✍️

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,280 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,214 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans