Поиск элемента справочника, документа и записи в базе 1С 8.3
Содержание
Элемент найти можно пятью способами, и выбор зависит от того, что у вас на руках. Знаете часть названия или номер, ищите в самом списке через Ctrl+F. Помните только смысл, подключайте полнотекстовый поиск. Нужно понять, где элемент используется, берите команду «Где используется». Программисту доступны поиск по конфигурации и запрос к данным.
Ниже все способы, от простого к сложному. Первые три подойдут любому пользователю, остальные нужны администратору и разработчику. Описание дано для обычных управляемых форм платформы 8.3.
Поиск в списке: быстрый способ найти элемент справочника
Откройте нужный справочник или журнал документов
, например Справочники → Номенклатура или список контрагентов. Над таблицей находится строка поиска. Вызвать её можно и с клавиатуры: Ctrl+F.
Введите часть названия и нажмите Enter. Список сократится до подходящих строк. Чтобы вернуться ко всем записям, нажмите Ctrl+Q или кнопку отмены поиска рядом со строкой.
Что стоит знать:
- 🔎 Поиск идёт по текущей колонке. Встали курсором на колонку «Код», значит ищете по коду. Хотите искать по наименованию, щёлкните ячейку из этой колонки и повторите поиск.
- 🔎 В большом списке поиск по части слова может работать медленнее, чем по началу строки. Если знаете начало названия, вводите именно его.
- 🔎 В журнале документов удобнее всего искать по номеру. Курсор в колонку «Номер», введите номер, нажмите
Enter. - 🔎 Пустой результат ещё не значит, что записи нет. Проверьте, не включён ли отбор над списком и не скрыты ли помеченные на удаление элементы.
Если нужно найти запись в иерархическом справочнике, а список показывает только текущую папку, переключите вид на «Список» (кнопка режима просмотра) или найдите элемент в дереве. Иначе поиск ограничится открытой группой.
Расширенный поиск по нескольким полям
Одной колонки бывает мало: нужен контрагент по ИНН и части названия, или документ по сумме и контрагенту. Для этого в строке поиска есть команда расширенного поиска, сочетание Alt+F.
В окне задаёте:
- Поле, по которому ищете (можно выбрать любую колонку списка).
- Вид совпадения: «по части строки», «с начала строки» или «по всему полю».
- Значение.
Условий можно добавить несколько, они работают вместе. Результат остаётся в списке, пока не отмените поиск.
Отбор вместо поиска
Если искомых записей много и вам нужна выборка, а не одна строка, удобнее отбор. Щёлкните ячейку с нужным значением и выберите «Отбор по значению в текущей колонке» (Ctrl+Alt+F). Список оставит только строки с таким же значением. Снять отбор можно крестиком над списком.
Где используется элемент: как найти связанные записи
Бывает, что нужно найти не сам элемент, а то, что на него ссылается. Типичный случай: контрагента нельзя удалить, потому что он указан в документах. Или нужно понять, в каких документах встречается конкретный склад.
Выделите элемент в списке, откройте меню «Все действия» и выберите «Где используется». Платформа покажет документы, регистры и другие объекты со ссылкой на выбранный элемент.
Для дублей удобнее штатная обработка поиска и удаления дублей. Обычно она лежит в разделе администрирования, в подразделе обслуживания или корректировки данных. Точное название пункта зависит от конфигурации, поэтому проще набрать «Поиск и удаление дублей» в строке поиска по командам.
Перед объединением дублей сделайте копию базы. Обратно разделить объединённые элементы невозможно: все ссылки в документах переписываются на оставшийся элемент.
Полнотекстовый поиск: когда не помните точное название
Обычный поиск требует знать, где искать. Полнотекстовый ищет слово сразу по всем объектам: справочникам, документам, комментариям. Подходит, когда вы помните, что где-то писали «по договору аренды склада», но не помните, в каком документе.
Чтобы он заработал, нужно выполнить два шага:
- Включить полнотекстовый поиск в настройках программы. Нужный пункт находится в разделе
Администрирование(подраздел общих настроек). Нужны права администратора. - Дождаться, пока индекс построится. На большой базе это занимает от десятков минут до нескольких часов, пока идёт обновление индекса, результаты неполные.
После этого строка поиска в верхней части окна ищет по всей базе. Результаты показываются списком с фрагментами текста, а клик по строке открывает объект.
Что учитывать:
- Ищутся слова, а не произвольные куски. Поиск по «кабел» найдёт «кабель», но не обязательно найдёт «электрокабель».
- Поиск учитывает морфологию: «договора» найдёт «договор».
- Новые записи попадают в индекс не мгновенно. Если только что созданный документ не находится, подождите или обновите индекс из настроек.
- Для баз на сервере индексом занимается фоновое задание, поэтому нагрузку на сервер лучше планировать на нерабочее время.
Как найти элемент по номеру, ссылке или названию в поле ввода
Поиск часто нужен прямо при заполнении документа: выбираете контрагента или номенклатуру и не хотите листать список.
В поле ввода начните набирать название. Платформа покажет подсказки. Если вариантов много, нажмите F4, откроется полный список, а в нём работает всё, что описано выше. Для быстрого выбора есть и другой приём: наберите часть названия и нажмите Tab. Если вариант единственный, поле заполнится сразу.
Для переноса ссылки на запись между сотрудниками у объекта есть команда получения навигационной ссылки (ищите её в меню «Все действия» или в контекстном меню формы). Коллега вставляет такую ссылку в браузер или в окно «Перейти по ссылке», и 1С открывает нужный объект без поиска.
Ctrl+F). Предварительно поставьте курсор в нужную колонку.Alt+F) с несколькими условиями или отбор по значению колонки.Поиск в Конфигураторе: как найти объект и код
Эти способы нужны разработчику и администратору, которые разбираются с настройкой конфигурации. Обычному пользователю в Конфигуратор заходить не надо, а при неосторожных правках можно сломать базу.
Прежде чем открывать Конфигуратор на рабочей базе, сделайте выгрузку информационной базы. Если в базе работают другие пользователи, учтите, что часть операций требует монопольного доступа, и сеансы придётся завершить.
Основные приёмы:
- Дерево конфигурации. Раскройте ветку, например «Справочники», и начните набирать имя объекта. Курсор переместится на подходящую строку.
- Поиск по тексту модулей.
Ctrl+Shift+Fищет строку по всей конфигурации: в модулях, формах, макетах. Результаты собираются в отдельное окно. Двойной щелчок переходит в нужное место кода. - Поиск в открытом модуле.
Ctrl+Fищет внутри текущего окна,F3переходит к следующему совпадению. - Поиск ссылок на объект. Для объекта метаданных в контекстном меню есть команда поиска ссылок. Она покажет, где объект используется в конфигурации: в формах, подсистемах, ролях.
Если нужно найти не объект конфигурации, а запись базы (конкретный элемент справочника), Конфигуратор не поможет. Для этого есть режим «1С:Предприятие» с описанными выше способами или запрос.
Поиск в отчётах и обработках
Иногда нужный элемент спрятан не в списке, а в отчёте: контрагент в оборотно-сальдовой ведомости, документ в карточке счёта. Здесь работают свои приёмы.
- 📊 В сформированном отчёте нажмите
Ctrl+F. Откроется строка поиска по тексту ячеек. Она ищет только то, что уже выведено на экран. - 📊 Чтобы не листать длинную ведомость, добавьте отбор в настройках отчёта: по контрагенту, договору, счёту. Отчёт построится уже с нужными строками.
- 📊 Двойной щелчок по строке отчёта (расшифровка) открывает документ или элемент справочника, откуда пришла сумма.
- 📊 Для поиска документов по реквизитам внутри табличных частей, например по номенклатуре в строках, используйте журнал документов с отбором или отчёт по движениям. Обычный поиск в списке смотрит только шапку.
Среди обработок общего назначения есть инструменты для массовых операций: поиск и замена значений, групповое изменение реквизитов. Их набор зависит от конфигурации и версии, а в части программ они подключаются отдельно. Перед массовой заменой проверьте результат поиска глазами: заменять вслепую то, что нашла обработка, нельзя.
Запрос к данным: консоль запросов и язык запросов
Когда стандартных инструментов не хватает, например нужны все контрагенты с пустым ИНН или номенклатура без артикула, помогает запрос. Для этого используют консоль запросов. Это внешняя обработка, в платформу она не входит, но широко распространена, и многие ИТ-специалисты держат её под рукой. Подключайте только проверенную версию из надёжного источника.
Пример: найти номенклатуру, в названии которой есть слово «кабель».
ВЫБРАТЬ ПЕРВЫЕ 100
Номенклатура.Ссылка КАК Ссылка,
Номенклатура.Наименование КАК Наименование,
Номенклатура.Код КАК Код
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Наименование ПОДОБНО "%кабель%"
И НЕ Номенклатура.ПометкаУдаления
Символ % означает любое количество любых символов. Условие ПОДОБНО "%кабель%" найдёт слово в любой части названия.
Ещё пример: контрагенты без ИНН.
ВЫБРАТЬ
Контрагенты.Ссылка КАК Ссылка,
Контрагенты.Наименование КАК Наименование
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
Контрагенты.ИНН = ""
Имена справочников и реквизитов в разных конфигурациях могут отличаться. Если запрос выдаёт ошибку, откройте конструктор запроса в консоли и выберите объекты из списка.
Прямые запросы к SQL: почему лучше обойтись без них
Иногда предлагают лезть в таблицы СУБД напрямую. Для поиска элемента это почти всегда лишнее. Платформа хранит данные в таблицах с техническими именами вроде _Reference123, а связь с метаданными нужно расшифровывать отдельно. Прямая запись в такие таблицы нарушает целостность, а чтение с сервера нагружает базу и обходит права доступа
1С.
Если всё-таки приходится заглядывать в СУБД, например для диагностики, делайте это только на чтение, лучше на копии базы и вне рабочих часов.
Почему поиск тормозит и как его ускорить
Если список открывается секунд по десять, а поиск по части названия «думает» ещё дольше, причина обычно одна из трёх.
| Причина | Как проверить | Что сделать |
|---|---|---|
| Огромный список без отбора | Сколько записей в справочнике | Включить отбор или группировку, не искать по всей базе |
| Поиск по части строки в большой таблице | Быстро ли работает поиск «с начала строки» | Вводить начало названия |
| Устаревшая статистика СУБД и фрагментация (клиент-серверный вариант) | Регламентные задания на сервере | Попросить администратора настроить обслуживание индексов |
На стороне конфигурации важны индексы. Платформа сама индексирует код и наименование справочников. Для собственных реквизитов, по которым вы часто ищете, разработчик может включить индексирование в свойствах реквизита. Это ускоряет выборки, но замедляет запись и увеличивает базу, поэтому включать индекс на каждый реквизит не нужно.
Ещё два правила для разработчика:
- В условиях запроса поле ставят слева, а значение справа. Функции над полем вроде
ПОДСТРОКА(Наименование, 1, 3) = "Каб"отключают использование индекса. - Ограничивайте выборку:
ПЕРВЫЕ Nи отбор по периоду берут из базы только нужное.
Если элемент так и не нашёлся
Пройдите по списку проверок:
- ✅ Снят ли отбор над списком и режим «Показывать помеченные на удаление».
- ✅ Не выбрана ли другая колонка для поиска.
- ✅ Нет ли ограничения доступа к данным: у вас могут быть права только на часть записей, остальные скрыты.
- ✅ Не открыта ли другая информационная база или другая организация: часть списков фильтруется по организации.
- ✅ Не создан ли элемент с опечаткой или в латинской раскладке. Попробуйте найти «ООО» и «OOO» отдельно.
Если запись должна быть, но ни один способ её не находит, спросите администратора: возможно, её удалили, или база восстановлена из более старой копии.
Частые вопросы
Какая горячая клавиша открывает поиск в списке 1С?
Ctrl+F. Курсор попадает в строку поиска, а искать будет по колонке, в которой стоит курсор.Как сбросить поиск и вернуть весь список?
Ctrl+Q или кнопку отмены поиска рядом со строкой.