|
![]() |
#1 |
Участник
|
Решение не совсем красивое, но возможно решит проблему. К строкам приджойнить ещё один InventDim. Нигде на форму его не выводить, закомментировать у него write, delete, create и на этот InventDim уже повесить партии.
|
|
|
За это сообщение автора поблагодарили: mazzy (10), PavelX (2). |
![]() |
#2 |
Участник
|
В этом случае придется постоянно отслеживать синхронизацию основного InventDim и вспомогательного. Причем, делать это придется в каждой форме, а обновление форм при выпуске новых SP каждый знает - задача не очень приятная.
Малая кровь, это edit методы на InventDim (включенные в группу полей InventoryDimensions) и вынос управления отображением/доступность в классы InventDimCtrl. Получаем, что формы не трогаем, а меняем классы (что проще при обновлении). Но:
PS: на клиенте проще - я бы своих заставил лезть в форму карточки партии и менять там, а на форму бы выводил только display поля ![]() |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
![]() |
#3 |
Участник
|
Цитата:
![]() Вах! Неожиданно. В эту сторону я еще не думал. На самом деле, не помогает. Но после ряда экспериментов с дополнительным датасорсом оказалось, что помогает неожиданное решение с типом связи Delayed. Как и ожидалось, такая связь приводит к глюкам, если параметры партии вывести в грид. Но зато отлично работает (без избыточного программирования) в остальных случаях. Причем, что удивительно, корректно работает даже на строчках с номенклатурой с выключенной партией. И пришлось все-таки перехватить метод modified у поля InventDim.InventBatchId, чтобы параметры обновлялись при изменении партии. приложил проект для ax2009 RU5. теперь решить бы вопрос с полем в гриде при типе join = Delayed |
|
Теги |
ax2009, как правильно, партии, форма |
|
|