ЭлементПланаГлобальногоПоиска.ИмяПроцедуры

Свойства · ProcedureName

Тип: Строка, Неопределено. Имя экспортируемой процедуры общего модуля Если элемент плана задан стандартным видом поиска, то содержит значение Неопределено. Процедура будет вызвана с параметрами: СтрокаПоиска - тип Строка. Строка. Строка, по которой выполняется поиск. РезультатыПоиска - тип РезультатГлобальногоПоиска. Выходной параметр. Содержит результаты поиска. ДополнительныеПараметры - тип Произвольный. Параметры, заданные в свойстве ДополнительныеПараметры у ЭлементПланаГлобальногоПоиска.

Полное описание, параметры и ограничения

ЭлементПланаГлобальногоПоиска.ИмяПроцедуры (GlobalSearchPlanItem.ProcedureName)

ЭлементПланаГлобальногоПоиска (GlobalSearchPlanItem)

ИмяПроцедуры (ProcedureName)

Доступен, начиная с версии 8.3.15.

Использование:
Только чтение.
Описание:
Тип: Строка, Неопределено.
Имя экспортируемой процедуры общего модуля
Если элемент плана задан стандартным видом поиска, то содержит значение Неопределено.

Процедура будет вызвана с параметрами:
СтрокаПоиска - тип Строка. Строка. Строка, по которой выполняется поиск.

РезультатыПоиска - тип РезультатГлобальногоПоиска. Выходной параметр. Содержит результаты поиска.

ДополнительныеПараметры - тип Произвольный. Параметры, заданные в свойстве ДополнительныеПараметры у ЭлементПланаГлобальногоПоиска.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, внешнее соединение, мобильное приложение (клиент).

Использование в версии:

Доступен, начиная с версии 8.3.15.

Методическая информация

Практические примеры

Прочитать настройки глобального поиска перед экспериментом

Отдельная клиентская команда показывает описание, подсказку и количество маршрутов. Текущий план не редактируется.

Где и как запускать

Полный клиентский обработчик команды ВыполнитьПример собственной управляемой формы. Существующие обработчики не перезаписывайте.

Подготовка

  1. Используйте отдельную пустую учебную конфигурацию УчебнаяКонфигурацияСинтаксиса и учебного пользователя. Не устанавливайте этот поиск в рабочую УТ/КА2/УНФ: пример намеренно оставляет в плане только собственный обработчик.

  2. Создайте общий модуль УчебныйГлобальныйПоиск: Глобальный=Ложь, Клиент (управляемое приложение)=Истина, Сервер=Ложь. Вставьте в него полный код урока собственного обработчика. Он работает только с константами и не обращается к базе.

  3. Создайте собственную управляемую обработку с командами НастроитьУчебныйПоиск, НачатьУчебныйПоиск, ВосстановитьПоиск. Вставьте полный модуль формы из последнего урока и назначьте эти обработчики команд.

  4. Запускайте в поддерживаемом клиенте 8.5.1.1343. Сначала настройте поиск, затем начните, дождитесь результата и восстановите исходные настройки до закрытия формы. Не выполняйте восстановление сразу после НачатьПоиск: он только начинает операцию.

&НаКлиенте
Процедура ВыполнитьПример(Команда)
    Описание = ГлобальныйПоиск.ПолучитьОписание();
    Подсказка = ГлобальныйПоиск.ПолучитьПодсказкуВвода();
    План = ГлобальныйПоиск.ПолучитьПлан();
    Сообщить("Описание: " + Строка(Описание));
    Сообщить("Подсказка: " + Подсказка);
    Сообщить("Маршрутов в плане: " + Строка(План.Количество()));
    Для Каждого Маршрут Из План Цикл
        Если Маршрут.ВидПоиска <> Неопределено Тогда
            Сообщить("Стандартный вид: " + Строка(Маршрут.ВидПоиска));
        Иначе
            Сообщить("Обработчик: " + Маршрут.Модуль + "." + Маршрут.ИмяПроцедуры);
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

Разбор по шагам

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

  2. Описание может быть Строка или ФорматированнаяСтрока: для диагностического показа используем Строка. Пустое описание допустимо.

  3. У стандартного маршрута есть ВидПоиска. У собственного обработчика он Неопределено, зато заданы Модуль и ИмяПроцедуры.

  4. Количество пунктов плана — число видов/обработчиков, не число результатов и не число найденных документов. Не меняем полученный план.

Как проверить результат

  1. Показаны текущие описание и подсказка; каждая строка маршрута соответствует стандартному виду или обработчику учебного приложения.

  2. Поиск не запускается и подсказка не заменяется: в коде только получение настроек.

Ожидаемый результат

Получен снимок текущего плана перед безопасным учебным экспериментом.

На что обратить внимание

  1. Не вызывайте эти методы в серверном общем модуле: менеджер поиска там недоступен.

  2. Имена модулей диагностируйте только в своей учебной базе, не публикуйте внутренние маршруты чужого рабочего приложения.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Подготовить описание собственного обработчика поиска

Настраиваем маршрут к экспортной процедуре и дополнительные параметры. Описание не регистрируется в менеджере и само процедуру не выполняет.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Используйте отдельную учебную базу. В серверном общем модуле УчебныеЗадачи создайте процедуру ВыполнитьПример() Экспорт и вставьте в неё код одного урока. Вызовите её из серверного обработчика собственной учебной обработки.

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

  3. Для трёх уроков избранного создайте в собственной учебной конфигурации два пустых справочника УчебныеКниги и УчебныеАвторы. Учебные ссылки относятся к спискам этих объектов; записи справочников для упражнения не нужны. Право СохранениеДанныхПользователя требуется для использования избранного по справке платформы.

План = Новый ПланГлобальногоПоиска;
Параметры = Новый Структура("Префикс", "guide-");
Обработчик = Новый ЭлементПланаГлобальногоПоиска("НайтиУчебныеКниги", "УчебныйГлобальныйПоиск", Истина, Ложь, 10, Параметры);
План.Добавить(Обработчик);
Найдено = План.Найти("НайтиУчебныеКниги", "УчебныйГлобальныйПоиск");
Если Найдено = Неопределено Тогда
    ВызватьИсключение "Описание обработчика не найдено";
КонецЕсли;
Сообщить(Найдено.ВидПоиска = Неопределено);
Сообщить(Найдено.ИмяПроцедуры = "НайтиУчебныеКниги");
Сообщить(Найдено.Модуль = "УчебныйГлобальныйПоиск");
Сообщить(Найдено.НаСервере);
Сообщить(Найдено.Фоновый = Ложь);
Сообщить(Найдено.Порядок = 10);
Сообщить(Найдено.ДополнительныеПараметры.Префикс = "guide-");

Разбор по шагам

  1. Первые два аргумента — имена экспортной процедуры и общего модуля, не текст BSL для исполнения и не навигационная ссылка.

  2. НаСервере=Истина и Фоновый=Ложь задают маршрут обычного серверного выполнения, если этот план впоследствии установить и запустить. Здесь это только описание.

  3. ДополнительныеПараметры — собственная Структура. Неопределённые поля нельзя без проверки трактовать как структуру в обработчике.

  4. Для реального запуска вручную создайте общий модуль УчебныйГлобальныйПоиск с серверным флагом и процедуру НайтиУчебныеКниги(СтрокаПоиска, РезультатыПоиска, ДополнительныеПараметры) Экспорт. Её самостоятельный полный пример приведён в отдельном уроке.

  5. Конструктор и поиск описания не являются проверкой существования, прав и работоспособности экспортной процедуры.

Как проверить результат

  1. Семь контрольных Истина, включая отсутствие стандартного вида и собственный префикс.

  2. Фоновое задание не создано, процедура по строковому имени не вызывалась, план интерфейса не изменился.

Ожидаемый результат

Подготовлен проверяемый черновик маршрута собственного обработчика.

На что обратить внимание

  1. Не считайте создание описания доказательством исполнения обработчика.

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

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.