Вообще в системе свойство mandatory может быть задано на разных уровнях.
- на поле таблицы
- на поле источника данных
- на элементе управления
Для вашего случая подойдёт уровень источника данных. Уровень таблицы будет недостаточным, так как не позволит динамически включать и выключать это свойство, а уровень элемента управления будет избыточным. Вообще обращаться напрямую к элементу управления не принято, разве что когда он не связан с источником данных.
1) Нужно уметь из кода менять свойства у полей источника данных.
Это делается так: FormDataSourceName_ds.object(FieldId).mandatory(value), где FieldId - это идентификатор поля. Он у вас либо уже есть, раз вы используете inventDimParm, либо его можно получить при помощи функции fieldNum().
2) Нужно понимать в какой момент это делать. Где написать этот код?
Самый простой вариант - это метод Active источника данных. Он срабатывает каждый раз при получении строкой фокуса ввода.
Если интересно то почитайте ещё про событие LinkActive. В вашем случае подойдёт и оно.
|