Я бы только еще поменял
X++:
remains = new InventSumDatePhysicalDim();
Remains.parmItemId(inventSum.ItemId);
Remains.parmInventDimParm(inventDimParm);
Remains.parmInventDim(inventDim);
Remains.parmPerDate(systemdateget());
remains.init();
на
X++:
remains = InventSumDatePhysicalDim::newParameters(systemDateGet(),
inventSum.itemId,
inventDim,
inventDimParm);