X++ in D365 Finance and Operations: Find prices the easy way

In X++, finding prices is made simple with a user-friendly function provided as a standard feature. This function streamlines the process, making it efficient and straightforward for developers to access and utilize pricing information within their code. See the example below how to search a price:

    public static Amount getPrice(ModuleInventPurchSales _module,
                                            CustTable              _custTable,
                                            InventTable            _inventTable,
                                            InventDim              _inventDim,
                                            TransDate              _date,
                                            Qty                    _qty)
    {
        PriceDiscParameters priceDiscParameters = PriceDiscParameters::construct();
        priceDiscParameters.parmModuleType(_module);
        priceDiscParameters.parmItemId(_inventTable.ItemId);
        priceDiscParameters.parmInventDim(_inventDim);
        priceDiscParameters.parmUnitId(_inventTable.salesUnitId());
        priceDiscParameters.parmPriceDiscDate(_date);
        priceDiscParameters.parmQty(_qty);
        priceDiscParameters.parmAccountNum(_custTable.AccountNum);
        priceDiscParameters.parmCurrencyCode(_custTable.Currency);

        PriceDisc priceDisc = PriceDisc::newFromPriceDiscParameters(priceDiscParameters);

        priceDisc.findPrice(_custTable.PriceGroup);

        priceDisc.findLineDisc(_inventTable.salesLineDisc(), _custTable.LineDisc);

        real price   = priceDisc.price(); //Returns price
        real discPct = priceDisc.lineDiscPct(); //Returns discount in percent
        real discAmt = priceDisc.lineDiscAmount(); //Returns discount amount

        return price;
    }

I hope this helps you for your development task. Happy coding!

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *