Меню Закрыть

В каких областях может использоваться глобальный поиск

Содержание

Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.

Реализовано в версии 8.3.15.1489.

В клиентском приложении мы реализовали новый механизм – глобальный поиск. Вместе с этим мы решили изменить интерфейс клиентского приложения. В результате интерфейс стал более простым, и, мы думаем, удобным, а глобальный поиск позволяет не только находить информацию, но и выполнять некоторые действия. Но, обо всем по порядку.

Модернизация интерфейса

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

Первое отличие, которое бросается в глаза – это стандартный заголовок главного окна и отдельная главная панель, содержащая все необходимые инструменты:

Теперь отсутствует такие элементы интерфейса, как «панель инструментов» и «системная командная панель». Всё что нужно для работы, находится в главной панели:

Главное меню содержит, в том числе, и те команды, которые раньше находились в системной командной панели.

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

Также мы изменили внешний вид вспомогательных окон.

Поле поиска, которое находится в главной панели, является основным и единственным интерфейсным элементом нового механизма глобального поиска. Пользователь вводит в это поле «что-то», что он хочет найти или сделать, и платформа показывает результат в списке, раскрывающемся под этим полем.

Глобальный поиск «из коробки»

Новый механизм глобального поиска работает «из коробки», и не требует от вас какой-либо настройки и программирования. В большинстве случаев его стандартное поведение покрывает все необходимые сценарии, а при желании вы можете настроить его на выполнение специфических задач.

Стандартно глобальный поиск работает следующим образом. Например, если пользователь хочет найти всё, в чем встречается некоторая строка, поиск будет выполняться по избранному, истории, …

… а также по меню функций, по обсуждениям и сообщениям системы взаимодействия, по данным (полнотекстовый поиск) и по справке. При этом каждый найденный элемент обозначается соответствующей пиктограммой.

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

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

Кроме поиска механизм позволяет переходить по ссылкам. Это могут быть, например, ссылки на элементы данных. В заголовок управляемой формы мы добавили кнопку получения ссылки.

Один пользователь может скопировать эту ссылку, и послать её другому пользователю.

Другой пользователь просто вставляет её в строку поиска, и сразу может открыть нужный элемент данных.

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

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

При этом поддерживаются все функции работы с числами, которые определены во встроенном языке. Например, возведение в квадрат:

Настройка глобального поиска

Если вы хотите «чего-то особенного» или стандартное поведение глобального поиска вас не устраивает, вы можете настроить его работу под свои задачи.

Читайте также:  Запросите разрешение от network service

Во встроенном языке мы реализовали объектную модель для работы с глобальным поиском. Она позволяет перехватывать многие события глобального поиска и изменять его стандартное поведение.

Перехватить нажатие на найденную ссылку

Например, справочник Товары у вас «особенный». В обычной ситуации для работы с элементами этого справочника вы используете форму ФормаЭлемента. Но когда пользователь находит элементы этого справочника с помощью глобального поиска, вы хотите, чтобы они открывались в другой форме, «особенной».

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

Исключить некоторые виды поиска

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

В этом случае вы можете при начале работы системы настроить менеджер глобального поиска. Менеджер доступен через свойство глобального контекста ГлобальныйПоиск. У менеджера есть план поиска – это коллекция, которая содержит те виды поиска, которые будут выполняться.

Если вы не хотите, чтобы выполнялся поиск в справке, просто удалите этот вид поиска из коллекции.

Добавить собственный вид поиска

Например, у вас есть собственный интернет-ресурс, на котором вы публикуете материалы для пользователей вашего прикладного решения. Вы можете добавить в результаты глобального поиска ссылку, которая покажет пользователю результаты, найденные на вашем сайте.

Для этого, как и в предыдущем примере, вы можете при начале работы системы настроить менеджер глобального поиска. В план поиска первым элементом вы вставите собственный элемент. Алгоритм его работы написан в процедуре ПоискНаИТС(), которая находится в общем модуле МодульГлобальногоПоискаКлиент.

В этой процедуре вы просто формируете URL, содержащий нужные параметры поиска. Затем вы добавляете его в результат глобального поиска.

Когда пользователь наберёт в строке поиска искомое слово, на первом месте он увидит ссылку на ваш интернет-ресурс.

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

Уточнить поиск в данных

Например, пользователи часто ищут приходные накладные по номеру. Вы можете определить, что в поле поиска введен фрагмент номера, выполнить поиск накладной с подходящим номером и показать результаты в начале списка.

Для этого, как и в предыдущем примере, вы можете при начале работы системы настроить менеджер глобального поиска. В план поиска первым элементом вы вставите собственный элемент. Алгоритм его работы написан в процедуре ПоискНакладныхПоНомеру(), которая находится в общем модуле МодульГлобальногоПоискаСервер.

В этой процедуре вы находите накладную с подходящим номером. Затем вы добавляете её в результат глобального поиска, выделяя жирным шрифтом.

Когда пользователь введёт в строке фрагмент номера накладной, в первой строке результатов он увидит подходящую накладную, если такая существует.

Выполнять собственный поиск по псевдокоманде

Например, в вашем прикладном решении довольно частой задачей является поиск товаров по фрагменту артикула. Глобальный поиск «из коробки» справляется с этой задачей, однако возвращает очень много результатов (т.к. ищет везде), и делает это недостаточно быстро (т.к. использует полнотекстовый поиск в данных).

В такой ситуации вы можете выделить задачу поиска по артикулу в отдельный «вид поиска», и реализовать для него собственный алгоритм. Допустим, вы решили поступить следующим образом: если пользователь хочет найти товар по фрагменту артикула, то первым символом в поисковую строку он должен ввести «№», а затем тот фрагмент артикула, который он ищет. Например: №2.

После этого вы можете воспользоваться событием ПриГлобальномПоиске(). Это событие возникает тогда, когда в процессе набора текста в поле поиска сделана пауза. Это событие вы можете обработать в модуле приложения.

Если в строке поиска первый символ «№», вы удаляете все элементы из плана поиска и добавляете свой собственный элемент. Алгоритм его работы написан в процедуре ПоискПоАртикулу(), которая находится в общем модуле МодульГлобальногоПоискаСервер.

Читайте также:  Как переконвертировать файл pdf в jpg

Сам алгоритм поиска по артикулу заключается в том, что запросом вы получаете только те товары, в артикуле которых содержится искомый фрагмент строки. Затем в результат глобального поиска вы добавляете собственные элементы. Каждый из них содержит ссылку на найденный товар и представление, в котором выделен тот фрагмент, который пользователь ищет.

Чтобы быстро получить такое представление, вы можете использовать функцию СтрВыделитьОформлением(). В первом параметре вы передаёте ей ту строку, которую будете показывать, а во втором параметре – тот фрагмент, который надо выделить в этой строке.

В результате, когда пользователь введёт в строку поиска «№2», он быстро получит список только тех товаров, у которых в артикуле есть «2». Если пользователь не будет вводить «№» первым символом в поисковую строку, глобальный поиск будет работать как обычно, «из коробки».

Дополнить описание поиска новыми возможностями

Например, вы добавили в глобальный поиск возможность поиска по артикулу. Но не все сотрудники знают, как этим воспользоваться.

Глобальный поиск имеет описание, которое открывается по ссылке «Что искать». Вы можете добавить в него свою подсказку.

Для этого вам снова понадобится менеджер глобального поиска.

В результате пользователь увидит такое описание:

Кроме описания вы можете установить и собственную подсказку ввода, которая будет отображаться в пустом поле поиска. Для этого у менеджера глобального поиска существует метод УстановитьПодсказкуВвода().

Заключение

В этой статье мы описали только некоторые, наиболее простые возможности настройки глобального поиска. На самом деле с помощью этого механизма и своей фантазии вы можете заставить глобальный поиск не только искать данные, но и выполнять команды.

Например, если пользователь вводит «+» это значит, что он хочет добавить новые данные. В ответ на это вы можете предлагать ему список тех объектов, которые он может создать. Или, если в результатах поиска есть ссылка на товар, вы можете в результаты поиска добавлять ссылку, по которой автоматически выполнится отчёт «Остатки товаров» по этому товару.

вызываемый из пункта меню «Правка» конфигуратора?

  1. Основная конфигурация и конфигурация базы данных с возможностью ограничения определёнными объектами
  2. Во внешних файлах с поддерживаемым расширением *.txt;*.mxl;*.cf;*.epf
  3. Во внешних файлах с поддерживаемым расширением *.doc; *.xls
  4. Верны все указанные ответы
  5. Верны ответы 1 и 2


В поле Искать этого диалога следует ввести образец для поиска или выбрать один из образцов, которые были использованы ранее в операциях поиска из списка истории.
В поле Заменить нужно ввести текст, на который следует произвести замену найденного текста, или выбрать один из образцов, которые были использованы ранее в операциях замены из списка истории.
Чтобы различать при поиске прописные и строчные буквы, требуется установить флажок Учитывать регистр . При установленном флажке Искать слово целиком будут найдены только целые слова, а не части слов.
Если не требуется открытия редакторов при групповой замене (по кнопке Заменить все), то нужно установить флажок Не открывать редакторы при групповой замене. При любом состоянии флажка редактор будет открываться при нажатии клавиши Искать или
Заменить .
Ниже расположена панель, на закладках которой указывается, где следует искать указанный образец.

На закладке Типы текстов помечаются типы объектов, в которых будет произведен поиск. Если конфигурация редактируется для режима запуска Управляемое приложение , то из списка объектов будут исключены пользовательские интерфейсы.

На закладке Конфигурации можно указать с точностью до объекта разделы конфигураций, в которых будет произведен поиск. В список конфигураций помимо основной включается конфигурация базы данных, конфигурации хранилища, конфигурации расширений (если они открыты) и конфигурации расширений, сохраненных в базу данных (для открытых расширений). Конфигурации хранилища должны быть открыты перед вызовом режима поиска или замены. Конфигурации базы данных (основной и расширений) доступны только в случае использования глобального поиска.
Для указания набора объектов нужно установить переключатель Выбранные объекты и пометить те объекты, в которых будет произведен поиск. При первом запуске в списке по умолчанию установлены пометки всех объектов. Чтобы снять установку, следует
снять флажок в строке с наименованием конфигурации. Затем можно указывать конкретные объекты для поиска.

Читайте также:  Почему медленно качает на флешку

На закладке Файлы можно указать каталог и типы файлов, в которых может производиться поиск. Могут быть просмотрены следующие типы просматриваемых файлов: конфигурации, расположенные в файлах (сохраненные, файлы поставки), внешние отчеты и обработки, текстовые и табличные документы. Если каталог не указан (реквизит Каталог не заполнен), то поиск в файлах не осуществляется. Поиск может также производиться в открытых документах тех же типов. Для этого следует установить флажок Искать в
открытых документах.
Выбранную совокупность настроек можно сохранить для дальнейшего использования. Для этого в поле Область поиска нужно указать имя настройки. Для использования прежней настройки достаточно выбрать имя настройки в выпадающем списке. Сохраняются
следующие настройки: настройки на закладке Типы текстов, состав объектов только для основной конфигурации на закладке Конфигурации и настройки на закладке Файлы .
Если был запущен режим поиска, то для начала поиска нужно нажать кнопку Искать.
В режиме глобального поиска можно прервать процесс нажатием Ctrl + Break.
На экран в окно Результаты поиска будет выведен список найденных вхождений исходного текста.
Если какой-либо модуль имеет ограничение доступа (см. здесь), то перед поиском исходного текста в данном модуле система запрашивает пароль доступа. Необходимо ввести правильный пароль или отказаться от ввода пароля. Если пароль не введен, то
просмотр в данном модуле не производится.
Результат поиска можно просмотреть, а к каждому найденному значению можно перейти, если выбрать в результате поиска нужную строчку и нажать клавишу Enter. Для просмотра следующего или предыдущего найденного значения можно воспользоваться пунктами
Действия – Следующая позиция и Действия – Предыдущая позиция.
Результат поиска (весь список) можно запомнить в буфер обмена с помощью команды Копировать контекстного меню окна или с помощью соответствующей кнопки панели инструментов окна результатов поиска, а также вывести в табличный или текстовый
документ.
Ширину колонок можно изменить стандартным приемом – с помощью указателя мыши при нажатой клавише Ctrl.
Если был запущен режим замены, то в поле На текст указывается образец текста, на который следует заменить исходный текст, указанный в поле Заменить .
Если перед заменой требуется посмотреть исходный текст, то для начала поиска следует нажать кнопку Искать . На экран выводится результат первого найденного исходного текста. Если снова нажать кнопку Искать , то текущий текст будет пропущен и на экран будет выведено очередное вхождение исходного текста в текущем окне или другое окно, содержащее исходный текст.
Групповая замена (без подтверждения каждой замены) будет выполнена при нажатии на кнопку Заменить все . Если в этом случае не требуется открытия объектов, в которых обнаружено вхождение исходного текста, то следует установить флажок Не открывать
редакторы при групповой замене.
ВНИМАНИЕ! Во время просмотра результатов поиска изменить условия поиска нельзя.
Структура выбора области поиска (типы текста, список объектов конфигураций, файлов и открытые документы) запоминается и при следующем открытии диалога восстанавливается. Если требуется сохранить несколько областей, то каждой области в реквизите Область поиска нужно присвоить имя. При повторном открытии окна поиска в списке областей достаточно выбрать нужную и выполнить поиск.

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.