Справочники и Данные · 10 мин
Как искать по названию в 1С: все рабочие способы
Как искать по названию в 1С: строка поиска в списках, поиск по подстроке, полнотекстовый поиск, отборы и поиск ссылок. Инструкции для пользователей и разработчиков.
Поиск по названию — самая частая операция при работе со справочниками «Номенклатура», «Контрагенты», «Физические лица» и списками документов. В 1С есть несколько механизмов поиска, и они ведут себя по-разному: строка поиска в форме списка, отбор по подстроке, полнотекстовый поиск по всей базе и программный поиск через запрос. Неправильный выбор способа часто приводит к ситуации, когда «элемент точно есть, но не находится».
Основная причина «невидимых» элементов — различие между поиском с начала строки и поиском по подстроке. По умолчанию строка поиска в форме списка ищет вхождение в любом месте наименования, но в некоторых конфигурациях и режимах настроен поиск по началу строки. Кроме того, поиск может не срабатывать из-за скрытых отборов, ограничений прав доступа или выключенного полнотекстового индекса.
Ниже разобраны все практические способы: от быстрого поиска в форме списка до запроса на встроенном языке, а также типичные ошибки и способы проверить, почему элемент не находится.
Быстрый поиск в форме списка справочника
Откройте нужный справочник, например «Номенклатура» или «Контрагенты». В верхней части формы списка есть поле поиска — введите туда часть названия и нажмите Enter. Список автоматически отфильтруется, и останутся только элементы, в наименовании которых встречается введённый фрагмент.
Тот же результат даёт сочетание клавиш Ctrl+F при открытом списке: появится диалог поиска, где можно указать строку и направление поиска. В управляемых формах современных конфигураций (1С:Бухгалтерия, 1С:Управление торговлей, 1С:ERP) поле поиска работает по принципу «содержит» — регистр букв значения не имеет.
Если справочник иерархический, обратите внимание на режим отображения: в режиме «Дерево» найденный элемент может оказаться внутри свёрнутой группы. Переключите вид в «Список» или «Иерархический список», чтобы видеть все найденные элементы без вложенности.
- 1Откройте справочник или журнал документов
- 2Введите часть названия в поле поиска вверху списка
- 3Нажмите Enter и проверьте отфильтрованный список
- 4Если справочник иерархический — переключите вид в «Список»
- 5Чтобы сбросить поиск, очистите поле или нажмите крестик в нём
Поиск через отбор «Наименование содержит»
Когда строки поиска недостаточно — например, нужно найти элементы по нескольким условиям сразу — используйте настройку отбора. В форме списка нажмите «Ещё» → «Настроить список» (в некоторых конфигурациях — кнопка «Отбор» или Ctrl+E). Добавьте условие: поле «Наименование», вид сравнения «Содержит», значение — искомый фрагмент.
Отбор гибче строки поиска: можно комбинировать условия по наименованию, артикулу, группе, дате и признаку пометки удаления. Например, найти все позиции, где наименование содержит «кабель», а в поле «Артикул» содержится «ВВГ». Такие комбинации в строке быстрого поиска не задать.
Помните, что установленный отбор сохраняется при закрытии формы. Если на следующий день список «опустел», первым делом проверьте, не остался ли активным вчерашний отбор — его видно по подсвеченной панели отбора или надписи над списком.
Полнотекстовый поиск по всей базе
Если вы не помните, где именно упоминалось название — в справочнике, документе или комментарии — используйте полнотекстовый поиск. Он запускается сочетанием Ctrl+Shift+F или через меню «Операции» → «Полнотекстовый поиск» (в типовых конфигурациях также доступен из раздела «Администрирование»).
Полнотекстовый поиск ищет по всем текстовым данным информационной базы: наименованиям, описаниям, комментариям, содержимым табличных частей. Результат выводится списком с указанием объекта, в котором найдено совпадение, и фрагментом текста. Двойной щелчок открывает найденный объект.
Важное ограничение: поиск работает только при включённом полнотекстовом индексе. Если поиск не запускается или система сообщает, что индекс устарел, администратору нужно включить и обновить индекс: «Администрирование» → «Полнотекстовый поиск» → включить использование и обновить индекс. В файловых базах обновление выполняется вручную или по расписанию, в клиент-серверных — может выполняться автоматически.
Поиск при вводе в поле документа
Отдельный сценарий — подбор элемента по названию при заполнении документа, например выбор номенклатуры в строке счёта или накладной. Начните вводить название прямо в поле: система покажет выпадающий список подходящих элементов. Режим поиска при вводе настраивается в конфигурации — обычно это поиск по подстроке, но может быть установлен поиск по началу строки.
Если подсказка не появляется или находит не то, откройте форму выбора кнопкой справа от поля (или клавишей F4) и ищите уже в полноценной форме списка со строкой поиска и отборами. В форме выбора доступны те же инструменты, что и в обычном списке справочника.
Полезный приём: в поле ввода многие конфигурации позволяют искать не только по наименованию, но и по коду, артикулу или штрихкоду. Если по названию позиция не находится, попробуйте ввести артикул — он короче и точнее.
Как выбрать способ поиска
Поиск по названию программно: запрос и методы платформы
Для разработчиков и при автоматизации поиск по наименованию выполняется запросом с оператором ПОДОБНО. Пример: выбрать все элементы справочника «Номенклатура», где наименование содержит заданный фрагмент.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка,
| Номенклатура.Наименование
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Наименование ПОДОБНО &Фрагмент
| И НЕ Номенклатура.ПометкаУдаления";
Запрос.УстановитьПараметр("Фрагмент", "%" + СтрокаПоиска + "%");
Результат = Запрос.Выполнить().Выбрать();Спецсимволы процента по краям параметра означают поиск вхождения в любом месте строки. Если фрагмент задаёт пользователь, экранируйте служебные символы (%, _, [ ]) — иначе запрос вернёт лишние результаты или ошибку.
Для поиска точного соответствия есть метод НайтиПоНаименованию() менеджера справочника: Справочники.Номенклатура.НайтиПоНаименованию(Наименование, Истина). Второй параметр — поиск по точному соответствию. Учтите, что метод ищет без учёта регистра только в пределах настроек СУБД и не находит частичные совпадения — для «содержит» нужен именно запрос с ПОДОБНО.
Поиск запросом с ПОДОБНО по большому справочнику без индекса по наименованию может выполняться заметно долго. Если поиск по части названия нужен пользователям постоянно, лучше использовать встроенные механизмы формы списка и полнотекстовый поиск, а не произвольные запросы в цикле.
Почему элемент не находится: проверка и типичные ошибки
Если поиск по названию не даёт результата, хотя элемент должен существовать, проверяйте причины в порядке вероятности. Сначала — активные отборы и остаток текста в поле поиска. Затем — пометку удаления: помеченные элементы часто скрыты отбором по умолчанию. Дальше — права доступа: при ограничении на уровне записей (RLS) элемент существует, но недоступен конкретному пользователю.
Ещё одна причина — лишние пробелы, неразрывные пробелы или опечатки в самом наименовании. Попробуйте искать по короткому уникальному фрагменту из середины слова. Если элемент создавался копированием, в начале наименования мог остаться пробел — поиск по началу строки такой элемент не найдёт.
Как проверить результат поиска
Показаны элементы, содержащие фрагмент в наименовании
Список пуст, хотя элемент точно есть — проверьте отборы
Отборы сняты или соответствуют задаче
Активен старый отбор, сужающий выборку
Находит объекты, включая недавно созданные
Не находит свежие данные — индекс устарел, нужно обновить
Форма элемента открывается без ошибок
Ошибка доступа — ограничение прав, обратитесь к администратору
Частые вопросы
Поиск в списке ищет только с начала названия. Как искать по любой части?
Режим поиска определяется настройками динамического списка и конфигурации. Надёжный обходной путь — отбор «Наименование содержит» через «Ещё» → «Настроить список»: он всегда ищет вхождение в любом месте строки независимо от настроек строки поиска.
Можно ли искать по названию сразу в нескольких справочниках?
Штатно — через полнотекстовый поиск (Ctrl+Shift+F): он охватывает все объекты базы, включённые в индекс. В результатах будет видно, в каком справочнике или документе найдено совпадение. Отдельного «сквозного» поиска только по наименованиям справочников в типовых конфигурациях нет.
Почему Ctrl+F в списке ничего не находит, а через отбор элемент виден?
Чаще всего дело в режиме поиска строки (по началу строки вместо «содержит») или в том, что поиск выполняется по другой колонке. Проверьте, какая колонка активна в списке, и используйте отбор по конкретному полю «Наименование».
Как найти элемент, помеченный на удаление?
Снимите стандартный отбор, скрывающий помеченные: «Ещё» → «Настроить список» и удалите условие по пометке удаления, либо добавьте условие «Пометка удаления = Да». После этого поиск по названию покажет и помеченные элементы.
Полнотекстовый поиск отключён. Кто может его включить?
Включение и обновление полнотекстового индекса требует административных прав. В типовых конфигурациях это делается в разделе «Администрирование» → «Полнотекстовый поиск». Если прав нет — обратитесь к администратору базы, а до включения пользуйтесь поиском в формах списков и отборами.
Как в запросе искать по названию без учёта регистра?
Оператор ПОДОБНО в большинстве используемых с 1С СУБД (MS SQL, PostgreSQL с настройками по умолчанию для 1С) нечувствителен к регистру. Если требуется гарантированное совпадение, можно привести обе стороны к одному регистру через ВРЕГ/НРЕГ в выражении запроса, но это отключает использование индекса и замедляет выборку.
Что важно запомнить
Для быстрого поиска по названию используйте поле поиска в форме списка, для сложных условий — отбор «Наименование содержит», для поиска по всей базе — полнотекстовый поиск (Ctrl+Shift+F). Если элемент не находится, в первую очередь снимите отборы, проверьте пометку удаления и права доступа.