В большинстве языков програмирования для взаимодействия с пользователем используются обработчики, которые реагируют на события, которые происходят с программой. В большинстве случаев это то или иное действие, которое делает пользователь. Помню, в делфи было очень много событий, на которые могли реагировать формы и элементы управления: нажатие клавиши на клавиатуре, отпускание клавиши на клавиатуре, движение курсора, клик, двойной клик, активация формы… Событий было много и от версии к версии разработчики добавляли все новые и новые события. В 1с не стали отмахиваться от мировой практики и тоже реализовали обработку событий в обычных формах и в управляемых
На каждое событие мы можем прописать действие или последовательность действий – привязать процедуру – обработчик события. Но иногда возникает необходимость выполнения одних и тех же действий при реакции на разные события. Например, нам нужно посылать сообщение менеджеру по работе с клиентами в том случае, когда производились изменения в документах по контрагенту, который прикреплен к нему.
У нас имеется несколько документов, в которых фигурирует реквизит «контрагент»: «приход денег», «расход денег» и «планирование поступления денежных средств». У контрагента есть реквизит «Ответственный» в котором прописано кто из менеджеров курирует данного контрагента. Например, при поступлении денег на расчетный счет или в кассу предприятия менеджер должен быть про это проинформирован автоматически. Или при оформлении расходной накладной. Таким чином получаем документов много, а событие одно - информирование менеджера.
Мы можем в обработчике проведения каждого документа прописать процедуру информирования менеджера, а можем воспользоваться механизмом 1с под названием «Подписки на события».
В ветке «Общие» найдем пункт «Подписки на события» и создадим новый обработчик «ИнформированиеОтветственного». Укажем объекты, на которые мы хотим поставить обработчик и укажем событие, на которое будет реагировать обработчик. Обратите внимание, что будут показаны только события, которые являются общими для всех выбранных типов объектов, так если вы выбрали один тип документа и один тип справочника то обработчик «ОбработкаПроведения» доступен не будет, поскольку справочники такого события не имеют.
После того как указали источники и событие на которое реагирует подписка можно приступать непосредственно к программированию обработчика. Нажимаем на кнопку «лупа» нам выскакивает диалоговое окно, где мы должны выбрать общий модуль, в котором пропишем, обработчик подписки на событие, если модуля нет, его нужно создать заранее. При создании модуля необходимо не забить поставить в свойствах модуля галочку напротив пункта «Сервер». Создадим, обработчик и все при проведении указанных документов менеджеру будет послано сообщение