Возникает на сервере перед стандартным формированием списка при вводе по строке, автоподборе текста и быстром выборе.
Синтаксис
ОбработкаПолученияДанныхВыбора(<ДанныеВыбора>, <Параметры>, <СтандартнаяОбработка>)Полное описание, параметры и ограничения
ВнешнийИсточникДанныхКубТаблицаИзмеренияМенеджер.<Имя внешнего источника>.<Имя куба>.<Имя таблицы измерения>.ОбработкаПолученияДанныхВыбора (ExternalDataSourceCubeDimensionTableManager.<External source name>.<Cube name>.<Dimension table name>.ChoiceDataGetProcessing)
ВнешнийИсточникДанныхКубТаблицаИзмеренияМенеджер.<Имя внешнего источника>.<Имя куба>.<Имя таблицы измерения> (ExternalDataSourceCubeDimensionTableManager.<External source name>.<Cube name>.<Dimension table name>)
ОбработкаПолученияДанныхВыбора (ChoiceDataGetProcessing)
Доступен, начиная с версии 8.3.3.
Синтаксис:
ОбработкаПолученияДанныхВыбора(<ДанныеВыбора>, <Параметры>, <СтандартнаяОбработка>)
Параметры:
<ДанныеВыбора>
Тип: СписокЗначений.
В обработчике можно сформировать и передать в этом параметре данные для выбора. При этом параметр <СтандартнаяОбработка> должен быть установлен в Ложь.
В элемент списка значений можно помещать не только конкретное значение, но и структуру.
Анализ значения на предмет того, является ли она структурой или просто значением, используется полем ввода формы клиентского приложения в случаях:
Выбора из списков, возвращаемых событиями поля ввода;
Выбора из списка в поле ввода, содержащегося в свойстве СписокВыбора.
В случае, если в значение элемента списка значений используется Структура, она должна иметь следующий состав свойств:
Значение (Value) – собственно значение (обязательный элемент структуры);
ПометкаУдаления (DeletionMark) – (Булево) содержит признак пометки значения на удаление. Если Истина, то при выборе такого элемента из списка значений выдаст стандартное предупреждение;
Предупреждение (Warning) – (Строка) содержит текст предупреждения, которое будет показано при выборе элемента из списка значений.
<Параметры>
Тип: Структура.
Содержит параметры выбора.
Их можно дополнительно настроить в обработчике события.
Структура, в которой обязательно должны содержаться следующие ключи:
СтрокаПоиска (SearchString) - строка, используемая при поиске данных, Неопределено - осуществляется быстрый выбор;
Отбор (Filter) - отбор, используемый при поиске данных;
ВыборГруппИЭлементов (ChoiceFoldersAndItems) - указывается использование групп и элементов (только для иерархических данных); тип ИспользованиеГруппИЭлементов;
СпособПоискаСтроки (StringSearchMode) - указывается способ поиска при вводе по строке; тип СпособПоискаСтрокиПриВводеПоСтроке.
<СтандартнаяОбработка>
Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события.
Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет.
Значение по умолчанию: Истина.
Описание:
Возникает на сервере перед стандартным формированием списка при вводе по строке, автоподборе текста и быстром выборе.
Доступность:
Сервер.
Замечание:
Безопасный режим на время исполнения данного обработчика будет отключен. Данное замечание не относится к обработчикам событий, расположенным в расширении конфигурации.
Использование в версии:
Доступен, начиная с версии 8.3.3.
Методическая информация
Практические примеры
Свой куб: очистка строки поиска
Точная нативная сигнатура и конкретный собственный источник данных; стандартная обработка не выдаётся за ручной вызов.
Где и как запускать
Модуль менеджера своей таблицы измерения Книги, событие ОбработкаПолученияДанныхВыбора.
Подготовка
Редкий API: нужен собственный настроенный многомерный внешний источник, поддерживаемый платформой. Обычная SQL-таблица не является кубом. Этот урок не устанавливает сервер / транспорт и не создаёт внешнюю базу.
В дереве конфигурации Внешние источники данных создайте УчебнаяАналитика, у него куб ПродажиКниг. В кубе одна таблица измерения Книги с собственными полями КодКниги Строка 40 и НазваниеКниги Строка 100. Сопоставьте их с полями своего реального внешнего измерения.
У куба создайте измерение Книга ссылочного типа этой таблицы и числовой ресурс Количество. В собственном внешнем источнике подготовьте BOOK-001 / Учебная книга / количество 3 и BOOK-002 / Учебная тетрадь / количество 5. Родитель корневых элементов может быть пустым; не подменяйте ссылку строковым кодом.
Параметры соединения и права на чтение своего источника настройте штатно; секреты не вставляйте в пример. Основной код без заголовка — тело кнопки собственной обычной формы в толстом клиенте. Код 1С и внешнее подключение при сборке HTML не выполнялись.
Модуль менеджера своей таблицы измерения Книги, событие ОбработкаПолученияДанныхВыбора.
Для ручной проверки используйте собственное ссылочное поле / стандартную форму своего куба в подходящем клиенте. Это серверное событие: первого параметра Элемент и клиентской директивы в нём нет.
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
Если Параметры.СтрокаПоиска <> Неопределено Тогда
Параметры.СтрокаПоиска = СокрЛП(Параметры.СтрокаПоиска);
КонецЕсли;
Сообщить("Собственная строка поиска очищена от внешних пробелов");
КонецПроцедурыРазбор по шагам
Подготовьте собственный источник и точный модуль менеджера.
Назначьте процедуру соответствующему событию.
Вызовите получение представления / выбора / формы стандартным действием своего клиента.
Как проверить результат
ДанныеВыбора и СтандартнаяОбработка оставлены платформе: сохраняются штатный отбор и права чтения.
При быстром выборе СтрокаПоиска=Неопределено. Код не передаёт это значение в СокрЛП и не формирует список из строк вместо ссылок.
Ожидаемый результат
Событие связано с собственным кубом и понятным изменением параметров / представления.
На что обратить внимание
Состав полей представления и структура Данные должны соответствовать друг другу.
BSL, получение форм и внешняя база при сборке HTML не вызывались.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.