(3) у документа есть статус. Определенный статус может устанавливать пользователь, другой-устанавливается автоматически. Надо скрыть от пользователя возможность выбора последнего статуса, но он должен быть виден в поле, если установлен.
(4) Тогда надо обрабатывать ОбработкаВыбора или ПриИзменении
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший