Копировать ссылку на страницу Перейти в предыдущий раздел Перейти в следующий раздел

Событие

Описание события

Открытие

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

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

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

Событие поддерживается в веб-доступе

Закрытие

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

Событие поддерживается в веб-доступе

Примеры использования события Набор-данныхОткрытие, ограничение загружаемых записей:

с помощью метода AddWhere:

 

// Получить код главной нашей организации.

OurOrgCode = Конст("КОДГЛОРГ")

// Получить ИД главной нашей организации.

ReferenceRequisiteValue('НОР'; OurOrgCode; SYSREQ_ID)

AddWhereStr = Format("%s.%s = %s"; ArrayOf(Object.TableName; Object.Requisites(SYSREQ_OUR_FIRM).SQLFieldName; OurOrgID))

// Отфильтровать справочник по нашей организации.

AddWhereID = Object.AddWhere(AddWhereStr)

// Записать AddWhereID в переменную окружения.

Object.Environment.SetVar('ADD_WHERE_ID'; AddWhereID)

// ***Событие Набор Данных – Закрытие***

// Не забыть удалить заданное ограничение.

Environment = Object.Environment

// Проверить, что в окружении есть переменная с нужным именем.

if Environment.IndexOfName('ADD_WHERE_ID') > -1

  AddWhereID = Object.Environment.PopVar('ADD_WHERE_ID')

  // Удалить ограничение.

  Object.DelWhere(AddWhereID)

endif

 

через функцию СпрИзмНабДан:

 

// Получить код главной нашей организации.

OurOrgCode = Конст("КОДГЛОРГ")

// Получить ИД главной нашей организации.

OurOrgID = СпрРекв("НОР"; OurOrgCode; SYSREQ_ID)

AddWhereStr = Format("%s.%s = %s"; ArrayOf(Object.TableName; Object.Requisites(SYSREQ_OUR_FIRM).SQLFieldName; OurOrgID))

// Отфильтровать справочник по нашей организации.

СпрИзмНабДан(;; AddWhereStr)

Так же можно манипулировать загрузкой реквизитов с помощью свойства Preloaded.

// Не загружать значение реквизита «Дополнение»

Object.Requisites('Дополнение').Preloaded = FALSE

В результате в форме-списке справочника значения для реквизита Дополнения очистятся. При открытии конкретной записи они загрузятся с сервера. Значения предопределенных реквизитов (ИД, Код, Состояние и др.) загружаются всегда, независимо от свойства Preloaded.

Также для увеличения производительности стоит уменьшить использование вычисляемых реквизитов или заменить их на Дополнительные реквизиты. Данный тип реквизитов не сохраняется в БД, а вычисляется при открытии набора данных.

© Компания DIRECTUM, 2018 Сообщество пользователей DIRECTUM
.navbar > a:hover { background: #FFD73B; }