Мне кажется, что простейшее решение, это перекрыть modified на DS для InventDim, но не на поле InventDimId, а на том поле, которое и содержит твою нестандартную аналитику.
Дело в том, что, например, в формах SalesTable и PurchTable просто не происходит модификация InventDim_ds.InventDimId. Посмотри код метода
\Forms\SalesTable\Data Sources\SalesLine\Methods\write
Там не модификация, а просто замена всей записи InventDim происходит
PHP код:
...
// Нашли или создали складскую аналитику по заданным значениям
salesLine.inventDimId = InventDim::findOrCreate(inventDim).inventDimId;
...
if (salesLine.inventDimId != inventDim.inventdimId)
{
// Обновили источник данных
inventDim.data(InventDim::find(salesLine.inventDimId));
inventDim.write();
}
....
А насчет универсальности, не думаю что получится. Ведь в каждом конкретном случае невозможно сказать в какой именно таблице ты собираешся менять финансовую аналитику при изменении складской.