Как устроены глобальный поиск и новый интерфейс в 1С:Предприятие 8.3?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

С выходом обновлений платформы 1С:Предприятие 8.3 разработчики и пользователи получили доступ к радикально новому инструменту — глобальному поиску. Этот механизм призван стать единой точкой входа для навигации по всей системе. В данной статье мы подробно разберем, как работает эта технология, как программист может ее расширить и какие изменения в интерфейсе стоит учитывать при переходе на новые версии платформы.

Концепция «Omnibox» в 1С:Предприятие

Проанализируем основную идею нововведения. Глобальный поиск в 1С фактически реализует концепцию «Omnibox», знакомую нам по современным браузерам. Теперь одна поисковая строка в заголовке приложения выполняет сразу несколько функций. Разберем, что именно система ищет «из коробки»:

  1. Команды и меню: быстрый вызов функций, поиск нужного отчета или обработки по названию.
  2. Объекты метаданных: переход к спискам документов, справочникам или регистрам.
  3. Данные базы: поиск по конкретным записям (номеру накладной, наименованию контрагента) через механизм полнотекстового поиска (ППД).
  4. Избранное и история: мгновенный доступ к недавно открытым объектам.
  5. Справка: поиск информации в локальной или облачной справочной системе.

Важным аспектом является умное распознавание. Система поддерживает «размытое» сопоставление, что позволяет находить данные даже при наличии опечаток (например, «отчт» вместо «отчет»). Также реализована автоматическая смена раскладки клавиатуры, что значительно повышает удобство работы пользователя.

Программное расширение поиска через МенеджерГлобальногоПоиска

Выясним, как разработчик может кастомизировать результаты поиска. Платформа предоставляет мощный объект МенеджерГлобальногоПоиска, который позволяет интегрировать в общую выдачу практически любые данные. Для этого в модуле управляемого приложения предусмотрено событие ПриГлобальномПоиске.

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


Процедура ПриГлобальномПоиске(СтрокаПоиска, ПланРезультатов)
    
    // Создаем новую область поиска
    НоваяОбласть = ПланРезультатов.Добавить();
    НоваяОбласть.Заголовок = "Результаты на корпоративном сайте";
    
    // Формируем результат в виде гиперссылки
    Результат = НоваяОбласть.Элементы.Добавить();
    Результат.Значение = "https://mysite.ru/search?q=" + СтрокаПоиска;
    Результат.Текст = "Найти '" + СтрокаПоиска + "' на портале";
    Результат.Роль = РольЭлементаРезультатаГлобальногоПоиска.Гиперссылка;
    
КонецПроцедуры

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

Влияние на производительность и механизм ППД

Многих специалистов волнует вопрос: не замедлит ли глобальный поиск работу системы? Разберем технические нюансы производительности. Поиск в 1С работает асинхронно. Это означает, что при вводе каждого символа основной интерфейс не блокируется. Система отправляет фоновые запросы, и результаты подгружаются в выпадающий список по мере готовности.

Однако стоит помнить, что поиск по данным напрямую зависит от индекса полнотекстового поиска (ППД). Если в информационной базе ППД отключен или индекс не актуален, глобальный поиск будет выдавать только команды и объекты метаданных. Рассмотрим основные рекомендации по поддержке производительности:

  1. Регламентное обновление: необходимо настроить частое обновление индекса ППД (через РегламентныеЗадания).
  2. Контроль объема: полнотекстовый поиск может потреблять значительное дисковое пространство и ресурсы процессора при индексации огромных текстовых полей.
  3. Параллелизм: на уровне платформы поиск выполняется параллельно основным процессам, что позволяет задействовать многоядерные системы более эффективно.

Модернизация интерфейса: борьба за рабочее пространство

С введением глобального поиска изменился и внешний вид клиентского приложения. В первых версиях (например, 8.3.13) пользователи отмечали потерю полезной площади экрана из-за появления дополнительной панели заголовка. Рассмотрим, как платформа эволюционировала в этом направлении.

В более свежих версиях (начиная с 8.3.15) был внедрен компактный режим интерфейса. Он позволяет объединить заголовок приложения и панель разделов. Проанализируем, как это влияет на эргономику:

Практические советы для системных администраторов

Если в вашей организации пользователи жалуются на то, что глобальный поиск мешает работе или «тормозит» компьютер при случайном нажатии, разберем способы управления этой функцией. Платформа позволяет гибко настраивать доступность поиска:

  1. Отключение через настройки: в параметрах интерфейса пользователь может убрать строку поиска из заголовка.
  2. Ограничение областей: программно можно ограничить, по каким именно объектам будет производиться поиск для разных ролей пользователей. Это делается для снижения нагрузки на сервер в высоконагруженных (Highload) системах.
  3. Контекстное использование: научите пользователей использовать поиск для быстрого перехода по номеру документа. Например, ввод номера «0000123» сразу предложит открыть соответствующую накладную, минуя открытие списка документов и установку фильтров.

Подводя итог, можно сказать, что глобальный поиск — это не просто косметическое изменение интерфейса, а глубокая технологическая модернизация. Переход на обновленный C++ позволил реализовать асинхронные механизмы, которые делают работу в 1С более похожей на взаимодействие с современными веб-сервисами. Несмотря на споры о дизайне, функциональные возможности по интеграции внешних ресурсов и быстрому доступу к данным через МенеджерГлобальногоПоиска открывают перед разработчиками новые горизонты в создании удобных бизнес-приложений.

← На главную