1С поиск по конфигурации

1С поиск по конфигурации

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

Полнотекстовый поиск предоставляет следующие возможности:

  • Есть поддержка транслитерации (написание русских слов символами латиницы в соответствии с ГОСТ 7.79-2000). Пример: "русская фраза" = "russkaya fraza".
  • Есть поддержка замещения (написание части символов в русских словах одноклавишными латинскими символами). Пример: "руссrfz фраpf" (окончания каждого слова набраны латиницей, допустим, в результате ошибки оператора).
  • Есть возможность нечеткого поиска (буквы в найденных словах могут отличаться) с указанием порога нечеткости. Пример: указав в строке поиска слово "привет" и нечеткость 17 %, найдем все аналогичные слова с ошибками и без: "привет", "превет", "привед".
  • Есть возможность указать область выполнения поиска по выбранным объектам метаданных.
  • Полнотекстовое индексирование названий стандартных полей ("Код", "Наименование" и т. д.) производится на всех языках конфигурации.
  • Поиск выполняется с учетом синонимов русского, английского и украинского языков.
  • Морфологический словарь русского языка содержит ряд специфических слов, относящихся к областям деятельности, автоматизируемым с помощью системы программ "1С:Предприятие".
  • Стандартно в состав поставляемых словарей включены словарные базы и словари тезауруса и синонимов русского, украинского и английского языков, которые предоставлены компанией "Информатик".
  • Поиск можно осуществлять с использованием подстановочных символов ("*"), а также с указанием поисковых операторов ("И", "ИЛИ", "НЕ", "РЯДОМ") и спецсимволов.

Полнотекстовый поиск можно осуществлять в любой конфигурации на платформе 1С:Предприятие 8

Для того чтобы открыть окно управления полнотекстовым поиском необходимо выполнить следующее:

Обычное приложение — пункт меню Операции — Управление полнотекстовым поиском.

Управляемое приложение — пункт меню Главное меню — Все функции — Стандартные — Управление полнотекстовым поиском.

  • Обновить индекс – Создание индекса/Обновление индекса;
  • Очистить индекс – обнуление индекса(рекомендуется после обновления всех данных);
  • пункт Разрешить слияние индексов – отвечает за слияние основного и дополнительного индекса.

Полнотекстовый поиск осуществляется при помощи полнотекстового индекса. При отсутствии индекса полнотекстовый поиск как таковой не возможен. Для того чтобы поиск имел результат, все необходимые данные должны быть включены в полнотекстовый индекс. Если пользователем введены в базу новые данные, их следует включить в рассматриваемый индекс, иначе они не будут участвовать в поиске. Чтобы этого избежать, необходимо обновлять полнотекстовый индекс. При обновлении система анализирует только определенные типы данных: Строка, Данные ссылочного типа (ссылки на документы, справочники),Число, Дата, ХранилищеЗначения. Если пользователь не имеет прав доступа к определенной информации, то он не сможет увидеть ее в результатах поиска. Следует также помнить и о том, что в свойствах объектов, по которым будет происходить поиск должно быть установлено значение Полнотекстовый Поиск – Использовать, которое задано по умолчанию.

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

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

Читайте также:  Macbook pro 13 описание

Специальные операторы, допустимые при задании поискового выражения

Механизм полнотекстового поиска допускает написание части символов русского слова одноклавишными латинскими символами. Результат поиска при этом не измениться.

Два оператора РЯДОМ

  • упрощенный. На расстоянии 8 слов друг от друга
  • РЯДОМ/[+/-]n – поиск данных в одном реквизите на расстоянии n-1 слов между ними.

Знак указывает в каком направлении от первого слова будет поиск второго. (+ — после, — до)

Групповой символ «*» может использоваться только в качестве замены конца слова

Оператор нечеткости «#». Если неизвестно точное написание названия, имени.

Программными средствами и средствами 1с: программирование.

Оператор синонимов «!». Позволяет найти слово и его синонимы

Как программно обновить индекс полнотекстового поиска?

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

Определение переменной СписокПоиска

Кроме этого в процедуре обработки события ПриОткрыии формы определим, что эта переменная будет содержать список полнотекстового поиска, с помощью которого мы и будем осуществлять поиск в данных

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

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

Создадим в модуле формы процедуру с таким именем и напишем в ней код,

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

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

Теперь необходимо создать обработчики событий нажатия на кнопки ПредыдущаяПорция() и СледующаяПорция().

Заключительным «штрихом» будет создание обработчика события onclick поля HTML-документа, расположенного в форме. Дело в том, что результат полнотекстового поиска, представленный в виде HTML-текста, содержит гиперссылки на номера элементов списка поиска. И нам хотелось бы, чтобы при переходе пользователя на эту ссылку система открывала бы форму того объекта, который содержится в этом элементе списка. Для этого мы будем перехватывать событие onclick HTML-документа, содержащегося в поле HTML-документа, получать номер элемента списка из гиперссылки и открывать форму соответствующего объекта. Текст обработчика события onclick поля HTML-документа представлен в коде

Читайте также:  Fallout shelter зачем нужен хлам

Уважаемые коллеги, прошу помочь.

В пользовательском режиме есть произвольная форма, как эту конкретную форму найти в конфигураторе?

  • Вопрос задан более года назад
  • 501 просмотр

Попробуйте следующий метод:
1. Запускаете клиент в режиме отладки.
2. В режиме 1С Предприяте находите команду, действие, событие, либо что там у вас, после выполнения которого открывается ваша форма.
3. В режиме 1С Конфигуратор указываете следующее Отладка — > Остановить
4. В режиме предприятия выполняете действие открывающее вашу форму.

После проделанного отладчик останавливается на событие, далее идете по строчкам и ищите следующий код, что то вроде ОткрытьФорму("Форма.ВашаФорма");

Либо, если форма уже открыта, то выполняете тоже самое, но непосредственно из формы (выполняете любую команду, событие прямо из вашей искомой формы в пользовательском режиме) и отладчик вас остановит в модуле вашей формы

В большинстве своем делаю именно так. Гораздо быстрее, чем использовать глобальный поиск.


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

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

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

Читайте также:  Транспорт калуга отследить маршрутки

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

Ссылка на основную публикацию
Adblock detector