Обработчик события вызывается на сервере после получения данных динамическим списком, только если была получена как минимум одна строка. При этом элемент формы, с которым связано событие, не передается в обработчик. Обработчик вызывается в режиме совместимости конфигурации Версия8_3_8 и выше. Если в данном обработчике события изменяются данные строк, то рекомендуется исключать поля, в которых изменяются данные, из списков полей, используемых для группировки, упорядочивания и отбора. Если этого не сделать, группировка, упорядочивание и отбор (включая все виды поиска) будет работать неожиданно для пользователя. Для установки ограничения на использование поля в той или иной операции предназначены методы динамического списка УстановитьОграниченияИспользованияВГруппировке, УстановитьОграниченияИспользованияВПорядке и УстановитьОграниченияИспользованияВОтборе.
Синтаксис
ПриПолученииДанныхНаСервере(<ИмяЭлемента>, <Настройки>, <Строки>)Полное описание, параметры и ограничения
Расширение таблицы формы для динамического списка.ПриПолученииДанныхНаСервере (Form table extension for dynamic list.OnGetDataAtServer)
Расширение таблицы формы для динамического списка (Form table extension for dynamic list)
ПриПолученииДанныхНаСервере (OnGetDataAtServer)
Доступен, начиная с версии 8.3.10.
Синтаксис:
ПриПолученииДанныхНаСервере(<ИмяЭлемента>, <Настройки>, <Строки>)
Параметры:
<ИмяЭлемента>
Тип: Строка.
Содержит имя таблицы формы, из которой вызван обработчик события.
<Настройки>
Тип: НастройкиКомпоновкиДанных.
Содержит копию полных настроек динамического списка.
<Строки>
Тип: СтрокиДинамическогоСписка.
Коллекция содержит данные и оформление всех строк, получаемых в списке, кроме строк группировок.
Описание:
Обработчик события вызывается на сервере после получения данных динамическим списком, только если была получена как минимум одна строка. При этом элемент формы, с которым связано событие, не передается в обработчик.
Обработчик вызывается в режиме совместимости конфигурации Версия8_3_8 и выше.
Если в данном обработчике события изменяются данные строк, то рекомендуется исключать поля, в которых изменяются данные, из списков полей, используемых для группировки, упорядочивания и отбора. Если этого не сделать, группировка, упорядочивание и отбор (включая все виды поиска) будет работать неожиданно для пользователя. Для установки ограничения на использование поля в той или иной операции предназначены методы динамического списка УстановитьОграниченияИспользованияВГруппировке, УстановитьОграниченияИспользованияВПорядке и УстановитьОграниченияИспользованияВОтборе.
Доступность:
Сервер.
Примечание:
Обработчик данного события должен иметь директиву &НаСервереБезКонтекста.
Отбор (а также поиск), сортировка, группировка и условное оформление будут применяться к значениям до изменения их обработчиком.
Использование в версии:
Доступен, начиная с версии 8.3.10.
Методическая информация
Практические примеры
Прочитать фактические строки текущей порции собственного списка
Источник строк и событий задан собственной формой, точными метаданными или явным константным запросом. Параметры callback приходят от платформы после настоящего действия.
Где и как запускать
Событие ПриПолученииДанныхНаСервере таблицы, &НаСервереБезКонтекста.
Подготовка
В своей учебной конфигурации создайте справочник УчебныеКарточки: код Строка 10, наименование 100, реквизит Количество Число 10.0. Вручную создайте УЧЕБ-КНИГ / Учебная книга / 3 и УЧЕБ-ТЕТР / Учебная тетрадь / 5.
В своей управляемой форме добавьте ДинамическийСписок СписокКниг, основная таблица Справочник.УчебныеКарточки. Связанная таблица СписокКниг, колонки Ссылка, Наименование и Количество; реквизит Статус Строка 200.
События назначайте таблице СписокКниг редактором. Имена и параметры обработчиков должны совпадать с редактором. Читаются только свои карточки.
У обработчика строго &НаСервереБезКонтекста. В нём нет параметра Элемент и нет обращения к реквизиту формы Статус. Данные строк и поля сортировки / отбора пример не меняет.
&НаСервереБезКонтекста
Процедура СписокКнигПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
КоличествоВПорции = 0;
Для Каждого Пара Из Строки Цикл
КоличествоВПорции = КоличествоВПорции + Пара.Значение.Данные.Количество;
КонецЦикла;
Сообщить(ИмяЭлемента + ": сумма в полученной порции " + Строка(КоличествоВПорции));
КонецПроцедурыРазбор по шагам
Подготовьте свой список, колонки и конкретные строки.
Назначьте обработчик точному событию таблицы и нужной стороне клиента / сервера.
Выполните действие загрузки, выбора, настройки или получения ссылки и сравните фактический результат.
Как проверить результат
При получении своих двух строк сумма данной порции равна 8. При отборе только книги — 3, только тетради — 5.
Динамический список получает данные порциями: это не достоверный общий итог всего списка. Строки не сохраняются для обращения после выхода из обработчика.
Ожидаемый результат
Разобран конкретный callback / динамический доступ с действительным источником и без подмены типов.
На что обратить внимание
Данные порции динамического списка не являются всеми данными базы; её строки не хранятся после выхода из серверного callback.
Имена динамических свойств происходят из подготовленных колонок / путей ключа, а не создаются getter-обёрткой.
Код 1С здесь не запускался; рабочие базы и пользовательские настройки других форм не изменялись.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.