Thursday, 3 July 2025

Add UOM Field at On-hand list and Inventory value Report in D365 FO SSRS

Inventory management > Enquiries and reports >On-hand list
Inventory management > Enquiries and reports > Inventory value reports >Inventory value

Table Extended 

1.InventValueReport.HTMhips

Field-HTMUnitOfMeasure(Noyes)

Field group : HTMUnitOfMeasureView - field added 


2.InventValueReportTmpLine.HTMhips


Field: HTMUnitOfMeasureSymbol (string)

---------------------------------------------------
Reports: HTM_InventValue
Dublicated standard report and done the report changes 

------------------------------------------------------
Output Menu Item Extensions:

InventValue.HTMhips
InventValueExport.HTMhips

------------------------------------------------------
Form Extensions:
InventValueReportSetup.HTMhips- Added Noyes field to the form design 

InventOnhandItem.HTMhips - added existing UOMId display method at grid level

-----------------------------------------------------
Classes:

[ExtensionOf(tableStr(InventValueReport))]

final class HTM_InventValueReport_T_Extension

{

    display boolean viewHTMUOM()

    {

        return this.HTMUnitOfMeasure;

    }

}

-------------

class HTM_InventValueReportController extends InventValueReportController

{

    public static HTM_InventValueReportController construct()

    {

        return new HTM_InventValueReportController();

    }


    public static void main(Args _args)

    {

        SrsReportRunController formLetterController = HTM_InventValueReportController::construct();

        HTM_InventValueReportController controller = formLetterController;


        if (_args.menuItemName() == menuItemOutputStr(InventValueExport))

        {

            controller.parmReportName(ssrsReportStr(HTM_InventValue, Excel));

        }

        else 

        {

            controller.parmReportName(ssrsReportStr(HTM_InventValue, Report));

        }

        controller.parmArgs(_args);

        controller.startOperation();

    }


}
------------------------------------

[ExtensionOf(classStr(InventValueReportDP))]

public final class HTM_InventValueReportDP_C_Extension

{

    public void processReport()

    {

        next processReport();

        InventValueReportTmpLine inventValueReportTmpLine = this.getInventValueReportTmpLine();

        InventTable         inventTable;

        InventTableModule   inventTableModule;


        update_recordset inventValueReportTmpLine

        setting  HTMUnitOfMeasureSymbol = InventTableModule.UnitId

        join InventTableModule

            where InventTableModule.ItemId == inventValueReportTmpLine.ResourceId

            &&  InventTableModule.ModuleType ==  ModuleInventPurchSales::Invent

            && inventValueReportTmpLine.ResourceId !='';

    }

}

No comments:

Post a Comment

Financial reporting DataMart reset in D365 FO X++

  https://community.dynamics.com/blogs/post/?postid=f866f228-4ca5-4013-b996-ec2fe9dde72e