<< Click to Display Table of Contents >> Разработка > Элементы разработки > Типы сущностей > Свойства События свойств сущности |
События свойств задаются в редакторе типа сущности в узле «Свойства». Обработчики событий выполняются на веб-сервере и/или в клиентском приложении.
События свойств сущности |
|
---|---|
<Имя свойства>Changed |
|
<Имя свойства>ValueInput |
|
<Имя свойства>Filtering |
|
<Имя свойства>SearchDialogFiltering |
|
<Имя свойства>Filtering |
|
<Имя свойства>Added |
|
<Имя свойства>Deleted |
Изменение значения свойства (<Имя свойства>Changed)
Выполняется при изменении значения свойства, в том числе при программном изменении. Для свойства-коллекции выполняется после изменения состава коллекции или одной из записей коллекции.Событие относится к разделяемому коду. Код обработчика выполняется на веб-сервере и/или в клиентском приложении. Назначение: Событие используется для изменения других свойств, текущее свойство изменять нельзя. Например, создано свойство для хранения Суммы товара. Для него добавлен обработчик события Изменение значение свойства, чтобы при изменении значения суммы, изменялось свойство Сумма с учетом НДС. Аргументы события: •_obj – сущность, у которой изменилось значение свойства; •e.NewValue – новое значение свойства; •e.OldValue – предыдущее значение свойства; •e.OriginalValue – исходное значение свойства, которое сохранено в базе данных; •e.Params – дополнительные параметры; •e.State – состояние свойства. |
Изменение значения контрола (<Имя свойства>ValueInput)
Выполняется только при изменении значения в контроле пользователем вручную. Доступно для свойств типа Дата, Перечисление, Строка, Ссылка, Логическое, Целое, Вещественное и Текст. Событие относится к клиентскому коду. Код обработчика выполняется в клиентском приложении. Назначение. Используется, например для показа диалогов, запросов. Важно. В обработчике события не рекомендуется вызывать серверные функции (с атрибутом Remote) и использовать логику, которая будет долго обрабатываться. Данный обработчик выполняется часто. Поэтому, если в нем есть серверные функции, то на веб-сервер отправляется большое количество запросов, что, в свою очередь, влияет на быстродействие системы. Аргументы события: •_obj – сущность, у которой изменилось значение свойства; •e.AddError() – добавление сообщения об ошибке. Выполняемые операции будут прерваны; •e.AddInformation() – добавление информационного сообщения. Выполняемые операции не будут прерваны; •e.AddWarning() – добавление предупреждения. Выполняемые операции не будут прерваны. Примечание. Сообщение об ошибке, информационное сообщение и предупреждение отображаются с соответствующей иконкой в верхней части карточки сущности или диалоговым окном. Например, сообщение об ошибке выглядит следующим образом: •e.NewValue – новое, введенное в контрол значение свойства; •e.OldValue – предыдущее значение свойства в контроле; •e.Params – дополнительные параметры. |
Фильтрация выбора из списка (<Имя свойства>Filtering)
Доступно только для свойств типа Ссылка. Событие относится к серверному коду. Код обработчика выполняется на веб-сервере. Назначение. Фильтрация значений типа сущности при выборе значения свойства-ссылки. Например, чтобы при выборе контакта в карточке входящего письма отображать только контактные лица организации, указанной в поле *Корреспондент. Примечание. При выборе значения пользователь может создать новую запись, если нет подходящей. Если созданная запись не подходит под условия фильтрации для выбора из списка, то появляется сообщение об этом, и запись нельзя выбрать. Аргументы события: •_obj – сущность, для свойства которой выполняется фильтрация; •query – исходный запрос на получение возможных значений для свойства-ссылки; •e.Params – дополнительные параметры. |
Фильтрация выбора из списка при поиске (<Имя свойства>SearchDialogFiltering)
Доступно только для свойств типа Ссылка. Событие относится к серверному коду. Код обработчика выполняется на веб-сервере. Назначение. Фильтрация значений типа сущности при выборе значения свойства-ссылки в диалоге поиска. Например, при выборе типа документа в диалоге поиска в критерии Вид документа отображаются только те виды, которые созданы для выбранного типа: для типа «Договор», отображаются только виды договоров, для типа «Входящее письмо» только виды писем, которые поступают в компанию и т.д. Это возможно, так как типы созданы на основе базового типа документа Официальный документ (OfficialDocument). В редакторе базового типа для свойства Вид документа (DocumentKind) добавлен обработчик события фильтрации выбора при поиске:
Все типы, которые созданы на основе OfficialDocument, наследуют данное событие. Аргументы события: •query – исходный запрос на получение возможных значений для свойства-ссылки; •e.EntityType – уникальный идентификатор (GUID) типа сущности, выбранного в диалоге поиска. |
Фильтрация выбора из выпадающего списка (<Имя свойства>Filtering)
Доступно только для свойств типа Перечисление. Событие относится к клиентскому коду. Код обработчика выполняется в клиентском приложении. Назначение. Фильтрация значений в свойстве-перечислении. Например, в типе сущности «Настройки регистрации» для свойства-перечисления Тип настройки указаны значения «Регистрация», «Нумерация» и «Резервирование». Для входящего документопотока не предусмотрены настройки резервирования. Чтобы скрыть значение «Резервирование» в карточке, настраивается фильтрация. Аргументы события: •_obj – сущность, для свойства которой выполняется фильтрация; •_root – доступ к другим свойствам сущности, для свойства которой выполняется фильтрация; СОВЕТ. Используйте аргумент _root, чтобы изменить сущность в зависимости от результатов фильтрации свойства. Например, в одной из наших организаций существует подразделение Отдел закупок, а в другой – нет. В записи справочника «Право подписи» в поле Подразделения по умолчанию будут доступны все записи из справочника «Подразделения». Чтобы при настройке права подписи документов для сотрудника из второй нашей организации запись несуществующего подразделения не появлялась в списке, в карточке справочника «Право подписи» можно настроить фильтрацию свойства-коллекции Подразделения в зависимости от значения свойства-ссылки Наши организации. В таком случае с помощью _root можно обратиться к свойствам карточки сущности (справочника). •query – исходный запрос на получение возможных значений для свойства-перечисления. |
Добавление в коллекцию (<Имя свойства>Added)
Выполняется при добавлении новой записи в свойство-коллекцию. Событие относится к разделяемому коду. Код обработчика выполняется на веб-сервере и/или в клиентском приложении. Назначение: •заполнение значений по умолчанию для новой записи свойства-коллекции; •написание дополнительной логики, которая выполняется при добавлении новой записи в свойство-коллекцию. Аргументы события: •_obj – сущность, у которой в свойство-коллекцию добавлена запись; •_source – если новая запись свойства-коллекции была добавлена копированием существующей, то значением свойства будет запись, из которой создана новая. В противном случае значением свойства будет null; •_added – запись, добавленная в свойство-коллекцию; •e.Params – дополнительные параметры. |
Удаление из коллекции (<Имя свойства>Deleted)
Выполняется при удалении записи из свойства-коллекции. Событие относится к разделяемому коду. Код обработчика выполняется на веб-сервере и/или в клиентском приложении. Назначение. Написание дополнительной логики, которая будет обрабатываться при удалении записи. Аргументы события: •_obj – сущность, у которой из свойства-коллекции удаляется запись; •_deleted – запись, удаленная из свойства-коллекции; •e.Params – дополнительные параметры. |
© Компания Directum, 2024 |