Поиск элемента по названию в 1С 8.3: от списка до запроса
Содержание
Чтобы найти элемент по наименованию в 1С, встаньте в нужный список (например, Справочники → Номенклатура) и начните печатать название — список сам отфильтруется. Если нужно искать по части слова или сразу по всей базе — нажмите Ctrl+F или включите полнотекстовый поиск. Ниже — все рабочие способы: от строки поиска в списке до запроса в консоли, с масками, спецсимволами и разбором частых проблем.
Все приёмы описаны для платформы 8.3 с интерфейсом «Такси» и подходят для любых типовых конфигураций — Бухгалтерии 3.0, ЗУП 3.1, Управления торговлей 11. Искать можно не только номенклатуру: тем же способом находят контрагентов, физлиц, документы и любые другие объекты.
Быстрый поиск прямо в открытом списке
Самый частый сценарий — найти позицию в уже открытом списке. Платформа умеет искать на лету.
- Откройте нужный справочник или журнал документов .
- Кликните в ту колонку, по которой ищете (чаще всего это
Наименование). - Начните набирать текст с клавиатуры — список отфильтруется по началу значения в этой колонке.
Такой поиск срабатывает по началу строки. Если вводите шуруп, вы увидите «Шуруп 4×40» и «Шурупы по дереву», но не «Саморез-шуруп». Для поиска по середине названия нужен другой режим — о нём ниже.
Набранный фрагмент подсвечивается в строке поиска над списком. Чтобы сбросить фильтр и вернуть полный перечень, нажмите крестик в этой строке или клавишу Esc.
Рядом со строкой поиска есть кнопка очистки и переключатель — искать по текущей колонке или по всем видимым. По умолчанию платформа ищет по той колонке, в которой стоял курсор.
Этот же приём работает в журналах документов. Чтобы найти накладную, встаньте в колонку Контрагент и наберите название партнёра — список отфильтруется по документам этого контрагента. По колонке Номер ищут по номеру документа, по Сумме — по сумме. Контрагента в его справочнике удобно искать не только по наименованию, но и по ИНН: встаньте в колонку с ИНН (если она выведена) и наберите цифры.
Если нужной колонки на экране нет, её можно вывести через настройку формы списка — команда Ещё → Изменить форму в командной панели. После этого по новой колонке тоже заработает быстрый поиск.
Поиск по части слова через окно «Найти»
Когда нужного элемента не видно по началу названия, помогает полноценный поиск по подстроке. Вызывается он клавишами Ctrl+F или командой Найти в командной панели списка.
В открывшемся окне доступны настройки:
- 🔎 Где искать — в текущей колонке или во всех колонках списка.
- 🔤 Как сравнивать — по началу строки, по части строки, по полному совпадению или по окончанию.
- 🅰️ Учитывать регистр — включите, если важна разница между «ШУРУП» и «шуруп».
- ↕️ Направление — вперёд или назад от текущей позиции.
Чтобы найти товар по любому фрагменту названия, выберите по части строки и снимите учёт регистра. Тогда запрос винт покажет и «Винт М6», и «Саморез-винт», и «Крепёж винтовой».
Поиск в списке работает только по тем данным, что реально загружены на экран. В очень больших справочниках платформа подгружает строки порциями, поэтому для гарантированного охвата всей базы надёжнее полнотекстовый поиск.
Какой режим выбрать под вашу задачу:
Ctrl+F, режим «по части строки», снимите учёт регистра.ПОДОБНО.Полнотекстовый поиск сразу по всей базе
Полнотекстовый поиск находит значение во всех объектах базы — справочниках, документах, их реквизитах и табличных частях — одним запросом. Это ответ на вопрос «не помню, где это лежит».
Вызывается он из главного меню — иконкой с лупой в верхней части окна программы. Если её не видно, команду Поиск данных можно открыть через меню Все функции (включается в Сервис → Параметры → Отображать команду «Все функции»).
Чтобы поиск заработал, его нужно один раз включить и построить индекс:
После построения индекса наберите в строке поиска название — платформа покажет список найденных объектов с указанием, в каком справочнике или документе встретилось слово. По ссылке можно сразу перейти в найденный элемент.
Полнотекстовый поиск находит данные только после обновления индекса. Новые позиции, созданные после последнего построения, в выдачу не попадут, пока индекс не обновится. В типовых конфигурациях обновление обычно идёт по расписанию (регламентным заданием), но вручную его можно запустить в любой момент.
Главный плюс полнотекстового поиска — учёт словоформ: по запросу договор он найдёт и «договора», и «договору». Это удобно для текстовых комментариев и наименований в свободной форме.
Полнотекстовый поиск заглядывает и в табличные части, и в реквизиты-строки. Если вы помните не название документа, а фрагмент комментария к нему или наименование одного из товаров в накладной, наберите этот фрагмент — поиск найдёт сам документ. Для быстрого поиска по списку это недоступно: он видит только значения колонок, а не содержимое вложенных таблиц.
Выдача группируется по типам объектов: отдельно найденные справочники, отдельно документы. Рядом с каждой строкой платформа показывает фрагмент текста с подсвеченным совпадением — так сразу видно, почему объект попал в результаты.
Маски, операторы и спецсимволы в поиске
Полнотекстовый поиск понимает язык поисковых запросов — с его помощью точность резко растёт.
| Приём | Как писать | Что делает |
|---|---|---|
| Маска окончания | шуруп* | Находит «шуруп», «шурупы», «шуруповёрт» |
| Точная фраза | "акт сверки" | Ищет слова только подряд и в этом порядке |
| Все слова | винт И оцинкованный | Оба слова должны встретиться в объекте |
| Любое из слов | винт ИЛИ саморез | Достаточно одного из слов |
| Исключение | крепёж НЕ саморез | «Крепёж» без слова «саморез» |
| Рядом | договор РЯДОМ/3 поставка | Слова не дальше трёх друг от друга |
Несколько правил, чтобы маски работали так, как ожидаете:
- ⭐ Символ
*заменяет окончание слова, но не его начало:*шурупискать так нельзя. - 📝 Операторы
И,ИЛИ,НЕ,РЯДОМпишутся заглавными буквами (можно и латиницей —AND,OR,NOT,NEAR). - 🔁 Для поиска слова с опечаткой есть нечёткий поиск через
#перед словом — платформа подберёт похожие написания.
В обычном поиске по списку (Ctrl+F) маски и операторы не действуют — там работает простое сравнение подстроки. Весь язык запросов относится именно к полнотекстовому поиску.
Поиск запросом и методами менеджера
Когда нужна не просто навигация, а выборка по условию — отобрать все товары с «винт» в названии и ненулевым остатком, — помогает язык запросов. Самый универсальный оператор для поиска по части строки — ПОДОБНО.
ВЫБРАТЬ
Номенклатура.Ссылка,
Номенклатура.Наименование,
Номенклатура.Артикул
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Наименование ПОДОБНО "%винт%"
УПОРЯДОЧИТЬ ПО
Номенклатура.Наименование
В шаблоне ПОДОБНО работают два спецсимвола:
%— любое количество любых символов (аналог*);_— ровно один любой символ.
Например, "винт М_" найдёт «винт М6» и «винт М8», но не «винт М10». Если сам искомый текст содержит % или _, экранируйте их через СПЕЦСИМВОЛ.
Для разовой выборки удобна Консоль запросов — это внешняя обработка (входит в комплект ИТС), её открывают через Файл → Открыть. В конфигураторе тот же запрос можно отладить в консоли запросов встроенной разработки.
Если же нужно найти объект в коде по точному наименованию, у менеджера справочника есть готовый метод:
НайденныйТовар = Справочники.Номенклатура.НайтиПоНаименованию("Винт М6", Истина);
Если ЗначениеЗаполнено(НайденныйТовар) Тогда
Сообщить("Нашли: " + НайденныйТовар.Наименование);
Иначе
Сообщить("Точного совпадения нет");
КонецЕсли;
Второй параметр Истина требует точного совпадения всего наименования. Метод НайтиПоНаименованию возвращает только первый найденный элемент — если в базе есть дубли с одинаковым названием, остальные вы не увидите. Для списка всех совпадений используйте запрос с ПОДОБНО.
Рядом с ним у менеджера справочника есть методы НайтиПоКоду (поиск по коду элемента) и НайтиПоРеквизиту (поиск по значению любого реквизита, например по артикулу или ИНН). Все три возвращают пустую ссылку, если ничего не нашли, поэтому результат всегда проверяйте через ЗначениеЗаполнено.
Отдельно стоит упомянуть поиск при выборе значения в поле документа. Когда вы заполняете, например, товар в накладной и начинаете печатать в поле Номенклатура, платформа подбирает подходящие элементы по мере ввода. По умолчанию подбор идёт по наименованию и коду; в настройках справочника администратор может добавить к быстрому выбору и другие реквизиты — тогда позицию можно будет находить прямо в документе ещё и по артикулу.
Что делать, если поиск не находит нужное
Разберём частые сбои и их причины.
Ctrl+F и выберите режим «по части строки».Дубли номенклатуры — отдельная частая беда: одну и ту же позицию заводят дважды с мелкими отличиями в написании («Винт М6» и «Винт M6» с латинской M). Из-за этого поиск выдаёт разные карточки, а остатки и продажи «размазываются» по ним.
В типовых конфигурациях на базе БСП для этого есть стандартная обработка Поиск и удаление дубликатов. Открывается она из раздела Администрирование → Обслуживание либо через меню Все функции. Обработка сравнивает элементы по правилам (по наименованию, по реквизитам), показывает найденные пары и позволяет оставить один элемент как главный, а ссылки с остальных автоматически перенести на него.
Объединение дублей меняет данные в документах. Выполняйте его тогда, когда другие пользователи не работают с этими объектами, и при сомнениях сначала сделайте резервную копию базы.
Чтобы дубли не появлялись снова, помогает контроль на вводе. В типовых конфигурациях при создании нового элемента справочника программа предупреждает, если похожее наименование уже есть. Приучите пользователей сначала искать позицию (быстрым поиском или полнотекстовым) и только при отсутствии заводить новую. Единый шаблон наименования — например, «Тип, параметр, единица» — тоже снижает число случайных двойников.
Частые вопросы
Чем полнотекстовый поиск отличается от поиска в списке?
Ctrl+F) работает только внутри одного открытого справочника и сравнивает подстроку. Полнотекстовый ищет сразу по всей базе — всем справочникам и документам — и учитывает словоформы и язык запросов с масками.Почему полнотекстовый поиск не находит свежие данные?
Как искать по части слова, а не по его началу?
Ctrl+F и выберите сравнение «по части строки». В полнотекстовом поиске используйте маску * в конце слова. В запросе — оператор ПОДОБНО с символом %.Можно ли найти документ по сумме или дате, а не по названию?
Сумма, Дата) и наберите значение — быстрый поиск работает по любой колонке. Для сложных условий удобнее отбор по списку или запрос.