Это зависит от вашего состояния, если оно зависит от записи данных, если она может измениться, когда пользователь изменяет данные, и т.д.
Если условие является постоянным во время форм сессии используйте WHEN-NEW-FORM-INSTANCE
триггер, как этот
if _condition_ then
set_item_property('your_block.item1', UPDATE_ALLOWED, PROPERTY_FALSE);
set_item_property('your_block.item2', UPDATE_ALLOWED, PROPERTY_FALSE);
...
end if;
, если ваше состояние зависит от записи данных, использовать POST-QUERY
триггер аналогичным образом
if _condition_ then
set_item_instance_property('your_block.item1', :SYSTEM.TRIGGER_RECORD, UPDATE_ALLOWED, PROPERTY_FALSE);
set_item_instance_property('your_block.item2', :SYSTEM.TRIGGER_RECORD, UPDATE_ALLOWED, PROPERTY_FALSE);
...
else
set_item_instance_property('your_block.item1', :SYSTEM.TRIGGER_RECORD, UPDATE_ALLOWED, PROPERTY_TRUE);
set_item_instance_property('your_block.item2', :SYSTEM.TRIGGER_RECORD, UPDATE_ALLOWED, PROPERTY_TRUE);
...
end if;
Если ваше состояние зависит от данных записи, которые могут быть изменены пользователем, используйте дополнительный WHEN-VALIDATE-RECORD
триггер с тем же кодом, что и POST-QUERY-TRIGGER