1с что такое подписка на события

Использование подписки на событие в 1С

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

Рассмотрим этот объект метаданных подробнее.

1с что такое подписка на события. Смотреть фото 1с что такое подписка на события. Смотреть картинку 1с что такое подписка на события. Картинка про 1с что такое подписка на события. Фото 1с что такое подписка на события

События на которые можно назначить обработчик подписки на событие

Подписку на событие можно установить только на объект, а не на форму.

Очередность вызова обработчиков в 1С 8

Обработчики подписки на события вызываются после обработчика объекта, т.е. если подписка на события установлена на событие «ОбработкаПроведение», то вначале отработает обработчик из модуля объекта, а потом уже обработчик из подписки.

Если подписок на одно событие несколько, то, судя по опыту, сначала вызывается вышестоящая в древе конфигурации подписка. Хотя и сама фирма 1С сообщает, что эта очередность не определена.

Использование подписок на событие в 1С

Использовать подписки очень удобно, например, для регистрации изменений для плана обмена. Или какое-то другое действие, которое одинаковое для различных объектов конфигурации.

Я часто использую подписки на событие для того, чтобы не менять обработчики типовых документов. Это очень удобно, например, мы в подписке можем корректировать движения документа или добавлять движения по новым регистрам, не меняя при этом конфигурацию.

Настройка подписки на событие

Настроить подписку очень просто:

1с что такое подписка на события. Смотреть фото 1с что такое подписка на события. Смотреть картинку 1с что такое подписка на события. Картинка про 1с что такое подписка на события. Фото 1с что такое подписка на события

Другие статьи по 1С:

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Источник

Подписка на событие в 1С 8.3

1с что такое подписка на события. Смотреть фото 1с что такое подписка на события. Смотреть картинку 1с что такое подписка на события. Картинка про 1с что такое подписка на события. Фото 1с что такое подписка на события

Подписка на событие

Подписки на событие позволяют добавить обработчик на события модуля объекта, модуля менеджера или модуля набора записей. Они находятся в разделе Общие — Подписки на события:

1с что такое подписка на события. Смотреть фото 1с что такое подписка на события. Смотреть картинку 1с что такое подписка на события. Картинка про 1с что такое подписка на события. Фото 1с что такое подписка на события

При создании новой подписки на событие в свойствах нужно указать источник, событие и обработчик:

1с что такое подписка на события. Смотреть фото 1с что такое подписка на события. Смотреть картинку 1с что такое подписка на события. Картинка про 1с что такое подписка на события. Фото 1с что такое подписка на события

В качестве источника может выступать объект, набор записей или менеджер. Можно выбрать составной тип, например СправочникОбъект.Товары, СправочникОбъект.Контрагенты. Можно выбрать набор типов, например СправочникОбъект, ДокументОбъект.

1с что такое подписка на события. Смотреть фото 1с что такое подписка на события. Смотреть картинку 1с что такое подписка на события. Картинка про 1с что такое подписка на события. Фото 1с что такое подписка на события

В свойстве Событие нужно выбрать событие источника. Если в качестве источника был выбран объект, то это события модуля объекта. Если в качестве источника был выбран менеджер — то события модуля менеджера. Если набор записей — то события модуля набора записей.

1с что такое подписка на события. Смотреть фото 1с что такое подписка на события. Смотреть картинку 1с что такое подписка на события. Картинка про 1с что такое подписка на события. Фото 1с что такое подписка на события

Если выбран составной источник, то будут доступны только те события, которые есть у всех выбранных источников. Например, если выбрать СправочникОбъект и ДокументОбъект, то можно будет выбрать только те события, которые есть и в модуле объекта справочника и в модуле объекта документа:

1с что такое подписка на события. Смотреть фото 1с что такое подписка на события. Смотреть картинку 1с что такое подписка на события. Картинка про 1с что такое подписка на события. Фото 1с что такое подписка на события

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

В свойстве обработчик нужно выбрать модуль, в котором будет создана процедура для обработки события. Для выбора доступны все серверные общие модули. Но правильно выбирать тот общий модуль, у которого в свойствах установлены флажки:

После выбора общего модуля в нем будет создана экспортная процедура для обработки события:

Источник

Объект 1С «Подписка на событие»

Это процедура, которая будет выполнена после того, как выполнится исходный обработчик события. Таким образом, возникает возможность программного расширения модулей без их модификации (полезно при изменении типовых решений).

Подписки на события описываются в ветке «Общие» окна объектов конфигурации.

1с что такое подписка на события. Смотреть фото 1с что такое подписка на события. Смотреть картинку 1с что такое подписка на события. Картинка про 1с что такое подписка на события. Фото 1с что такое подписка на события

Основные свойства объекта 1С «Подписка на событие»:

Источниками событий могут являться прикладные объекты, наборы записей регистров, менеджеры объектов конфигурации. Допускается как множественный выбор объектов, являющихся поставщиками событий, так и выбор всех объектов одного типа (например, все документы).

Пример кода процедуры-обработчика:

Обработчик события должен удовлетворять следующим требованиям:

Назначение обработчиков событий доступно также и средствами встроенного языка с помощью операторов:

У объектов, которые могут являться источниками событий, есть свойство ДополнительныеСвойства типа Структура, позволяющее хранить информацию между вызовами событий (например, это новый или старый объект).

События на которые можно назначить обработчик подписки на событие:

ВАЖНО! Подписку на событие можно установить только на объект, а не на форму.

Если в конфигурации создана подписка на событие некоторого объекта, например событие ПередЗаписью() объекта справочника, то при возникновении этого события платформа выполняет следующую последовательность действий:

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

Особенности обработки подписки на событие 1С:

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

Для отправки комментария вам необходимо авторизоваться.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Источник

Назначение обработчиков событий с помощью подписок на события

О чем эта статья

Механизм подписок на событие предназначен для назначения обработчика события для одного или нескольких объектов конфигурации платформы «1С:Предприятие». В статье рассматриваются несколько примеров применения данного механизма. Изучив статью, вы узнаете:

Применимость

В статье рассматривается платформа «1С:Предприятие» редакции 8.3. Представленная информация актуальна для текущих релизов платформы.

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

В статье рассматриваются несколько примеров применения одного из вспомогательных объектов платформы «1С:Предприятие 8» – подписок на события.

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

При этом не потребуется вносить изменения в модуль объекта или модуль менеджера. Таким образом, возникает возможность программного расширения модулей без их модификации – это очень полезный прием при изменении типовых решений.

Подписки на события описываются в ветке Общие окна объектов конфигурации (Рис.1).

1с что такое подписка на события. Смотреть фото 1с что такое подписка на события. Смотреть картинку 1с что такое подписка на события. Картинка про 1с что такое подписка на события. Фото 1с что такое подписка на события

Если в конфигурации создана подписка на событие некоторого объекта, например событие ПередЗаписью() объекта документа, то при возникновении этого события платформа выполняет следующую последовательность действий.

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

Задача 1

Выполнить проверку дублирования наименования при записи элемента справочника “Контрагенты” – без модификации модулей самого справочника.

Для решения задачи нужно создать общий модуль ОбработчикиПодписокНаСобытия. В палитре свойств модуля установить флаг Сервер и Клиент (обычное приложение). Второй флаг нужен для того, чтобы подписка на событие работала в обычном приложении.

Флаг Клиент (обычное приложение) доступен, если в параметрах конфигуратора установлен режим редактирования Управляемое приложение и обычное приложение.

В ветке Общие окна объектов конфигурации создать новую подписку на событие. В палитре свойств ввести имя подписки ПроверкаНаименованияСправочника. В поле выбора Источник отметить тип данных СправочникОбъект.Контрагенты. В поле выбора Событие выбрать событие ПередЗаписью(). После отработки этого события будет срабатывать процедура обработки подписки на событие (Рис. 2).

1с что такое подписка на события. Смотреть фото 1с что такое подписка на события. Смотреть картинку 1с что такое подписка на события. Картинка про 1с что такое подписка на события. Фото 1с что такое подписка на события

В процедуре ПроверкаНаименованияСправочникаПередЗаписью() выполняется запрос к справочнику Контрагенты. В качестве параметра запроса передается наименование записываемого элемента справочника Контрагенты. Если элемент с таким названием уже есть в базе данных, то параметр Отказ устанавливается в значение Истина (запись элемента отменяется) и выводится соответствующее диагностическое сообщение.

Листинг процедуры ПроверкаНаименованияСправочникаПередЗаписью()

1с что такое подписка на события. Смотреть фото 1с что такое подписка на события. Смотреть картинку 1с что такое подписка на события. Картинка про 1с что такое подписка на события. Фото 1с что такое подписка на события

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

Задача 2

Создать оборотный регистр накопления “Выбытия денежных средств” и обеспечить формирование движений по этому регистру при проведении документа “Расходный кассовый ордер”, используя механизм подписок на события.

Создать новый оборотный регистр с именем ВыбытияДенежныхСредств. Выбрать регистратор “Расходный кассовый ордер”. Добавить измерения регистра:

Касса, тип: СправочникСсылка.Кассы;
Статья, тип: СправочникСсылка.СтатьиДвиженияДенежныхСредств.

Создать ресурс регистра:

В документе “Расходный кассовый ордер” создать реквизит СтатьяДвижения с типом данных СправочникСсылка.СтатьиДвиженияДенежныхСредств.

Создать новую подписку на событие:

Имя – ДвиженияПоВыбытиюДенежныхСредств;
Источник – ДокументОбъект.РКО;
Событие – ОбработкаПроведения.

В общем модуле ОбработчикиПодписокНаСобытия создать обработчик ДвиженияПоВыбытиюДенежныхСредствОбработкаПроведения(). В обработчике осуществляется обход табличной части документа “Расходный кассовый ордер” и формируются движения в регистре накопления ВыбытияДенежныхСредств.

Листинг процедуры ДвиженияПоВыбытиюДенежныхСредствОбработкаПроведения()

1с что такое подписка на события. Смотреть фото 1с что такое подписка на события. Смотреть картинку 1с что такое подписка на события. Картинка про 1с что такое подписка на события. Фото 1с что такое подписка на события

В типовых конфигурациях может возникнуть необходимость доработки основной формы некоторого объекта, например документа. Эту задачу можно решить с помощью подписок на события. При этом создается копия основной формы документа. В новую форму вносятся необходимые изменения. С помощью механизма подписок на события обеспечивается открытие новой формы вместо основной формы. При этом основная форма, находящаяся на поддержке, остается без изменения.

Задача 3

Обеспечить подмену основной формы документа “Расходный кассовый ордер”.

Создать новую форму документа “Расходный кассовый ордер” с именем ФормаДокументаКлиентская. Внести в форму произвольные изменения, например, поменять порядок элементов управления. Для вызова этой формы необходимо использовать подписку на событие ОбработкаПолученияФормы() в модуле менеджера документа “Расходный кассовый ордер”.

Создать новую подписку на событие:

Имя – ОсновнаяФормаРКО;
Источник – ДокументМенеджер.РКО;
Событие – ОбработкаПолученияФормы.

В общем модуле ОбработчикиПодписокНаСобытия создать обработчик ОсновнаяФормаРКООбработкаПолученияФормы(). В обработчик в качестве параметра ВыбраннаяФорма передается имя открываемой формы.
Параметр СтандартнаяОбработка устанавливается в значении Ложь для отключения открытия основной формы.

Листинг процедуры ОсновнаяФормаРКООбработкаПолученияФормы()

1с что такое подписка на события. Смотреть фото 1с что такое подписка на события. Смотреть картинку 1с что такое подписка на события. Картинка про 1с что такое подписка на события. Фото 1с что такое подписка на события

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

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

Если необходимо модифицировать какое-либо событие формы, то механизм подписок на события не доступен. В этом случае, необходимо вносить изменения в саму форму или копировать форму и вносить изменения в новый объект.

Источник

Обучение программированию на 1С

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

Подписка на событие

» data-medium-file=»https://i0.wp.com/life1c.ru/wp-content/uploads/rassyilka-i-podpiska.jpg?fit=300%2C200&ssl=1″ data-large-file=»https://i0.wp.com/life1c.ru/wp-content/uploads/rassyilka-i-podpiska.jpg?fit=520%2C347&ssl=1″ loading=»lazy» src=»https://i1.wp.com/life1c.ru/wp-content/uploads/rassyilka-i-podpiska-300×200.jpg?resize=244%2C166″ alt=»Подписка на событие» width=»244″ height=»166″ data-recalc-dims=»1″ />Программа 1С является одной из самых часто используемых во многих сферах деятельности. Вот уже несколько лет с её помощью ведутся базы данных в организациях, ведётся учёт основной деятельности и упорядочивается бухгалтерская отчётность.

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

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

Функции программы позволяют выполнять определённые действия в результате возникновения определённого события. Для этого необходимо прописать подробные условия во встроенной программе. Для этого программисту необходимо назначить обработчик на каждое событие.

Кроме того, программист может настроить систему таким образом, что обработчик будет назначен сразу на несколько документов при нажатии на одну кнопку.

Как подписка на событие выглядит в дереве конфигурации?

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

1с что такое подписка на события. Смотреть фото 1с что такое подписка на события. Смотреть картинку 1с что такое подписка на события. Картинка про 1с что такое подписка на события. Фото 1с что такое подписка на события

В самой подписке на события выбирается источник, который будет основой для осуществления определённых событий.

Функция-обработчик выбирается в общем модуле в дереве конфигурации.

Как проверить заполнение поля?

Например, для работы в системе программист добавил общий реквизит. Необходимо проконтролировать заполнение данного поля в каждом вновь созданном документе. Для выполнения этого действия следует учитывать несколько этапов.

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

1с что такое подписка на события. Смотреть фото 1с что такое подписка на события. Смотреть картинку 1с что такое подписка на события. Картинка про 1с что такое подписка на события. Фото 1с что такое подписка на события

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

1с что такое подписка на события. Смотреть фото 1с что такое подписка на события. Смотреть картинку 1с что такое подписка на события. Картинка про 1с что такое подписка на события. Фото 1с что такое подписка на события

Работа с формами 1С

Как показывает практика, можно значительно упростить работу со многими объектами в 1С. Чаще всего это документы и справочники. Однако на данный момент невозможно подписаться на события 1С формы, например, при её открытии.

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

Функция-обработчик

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

1с что такое подписка на события. Смотреть фото 1с что такое подписка на события. Смотреть картинку 1с что такое подписка на события. Картинка про 1с что такое подписка на события. Фото 1с что такое подписка на события

Для чего нужна функция подписки на события?

За несколько этапов пользователь сам может установить функцию подписки на событие в 1С. Этот приём позволяет выполнять определённую функцию при записи любого документа или создания нового.

Создание подписки значительно упрощает работу в программе 1С, а также экономит время пользователю.

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *