Подписки на события 1С


Когда пользователь нажимает на ту или иную кнопку, открывается или закрывается форма, записывается документ – возникает событие.

Программист может назначить на событие обработчик – функцию написанную на встроенном языке 1С, которая выполнит определенные действия при возникновении события.

Иногда возникает необходимость назначить обработчик сразу на несколько или все документы.

Например, в каждом документе у нас есть реквизит Ответственный (автор). Или мы добавили такой общий реквизит.

Перед записью каждого документа мы хотим проконтролировать, что данный реквизит заполнен.

Как это сделать?

 

Подписки на события 1С

Подписка на события 1С – это объект 1С, он находится в ветке конфигурации Общие/Подписки на события 1С.

Подписка на событие 1С позволяет назначить обработчик при наступлении события у любого нескольких объектов (справочников, документов).

Добавим новую подписку на событие 1С, установим название.

В свойстве подписки на событие 1С Источник – нужно выбрать один или несколько документов, справочников – объектов, на которые мы ставим обработчик.

В свойстве подписки на событие 1С Событие – нужно выбрать один из вариантов стандартных событий, которые могут произойти с выбранными документами и справочниками.

Мы упрощаем говоря «документы и справочники» — на самом деле можно использовать многие объекты 1С. К сожалению, нельзя подписаться на события 1С формы – например, при открытии формы, о чем жалеют многие программисты.

Набор возможных событий зависит от объекта. Будьте внимательны, так как если выбрать несколько (множество) объектов – то в списке событий будут только те события, которые могут быть у каждого из выбранных объектов (то есть общие для всех выбранных объектов события).

После этого остается создать функцию обработчик. Для этого в конфигурации должен быть общий модуль с установленной в свойствах галочкой Серверный. При нажатии кнопки «лупа» будет создана функция – обработчик.

Все! Мы только что подписались на событие 1С ПередЗаписью для всех документов. Теперь при записи любого документа будет выполняться наша функция, в которой прописана проверка.

Для того, чтобы отказать в записи документа, если проверка прошла отрицательно, нужно установить параметр функции

Отказ = Истина;

 


Проголосовать за этот пост:

1 Star2 Stars3 Stars4 Stars5 Stars (65 голосов, среднее: 4,52 из 5)
Загрузка...

Добавить комментарий