К статье
Практический материал

Справочники и Данные · 10 мин

Как в 1С 8 искать по наименованию

Как в 1С 8 искать по наименованию: поиск в списках, полнотекстовый поиск, отборы и обработка запросом. Пошаговые инструкции, ограничения и ответы на частые вопросы.

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

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

Материал ориентирован на пользователей управляемых форм (интерфейс «Такси»), но большинство приёмов работает и в обычных формах, а программные примеры актуальны для любого режима.

Быстрый поиск в форме списка справочника

Откройте нужный справочник, например «Номенклатура» или «Контрагенты». В верхней части формы списка есть поле поиска — введите туда часть наименования и нажмите Enter. Платформа выполнит поиск по подстроке и покажет только подходящие элементы. Чтобы сбросить результат, очистите поле или нажмите крестик рядом с ним.

Альтернатива — комбинация Ctrl+F: откроется диалог «Найти», где можно выбрать колонку (например, «Наименование»), указать искомое значение и вариант сравнения — «по точному совпадению», «по началу строки» или «по части слова». Кнопки «Найти следующий» и «Найти предыдущий» позволяют перемещаться между совпадениями.

Если справочник иерархический и элемент лежит внутри группы, быстрый поиск всё равно найдёт его — платформа временно показывает результат плоским списком. Если же поиск ничего не вернул, проверьте, не стоит ли в списке ранее установленный отбор, который скрывает часть элементов.

Порядок действий
  1. 1
    Откройте форму списка нужного справочника
  2. 2
    Введите часть наименования в поле поиска и нажмите Enter
  3. 3
    Если результатов нет — нажмите Ctrl+F и попробуйте поиск «по части слова»
  4. 4
    Проверьте и сбросьте ранее установленные отборы списка
  5. 5
    Для возврата к полному списку очистите поле поиска

Полнотекстовый поиск по всей базе

Когда неизвестно, в каком именно справочнике или документе находится искомое наименование, используйте полнотекстовый поиск. В интерфейсе «Такси» он вызывается через значок лупы в правом верхнем углу главного окна или через раздел «Все функции → Стандартные → Полнотекстовый поиск».

Введите слово или фразу — система найдёт совпадения во всех объектах, включённых в полнотекстовый индекс: справочниках, документах, комментариях. Поддерживаются операторы: кавычки для точной фразы, знак «» для поиска по маске (например, «насос» найдёт «насос», «насосная», «насосы»), «|» для логического «или».

Важное ограничение: полнотекстовый поиск работает только при включённом индексе. Проверить и включить его может пользователь с правами администратора: раздел «Администрирование → Обслуживание → Полнотекстовый поиск» (в типовых конфигурациях) или «Все функции → Стандартные → Управление полнотекстовым поиском». Если индекс устарел, новые элементы не будут находиться — требуется обновление индекса.

Отбор списка по условию на наименование

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

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

Отбор удобно сохранить: в типовых конфигурациях есть кнопка «Сохранить настройки» — настроенный вариант списка будет доступен одним кликом. Это полезно, например, для менеджеров, которые ежедневно работают с товарами одного поставщика, отбирая их по префиксу в наименовании.

Сравнение вариантов

Строка поиска в списке

Подходит для разового быстрого поиска; не сохраняется между сеансами

Полнотекстовый поиск

Ищет сразу по всей базе; требует включённого и актуального индекса

Настройка списка (отбор)

Подходит для регулярной работы с выборкой; действует только внутри конкретного списка

Запрос с ПОДОБНО

Для программной обработки и отчётов; требует навыков встроенного языка

Поиск при выборе значения в поле ввода

Отдельный сценарий — поиск по наименованию при заполнении документа. Когда курсор стоит в поле выбора (например, «Контрагент» в счёте), начните вводить наименование: платформа автоматически покажет выпадающий список подходящих значений. Это механизм «строки поиска» — по умолчанию поиск идёт по началу наименования, а в управляемых формах обычно настроен и поиск по подстроке.

Если автоподбор не срабатывает, нажмите F4 или кнопку выбора — откроется форма выбора справочника, где работают те же поле поиска и Ctrl+F. Найденный элемент подставится в документ двойным кликом или кнопкой «Выбрать».

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

Программный поиск по наименованию

Для разработчиков и продвинутых пользователей поиск по наименованию выполняется запросом с оператором ПОДОБНО или методом НайтиПоНаименованию. Метод ищет точное совпадение и возвращает ссылку на элемент; для поиска по части наименования нужен запрос.

bsl
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Ссылка, Наименование
|ИЗ Справочник.Номенклатура
|ГДЕ Наименование ПОДОБНО &Фрагмент";
Запрос.УстановитьПараметр("Фрагмент", "%" + СтрокаПоиска + "%");
Результат = Запрос.Выполнить().Выгрузить();

Обратите внимание: в параметр передаётся фрагмент, обрамлённый символами «%» — это маска «в любом месте строки». Для поиска по началу достаточно «Фрагмент%». Учтите, что запрос с «%» в начале маски не использует индекс поля и на больших таблицах работает медленнее.

Метод НайтиПоНаименованию("Точное наименование") быстрее, но требует полного совпадения, включая регистр и пробелы. Для поиска без учёта регистра применяйте в запросе функции ВРЕГ/НРЕГ к обеим сторонам сравнения, понимая, что это также замедлит выборку.

Почему поиск не находит элемент: типичные причины

Самая частая причина «невидимого» элемента — лишние пробелы или неразрывные пробелы в наименовании, особенно если данные загружались из Excel или внешних систем. Наименование «Товар А» с двойным пробелом не найдётся по строке «Товар А». Проверить можно, открыв карточку элемента и посмотрев наименование посимвольно.

Вторая причина — раскладка клавиатуры: визуально одинаковые буквы «а», «е», «о», «с» могут быть русскими или латинскими. Если элемент заведён с латинскими символами, поиск русской строкой его не найдёт. Третья причина — установленный отбор списка или ограничение доступа на уровне записей (RLS): элемент существует, но текущему пользователю не показывается.

Также проверьте пометку удаления: помеченные элементы могут скрываться настройкой списка. И наконец, при полнотекстовом поиске убедитесь, что индекс обновлён после добавления элемента — иначе новая запись просто ещё не попала в индекс.

Типичные ошибки
01
Искать точное наименование с копипастой из Excel — вместе с текстом переносятся неразрывные пробелы, и совпадение не находится
02
Искать по полнотекстовому поиску сразу после создания элемента — индекс ещё не обновлён, элемент не найден
03
Забыть про активный отбор списка и считать, что элементов нет в базе
04
Использовать ПОДОБНО с маской '%...%' в запросе по огромному справочнику без дополнительных условий — получить долгое выполнение
05
Путать поиск по наименованию с поиском по полному наименованию — это разные реквизиты, и их содержимое может отличаться

Проверка результата и границы самостоятельной работы

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

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

Итог

Что важно запомнить

Для разового поиска используйте поле поиска в списке или Ctrl+F, для поиска по всей базе — полнотекстовый поиск (с актуальным индексом), для регулярной работы — сохранённый отбор. Если элемент не находится, проверьте пробелы, раскладку, отборы и права доступа, прежде чем создавать дубль.

Частые вопросы

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

Чаще всего мешает активный отбор списка, лишние или неразрывные пробелы в наименовании, смешение русской и латинской раскладки либо ограничение прав доступа (RLS). Сбросьте отборы, попробуйте искать по короткому уникальному фрагменту и проверьте элемент через полнотекстовый поиск.

Как искать по наименованию без учёта регистра?

Интерактивный поиск в списке и полнотекстовый поиск регистронезависимы — регистр учитывать не нужно. В запросах оператор ПОДОБНО зависит от настроек СУБД; для гарантированного сравнения приведите обе стороны к одному регистру функциями ВРЕГ() или НРЕГ().

Что делать, если полнотекстовый поиск не работает совсем?

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

Можно ли искать сразу по наименованию и артикулу?

В настройке списка можно добавить несколько условий и объединить их группой «ИЛИ»: Наименование Содержит X ИЛИ Артикул Содержит X. Полнотекстовый поиск по умолчанию ищет по всем индексируемым полям, включая артикул, если он включён в индекс конфигурацией.

Как найти дубли элементов с одинаковым наименованием?

Используйте типовую обработку «Поиск и удаление дублей» (раздел «Администрирование → Обслуживание» в большинстве конфигураций БСП): выберите справочник и правило сравнения «по наименованию». Перед объединением дублей проверьте, какие из них используются в документах, — обработка покажет места использования.

Почему при вводе в поле документа не появляются подсказки?

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