В таблицу InventDimParm вообще никогда не надо ничего вставлять.
Эта таблица по сути своей используется лишь как запись (record, struct) в памяти компьютера, определяющая тот или иной режим обработки складских аналитик в InventDim (в отчётах и запросах - как правило - какие аналитики отображать, т.е. по каких сворачивать итоги, а какие вообще не выводить).
В родителе класса, выводящего отчёт (InventReport_DimPhys) есть метод:
PHP код:
Query initQuery()
{
inventDimParm inventDimParmCriteria;
;
inventDimParm.itemIdFlag = true;
inventDimParmCriteria.ClosedFlag = true;
return inventDim::newQueryInventSum(super(),'',null,inventDimParmCriteria,inventDimParm);
}
В inventDim::newQueryInventSum происходит модификация Query так чтобы группировать по выбранному пользователем InventDimParm.
А в отчёте в методе init есть код:
PHP код:
inventDimGenSetup_Report = new inventDimCtrl_Rep(element);
inventDimGenSetup_Report.parmDimParmVisible(inventDimReport.parmInventDimParm());
inventDimGenSetup_Report.updateControls();
Который скрывает незначащие аналитики с листа отчёта.
Самый правильный способ - отказаться от такой затеи.
Ограничивать стандартный функционал, имхо, нехорошо, такими варварскими методами.
Но если крайне требуют, то самым аккуратным было бы перепопределение initQuery в InventReport_DimPhys таким образом:
PHP код:
Query initQuery()
{
;
// меняем inventDimParm
...
return super();
}
Эх... то ли мануал написать по использованию InventDim в отчётах.