Представляет собой коллекцию результатов глобального поиска.
Полное описание, параметры и ограничения
РезультатГлобальногоПоиска (GlobalSearchResult)
РезультатГлобальногоПоиска (GlobalSearchResult)
Доступен, начиная с версии 8.3.15.
Элементы коллекции:
ЭлементРезультатаГлобальногоПоиска
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы.
Возможно обращение к элементам посредством оператора [...]. В качестве аргумента передается индекс элемента (нумерация с 0).
Методы:
Вставить (Insert)
Добавить (Add)
Индекс (IndexOf)
Количество (Count)
Найти (Find)
Очистить (Clear)
Получить (Get)
Удалить (Delete)
Конструкторы:
По умолчанию
Описание:
Представляет собой коллекцию результатов глобального поиска.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент).
См. также:
ЭлементПланаГлобальногоПоиска, свойство ИмяПроцедуры
Использование в версии:
Доступен, начиная с версии 8.3.15.
Методическая информация
Практические примеры
Написать работающий учебный обработчик поиска по двум карточкам
Полная экспортная процедура фильтрует Книгу и Ручку по строке поиска. Отдельная процедура проверяет результат без настройки интерфейса.
Где и как запускать
Полный код клиентского неглобального общего модуля УчебныйГлобальныйПоиск. Не вставляйте его внутрь обработчика формы и не ставьте Сервер вместо клиентского флага.
Подготовка
Используйте отдельную пустую учебную конфигурацию УчебнаяКонфигурацияСинтаксиса и учебного пользователя. Не устанавливайте этот поиск в рабочую УТ/КА2/УНФ: пример намеренно оставляет в плане только собственный обработчик.
Создайте общий модуль УчебныйГлобальныйПоиск: Глобальный=Ложь, Клиент (управляемое приложение)=Истина, Сервер=Ложь. Вставьте в него полный код урока собственного обработчика. Он работает только с константами и не обращается к базе.
Создайте собственную управляемую обработку с командами НастроитьУчебныйПоиск, НачатьУчебныйПоиск, ВосстановитьПоиск. Вставьте полный модуль формы из последнего урока и назначьте эти обработчики команд.
Запускайте в поддерживаемом клиенте 8.5.1.1343. Сначала настройте поиск, затем начните, дождитесь результата и восстановите исходные настройки до закрытия формы. Не выполняйте восстановление сразу после НачатьПоиск: он только начинает операцию.
Процедура НайтиУчебныеКниги(СтрокаПоиска, РезультатыПоиска, ДополнительныеПараметры) Экспорт
Искомое = НРег(СокрЛП(СтрокаПоиска));
Если ПустаяСтрока(Искомое) Тогда
Возврат;
КонецЕсли;
Префикс = "guide-";
Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура") Тогда
ПереданныйПрефикс = Неопределено;
Если ДополнительныеПараметры.Свойство("Префикс", ПереданныйПрефикс) Тогда
Если ТипЗнч(ПереданныйПрефикс) <> Тип("Строка") Тогда
ВызватьИсключение "Префикс должен быть строкой";
КонецЕсли;
Префикс = ПереданныйПрефикс;
КонецЕсли;
КонецЕсли;
Если СтрНайти(НРег("Книга"), Искомое) > 0 Тогда
РезультатыПоиска.Добавить(Префикс + "book", "Книга", Новый Картинка, "УчебныеКниги", "Учебный экземпляр: количество 3");
КонецЕсли;
Если СтрНайти(НРег("Ручка"), Искомое) > 0 Тогда
РезультатыПоиска.Добавить(Префикс + "pen", "Ручка", Новый Картинка, "УчебныеКниги", "Учебный экземпляр: количество 1");
КонецЕсли;
КонецПроцедуры
Процедура ПроверитьУчебныйПоиск() Экспорт
Результаты = Новый РезультатГлобальногоПоиска;
НайтиУчебныеКниги(" КНИ ", Результаты, Новый Структура("Префикс", "guide-"));
Сообщить(Результаты.Количество() = 1);
Книга = Результаты.Найти("guide-book");
Если Книга = Неопределено Тогда
ВызватьИсключение "Тест учебной книги не прошёл";
КонецЕсли;
Сообщить(Книга.Представление = "Книга");
ПустойПоиск = Новый РезультатГлобальногоПоиска;
НайтиУчебныеКниги(" ", ПустойПоиск, Неопределено);
Сообщить(ПустойПоиск.Количество() = 0);
Ручки = Новый РезультатГлобальногоПоиска;
НайтиУчебныеКниги("руч", Ручки, Неопределено);
Сообщить(Ручки.Найти("guide-pen") <> Неопределено);
КонецПроцедурыРазбор по шагам
Сигнатура экспортной процедуры точно соответствует обработчику элемента плана: СтрокаПоиска, РезультатыПоиска, ДополнительныеПараметры. Выходная коллекция дополняется, не заменяется новой.
СокрЛП убирает края, НРег делает регистронезависимую проверку. Ищем подстроку в двух собственных названиях, не используем SQL, полнотекстовый индекс или бизнес-остатки.
Пустая строка возвращает ноль собственных результатов. Параметр Префикс необязателен, но при наличии обязан быть строкой; проверка Свойство предшествует использованию.
ПроверитьУчебныйПоиск создаёт отдельную коллекцию для каждого запроса. Вызовите её из клиентского обработчика собственной формы: УчебныйГлобальныйПоиск.ПроверитьУчебныйПоиск().
Это минимальный собственный поиск с реальными платформенными карточками, а не поиск настоящего товара в одной из предоставленных конфигураций.
Как проверить результат
Четыре проверки дают Истина: КНИ находит Книгу, пробелы ничего не находят, руч находит Ручку.
Замените Префикс на Число: процедура выдаёт объясняющую ошибку типа, не формирует некорректный ключ.
Ожидаемый результат
Подготовлен полный обработчик с проверками и детерминированными собственными результатами.
На что обратить внимание
Не заменяйте существующий план рабочего поиска одним учебным обработчиком.
Этот учебный фильтр не заменяет полнотекстовый поиск с правами, ранжированием и поиском по реальным данным.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Собрать карточку результата поиска для учебной книги
Разделяем внутренний идентификатор, представление, описание, вид поиска и картинку. Карточка создаётся вручную, а не выдаётся за результат запроса базы.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Используйте отдельную учебную базу. В серверном общем модуле УчебныеЗадачи создайте процедуру ВыполнитьПример() Экспорт и вставьте в неё код одного урока. Вызовите её из серверного обработчика собственной учебной обработки.
Каждый урок создаёт новую коллекцию в памяти. Код не загружает и не сохраняет избранное пользователя, не заменяет план ГлобальныйПоиск, не запускает поиск, не открывает ссылку и не читает рабочие документы.
Для трёх уроков избранного создайте в собственной учебной конфигурации два пустых справочника УчебныеКниги и УчебныеАвторы. Учебные ссылки относятся к спискам этих объектов; записи справочников для упражнения не нужны. Право СохранениеДанныхПользователя требуется для использования избранного по справке платформы.
Карточка = Новый ЭлементРезультатаГлобальногоПоиска("guide-book", "Книга", Новый Картинка, "УчебныеКниги", "Учебный экземпляр, количество 3");
Сообщить(Карточка.Значение = "guide-book");
Сообщить(Карточка.Представление = "Книга");
Сообщить(Карточка.Описание = "Учебный экземпляр, количество 3");
Сообщить(Карточка.ВидПоиска = "УчебныеКниги");
Сообщить(ТипЗнч(Карточка.Картинка) = Тип("Картинка"));
Сообщить(Карточка.Действия.Количество() = 0);
Результаты = Новый РезультатГлобальногоПоиска;
Результаты.Добавить(Карточка);
Сообщить(Результаты.Количество() = 1);Разбор по шагам
Значение guide-book — собственный ключ. Представление Книга служит для показа, но не становится уникальным идентификатором.
ВидПоиска допускает строку для собственного поиска. Она не является автоматически зарегистрированным стандартным видом.
Пустая Картинка — настоящий платформенный объект без графического ресурса. Проверяем его тип, не обещая видимый значок.
Действия — доступная только для чтения ссылка на коллекцию: свойство не переназначаем. Сама коллекция позволяет добавлять действия в отдельном уроке.
Как проверить результат
Все семь логических проверок дают Истина; создан один результат без действий.
Не открываются карточки настоящих товаров и не запускается ГлобальныйПоиск: массив результатов заполнен собственными константами.
Ожидаемый результат
Подготовлена полноценная типизированная карточка результата с разделёнными полями.
На что обратить внимание
Конструирование карточки не доказывает поиск в базе и не проверяет права на настоящий товар.
Не храните ключи доступа в Значение, Описание или пользовательском представлении результата.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.