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

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

Как найти справочник по наименованию в 1С

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

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

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

Поиск элемента в форме списка справочника

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

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

Как найти элемент в списке
  1. 1
    Откройте справочник через раздел меню (НСИ, Справочники, Продажи и т. п.)
  2. 2
    Нажмите Ctrl+F или используйте строку поиска над списком
  3. 3
    Введите часть наименования без лишних слов и сокращений
  4. 4
    Проверьте, не ограничен ли поиск текущей папкой или отбором
  5. 5
    Откройте найденный элемент двойным щелчком и сверьте реквизиты

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

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

Результат выводится списком с указанием типа объекта и представления: по нему видно, найден контрагент, товар, договор или элемент другого справочника. Двойной щелчок открывает объект. Если результатов слишком много, уточните запрос или ограничьте область поиска конкретными видами данных в расширенных настройках.

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

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

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

Как найти сам справочник в конфигурации по его названию

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

Учтите разницу между именем и синонимом: имя — это идентификатор для кода (например, Контрагенты), синоним — то, что видит пользователь («Контрагенты» или «Партнёры» в зависимости от конфигурации). В нетиповых решениях синоним может сильно отличаться от имени, поэтому ищите по обоим вариантам. Также полезен глобальный поиск по конфигурации (Ctrl+Shift+F) — он находит упоминания справочника в модулях и помогает понять, где объект реально используется.

Поиск по наименованию во встроенном языке

В коде элемент справочника ищется методом НайтиПоНаименованию(). Он возвращает ссылку на элемент или пустую ссылку, если совпадений нет. Типовой фрагмент выглядит так:

bsl
Ссылка = Справочники.Номенклатура.НайтиПоНаименованию(ИскомоеНаименование, Истина);
Если Ссылка.Пустая() Тогда
    Сообщить("Элемент не найден");
КонецЕсли;

Второй параметр метода отвечает за точное соответствие: при значении Истина ищется полное совпадение, при Ложь — по началу наименования. Если нужен поиск по вхождению подстроки, метод не подходит — используйте запрос с оператором ПОДОБНО и символами % вокруг фрагмента. Помните, что при нескольких совпадениях метод вернёт только первый найденный элемент.

Проверка результата и типичные ошибки

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

Типичные ошибки
01
Поиск по полному наименованию с кавычками и организационной формой — лишние символы мешают совпадению, используйте короткий уникальный фрагмент
02
Игнорирование активного отбора в списке — элемент существует, но скрыт настройкой списка; сбросьте отбор через «Ещё → Установить стандартные настройки»
03
Поиск только в текущей папке при включённой иерархии — элемент лежит в другой группе и не попадает в выборку
04
Использование НайтиПоНаименованию() без проверки пустой ссылки — при отсутствии элемента код продолжает работу с пустой ссылкой и выдаёт ошибку дальше

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

Итог

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

Элемент справочника ищут строкой поиска в форме списка, полнотекстовым поиском или отбором «Содержит»; объект метаданных — поиском по дереву конфигурации; в коде — методом НайтиПоНаименованию() или запросом с ПОДОБНО. Результат всегда сверяйте по дополнительным реквизитам, чтобы не работать с дублем.

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

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

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

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

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

Как найти элемент, если помню только часть названия?

Используйте отбор списка с условием «Наименование содержит» и самый уникальный фрагмент из 4–8 символов. В коде для этого применяется запрос с оператором ПОДОБНО и шаблоном "%фрагмент%".

Что делать, если НайтиПоНаименованию() возвращает не тот элемент?

Метод возвращает первый найденный элемент, а единственность не гарантирует. Если в базе возможны одноимённые элементы, используйте запрос с отбором по наименованию и дополнительным реквизитам (ИНН, артикул, владелец) и обрабатывайте все строки результата.

Можно ли искать сразу по всем справочникам конфигурации?

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