Add field in Onhand Inventory form in D365 FO X++
We need to write a code on class InventDimCtrl_Frm_OnHand then find method modifyQuery then you need to add your field in group by otherwise you never be able to add field in on hand form.
EX: adding Batch expiry date field from Invent Batch to On hand inventory form.
[ExtensionOf(classStr(InventDimCtrl_Frm_OnHand))]
final class TSCInventDimCtrl_Frm_OnHand_Extension
{
public void modifyQueryBasedOnDatasourceName(
Query _inventSum_DS_Query,
str _inventSum_DS_Name,
FormDataSource _inventDim_DS)
{
Query query;
QueryBuildDataSource qbdsInventDim;
QueryBuildDataSource qbdsInventSum;
QueryBuildDataSource qbdsInventBatch;
QueryBuildRange qbrItemId;
str queryValue;
next modifyQueryBasedOnDatasourceName(_inventSum_DS_Query, _inventSum_DS_Name, _inventDim_DS);
query = _inventSum_DS_Query;
qbdsInventDim = query.dataSourceTable(tableNum(InventDim));
qbdsInventDim.addDataSource(tableNum(InventBatch));
query.dataSourceTable(tableNum(InventBatch)).addSelectionField(fieldNum(InventBatch, expDate));
qbdsInventSum = query.dataSourceTable(tableNum(InventSum));
qbdsInventBatch = query.dataSourceTable(tableNum(InventBatch));
qbdsInventBatch.addGroupByField(fieldNum(InventBatch, expDate));
}
}