Если предложенные стандартные средства не подойдут, то я бы предложил следующее:
1. Галочка на InventLocation - признак "склад заблокирован"
2. Модифицировать форму InventLocationIdLookup, чтобы в лукап не попадали заблокированные склады.
3. В методе InventDim::findOrCreate(InventDim _inventDim) - приверять св-ов _inventDim.isFormDataSource() и если это дата сорс формы и склад заблокирован, сообщать об ошибке.
4. Проверить, работает ли этот подход, если встать на старый заказ (когда еще склад не был заблокирован) и нажать Ctrl+S. (Возможно еще придется проверить _inventDim.RecId == 0)
|