Ситуация: Есть Документ1 со статусной моделью А->Б->В. Есть Документ2, вводится на основании Документ1.
Задача: при попытке ввода Документ2 на основании Документ1 в статусах "Б" или "В" выводить ругательное сообщение и делать отказ ввода.
Решение1: в форму Документ2 добавляем 2 ключевых параметра, что-то типа: ОтказОткрытия (Булево) и ТекстРугательногоСообщения (Строка)
в ПриСозданииНаСервере делаем проверки статуса Документа1, заполняем параметры соответствующим образом. в ПриОткрытии анализируем Параметры.ОтказОткрытия и в зависимости от его значения делаем вывод сообщения и Отказ = Истина
Решение2: все аналогично, только добавляем не ключевые параметры формы, а 2 реквизита формы
Решение3: в ПриОткрытии вызываем &СервернуюБезКонтекста функцию, которой скармливаем Документ1, а она нам возвращает признак отказа и ругательное сообщение
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший