Из СП:
Диалог выбора модуля позволяет выбрать модуль конфигурации, в котором будет размещен текст процедуры обработчика события.
В диалоге отображаются модули, удовлетворяющие следующим требованиям:
модуль является общим модулем;
у общего модуля заданы следующие свойства:
флаг Глобальный - сброшен;
флаг Клиент (управляемое приложение) или Клиент (обычное приложение) - установлен;
флаг Сервер - установлен;
флаг Внешнее соединение - установлен;
///////////////////////
Получается что видны только те модули где стоит и флаг Сервер и флаг Клиент. Зачем?
Работаю в обычном приложении, делаю подписку ПередЗаписью справочника - передаваться всегда будет СправочникОбъект. Т.е. галка Сервер мне не нужна, т.к. нельзя передать мутабельное значение с клиента на сервер.
(0) сервер И клиент И внешнее соединение.
Это все режимы, в которых может возникнуть событие. Если обработчика не будет в режиме, в котором событие вызвано, платформа не сможет обработчик выполнить. Что в этом трагичного - я х.з, но вот кто-то в 1С решил, что так нельзя. И стало нельзя
с другой стороны, оно и понятно, в обработчике может быть код, влияющий на состояние объекта данных и теоретически, если обработчик в каком-то из режимов вызываться не будет, база может начать обрастать плохими объектами, с которыми нельзя потом работать