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