Справочники и Данные · 7 мин
Как найти справочник по наименованию в 1С
Пошаговая инструкция: как найти справочник по наименованию в 1С — полнотекстовый поиск, отборы, код на встроенном языке и типичные ошибки.
Поиск справочника по наименованию — одна из самых частых задач в 1С. Она возникает в двух разных ситуациях: пользователю нужно найти конкретный элемент в списке (например, контрагента или номенклатуру), а разработчику — определить, какой именно справочник конфигурации содержит нужные данные. Оба сценария решаются штатными средствами платформы, без установки дополнительных программ.
В пользовательском режиме работают три основных инструмента: строка поиска в форме списка, полнотекстовый поиск по данным и глобальный поиск по всей базе. В режиме конфигуратора и в коде используются дерево метаданных и методы встроенного языка — Справочники.ИмяСправочника.НайтиПоНаименованию(). Ниже разобраны все варианты с точными действиями и проверками результата.
Поиск элемента в форме списка справочника
Самый быстрый способ — открыть нужный справочник и воспользоваться строкой поиска в верхней части формы списка. В большинстве типовых конфигураций она доступна сразу: достаточно начать вводить наименование, и список отфильтруется по вхождению подстроки. Если строки поиска нет, нажмите Ctrl+F или выберите «Ещё → Найти».
Поиск в форме списка обычно работает по началу слова или по подстроке — это зависит от настроек конфигурации. Если по точному фрагменту ничего не нашлось, сократите запрос до 3–5 первых символов слова. Учитывайте, что поиск может идти только по текущей папке: сбросьте иерархию или включите режим «поиск везде», если элемент лежит в другой группе.
- 1Откройте справочник через раздел меню (НСИ, Справочники, Продажи и т. п.)
- 2Нажмите Ctrl+F или используйте строку поиска над списком
- 3Введите часть наименования без лишних слов и сокращений
- 4Проверьте, не ограничен ли поиск текущей папкой или отбором
- 5Откройте найденный элемент двойным щелчком и сверьте реквизиты
Полнотекстовый поиск по данным
Если вы не знаете, в каком справочнике находится элемент, используйте полнотекстовый поиск — он ищет сразу по всем объектам базы. Кнопка поиска обычно находится в правой части командной панели (значок лупы) либо вызывается через «Ещё → Найти». Введите наименование целиком или его уникальный фрагмент и запустите поиск.
Результат выводится списком с указанием типа объекта и представления: по нему видно, найден контрагент, товар, договор или элемент другого справочника. Двойной щелчок открывает объект. Если результатов слишком много, уточните запрос или ограничьте область поиска конкретными видами данных в расширенных настройках.
Отбор по наименованию через настройку списка
Когда нужно не просто найти один элемент, а получить все элементы, подходящие под условие, удобнее динамический отбор. В форме списка выберите «Ещё → Настроить список», добавьте условие по полю «Наименование» с видом сравнения «Содержит» и укажите фрагмент текста. Список покажет все совпадения, включая элементы из разных папок.
Вид сравнения имеет значение: «Равно» требует точного совпадения с учётом всех пробелов, «Содержит» ищет подстроку в любом месте наименования, «Начинается с» срабатывает только от начала строки. Для поиска по неточному написанию всегда используйте «Содержит» и короткий уникальный фрагмент — например, часть фамилии поставщика без организационной формы.
Как найти сам справочник в конфигурации по его названию
Разработчику или администратору часто нужно обратное: по известному названию данных понять, как называется объект метаданных. Откройте конфигуратор, разверните ветку «Справочники» в дереве конфигурации и используйте поиск по дереву (Ctrl+F в окне конфигурации). Поиск идёт по именам и синонимам объектов.
Учтите разницу между именем и синонимом: имя — это идентификатор для кода (например, Контрагенты), синоним — то, что видит пользователь («Контрагенты» или «Партнёры» в зависимости от конфигурации). В нетиповых решениях синоним может сильно отличаться от имени, поэтому ищите по обоим вариантам. Также полезен глобальный поиск по конфигурации (Ctrl+Shift+F) — он находит упоминания справочника в модулях и помогает понять, где объект реально используется.
Поиск по наименованию во встроенном языке
В коде элемент справочника ищется методом НайтиПоНаименованию(). Он возвращает ссылку на элемент или пустую ссылку, если совпадений нет. Типовой фрагмент выглядит так:
Ссылка = Справочники.Номенклатура.НайтиПоНаименованию(ИскомоеНаименование, Истина);
Если Ссылка.Пустая() Тогда
Сообщить("Элемент не найден");
КонецЕсли;Второй параметр метода отвечает за точное соответствие: при значении Истина ищется полное совпадение, при Ложь — по началу наименования. Если нужен поиск по вхождению подстроки, метод не подходит — используйте запрос с оператором ПОДОБНО и символами % вокруг фрагмента. Помните, что при нескольких совпадениях метод вернёт только первый найденный элемент.
Проверка результата и типичные ошибки
Найденный элемент обязательно проверьте по дополнительным реквизитам: для контрагента — по ИНН и адресу, для номенклатуры — по артикулу и единице измерения. Совпадение наименования само по себе не гарантирует, что это именно тот объект: в базе могут быть одноимённые элементы, помеченные на удаление дубли или тестовые записи.
Если элемент не находится никаким способом, проверьте права доступа: при ограничении на уровне записей (RLS) часть данных может быть скрыта от вашего пользователя. В этом случае поиск корректно работает, но не показывает недоступные объекты — это норма, а не сбой.
Что важно запомнить
Элемент справочника ищут строкой поиска в форме списка, полнотекстовым поиском или отбором «Содержит»; объект метаданных — поиском по дереву конфигурации; в коде — методом НайтиПоНаименованию() или запросом с ПОДОБНО. Результат всегда сверяйте по дополнительным реквизитам, чтобы не работать с дублем.
Частые вопросы
Почему поиск не находит элемент, который точно есть в базе?
Чаще всего мешают активный отбор в списке, режим иерархии (поиск только в текущей папке), неактуальный полнотекстовый индекс или ограничение прав доступа. Сбросьте настройки списка, проверьте поиск по другому фрагменту и уточните у администратора состояние индекса и права.
Чем отличается поиск по наименованию от поиска по коду?
Код обычно уникален и даёт однозначный результат, а наименование может повторяться у разных элементов. По коду ищут, когда он известен (например, из печатной формы); по наименованию — когда код неизвестен, но результат нужно дополнительно проверять на дубли.
Как найти элемент, если помню только часть названия?
Используйте отбор списка с условием «Наименование содержит» и самый уникальный фрагмент из 4–8 символов. В коде для этого применяется запрос с оператором ПОДОБНО и шаблоном "%фрагмент%".
Что делать, если НайтиПоНаименованию() возвращает не тот элемент?
Метод возвращает первый найденный элемент, а единственность не гарантирует. Если в базе возможны одноимённые элементы, используйте запрос с отбором по наименованию и дополнительным реквизитам (ИНН, артикул, владелец) и обрабатывайте все строки результата.
Можно ли искать сразу по всем справочникам конфигурации?
Да, для этого предназначен полнотекстовый поиск по данным в пользовательском режиме. В коде единого метода нет — придётся перебирать нужные виды справочников или строить объединённый запрос по конкретным таблицам.