Быстрый старт · 10 мин
Как найти нужную строку в 1С
Практические способы найти нужную строку в 1С: поиск в списках справочников и документов, полнотекстовый поиск, отборы, поиск в табличных частях и в коде конфигурации.
Задача «найти нужную строку» в 1С возникает в самых разных ситуациях: бухгалтер ищет документ в длинном журнале, кладовщик — позицию в табличной части накладной, разработчик — фрагмент кода в модуле. В каждом случае работает свой инструмент, и универсальной кнопки «найти всё» нет.
Основные приёмы поиска встроены в платформу и доступны без доработок: это строка поиска в динамических списках, полнотекстовый поиск по базе, отборы и сортировка, а также команда «Найти» в табличных документах и модулях. Если данных много, правильный выбор способа экономит заметное время и снижает риск пропустить нужную запись.
Ниже разобраны практические варианты: от простого поиска в списке справочника до поиска строки в табличной части документа и в тексте запроса. Отдельно описаны ограничения каждого способа и типичные ошибки, из-за которых «поиск не находит то, что точно есть».
Поиск строки в списке справочника или документов
Самый частый сценарий — найти конкретную запись в списке: контрагента в справочнике, накладную в журнале документов. Откройте нужный список и нажмите Ctrl+F или воспользуйтесь полем поиска в командной панели (обычно оно расположено справа вверху формы списка).
Важно понимать, по каким полям идёт поиск. В динамическом списке платформа ищет по текущей колонке либо по полям, для которых включён поиск по строке (обычно это наименование, код, номер документа). Если вы вводите артикул, а курсор стоит на колонке «Наименование», поиск может ничего не вернуть — щёлкните сначала по нужной колонке или настройте поиск по всем полям.
Поиск в динамических списках работает по принципу «начинается с» или «содержит» в зависимости от настроек. Если запись не находится по части слова, попробуйте ввести начало значения или полное значение. Также учитывайте, что поиск выполняется по уже загруженным данным списка: при большом объёме записей надёжнее использовать отбор.
- 1Откройте нужный список (справочник, журнал документов)
- 2Нажмите Ctrl+F или кликните в поле поиска в командной панели
- 3Убедитесь, что поиск идёт по нужной колонке — щёлкните по её заголовку
- 4Введите значение целиком или с начала строки
- 5Если записей много — перейдите к отбору через «Ещё → Настроить список»
Полнотекстовый поиск по всей базе
Когда вы не знаете, где именно находится строка — в наименовании товара, комментарии документа или дополнительном реквизите, — используйте полнотекстовый поиск. Он вызывается через значок лупы в панели инструментов главного окна или через меню «Операции → Полнотекстовый поиск данных» (в разных конфигурациях расположение может отличаться).
Полнотекстовый поиск ищет по всем объектам, включённым в индекс: справочникам, документам, их реквизитам и табличным частям. Результат выдаётся списком ссылок с фрагментами текста, где встретилась искомая строка. Поддерживается поиск по точной фразе в кавычках и по отдельным словам.
Ключевое ограничение: поиск работает только если индекс актуален. В файловых базах индекс обновляется по расписанию или вручную («Операции → Управление полнотекстовым поиском → Обновить индекс»). Если запись создана недавно и не находится — сначала обновите индекс, затем повторите поиск.
Отбор и сортировка как альтернатива поиску
Когда строку нужно не просто найти один раз, а регулярно выбирать по условию, эффективнее настроить отбор. В форме списка нажмите «Ещё → Настроить список» (или кнопку отбора на панели), добавьте условие по нужному полю: равно, содержит, в списке и т.д. Список сократится до записей, удовлетворяющих условию.
Отбор надёжнее поиска по двум причинам. Во-первых, условие выполняется на уровне запроса к базе, а не по загруженным строкам, поэтому ничего не теряется при больших объёмах. Во-вторых, настройку можно сохранить и использовать повторно, не вводя условие каждый раз.
Сортировка (клик по заголовку колонки) помогает, когда значение известно приблизительно: например, вы помните, что документ был в начале месяца, — отсортируйте по дате и пролистайте нужный диапазон. Комбинация «сортировка + отбор по периоду» часто быстрее любого текстового поиска.
Сравнение способов поиска
Быстро для известного значения; ограничение — ищет только по отображаемым полям и загруженным строкам
Находит строку в любом объекте базы; требует актуального индекса и может выдавать много лишних результатов
Точный и воспроизводимый; требует знать, по какому полю отбирать
Подходит для поиска по связанным данным (движения, остатки); медленнее на больших объёмах
Поиск строки в табличной части документа
Внутри открытого документа с табличной частью (например, «Товары» в реализации на несколько сотен позиций) работает стандартный поиск по таблице. Установите курсор в колонку, по которой ищете, и нажмите Ctrl+F — введите значение, и платформа спозиционирует курсор на первой подходящей строке. Повторное нажатие F3 или Ctrl+F переводит к следующему совпадению.
Учтите: поиск идёт только по той колонке, где стоит курсор. Если ищете по артикулу, а курсор в колонке «Номенклатура», совпадений не будет. Перед поиском кликните в нужную ячейку.
Если документ проведён и табличная часть недоступна для редактирования, поиск всё равно работает — он не изменяет данные. Для анализа больших табличных частей удобно вывести их в табличный документ (печатная форма или «Ещё → Вывести список» в некоторых конфигурациях) и искать уже там через Ctrl+F по всему документу.
// Программный поиск строки в табличной части документа
Строки = Объект.Товары.НайтиСтроки(Новый Структура("Номенклатура", ИскомаяНоменклатура));
Для Каждого Строка Из Строки Цикл
Сообщить("Найдена строка № " + Строка.НомерСтроки);
КонецЦикла;Поиск в запросе и консоли запросов
Когда нужно найти строки по сложному условию — например, все документы, где в табличной части есть определённый товар, — удобнее всего запрос. В консоли запросов (или в коде) условие записывается через конструкцию ГДЕ с оператором ПОДОБНО для поиска по части строки.
Оператор ПОДОБНО с шаблоном "%текст%" находит значения, содержащие подстроку. Учтите, что такой поиск по большим таблицам может выполняться медленно, так как по шаблону с ведущим процентом индекс не используется. Для регулярных задач лучше искать по точному равенству или по началу строки ("текст%").
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Наименование ПОДОБНО &Шаблон";
Запрос.УстановитьПараметр("Шаблон", "%" + СтрокаПоиска + "%");Поиск строки в коде конфигурации
Разработчику чаще всего нужно найти строку в модулях: где вызывается процедура, где формируется текст сообщения. В конфигураторе используйте «Правка → Глобальная замена» или «Правка → Найти» (Ctrl+F — в текущем модуле, Ctrl+Shift+F — глобальный поиск по всем модулям конфигурации).
Глобальный поиск позволяет ограничить область: искать во всей конфигурации, в выбранных объектах, только в модулях форм или модуле объекта. Для поиска по точному слову включите опцию «Слово целиком», чтобы не получать сотни совпадений по коротким фрагментам.
Проверка результата и границы самостоятельной работы
После поиска убедитесь, что нашли именно ту строку: сверьте ключевые реквизиты (дату, номер, контрагента, сумму), а не только наименование — в базе часто встречаются одноимённые элементы. Если нашлось несколько записей, проверьте каждую, прежде чем открывать и изменять.
Поиск сам по себе безопасен: он не меняет данные. Риск появляется на следующем шаге — когда найденную строку редактируют или удаляют. Перед изменением объектов, участвующих в проведённых документах или обменах, убедитесь, что понимаете последствия, а при сомнениях сделайте резервную копию или обратитесь к администратору 1С.
Как проверить результат поиска
Найдена одна запись или небольшой ожидаемый список
Сотни совпадений — уточните условие или перейдите к отбору
Дата, номер и ключевые поля совпадают с ожидаемыми
Совпадает только наименование — возможен одноимённый дубль
Недавно созданные документы находятся
Новые записи не находятся — обновите индекс
Частые вопросы
Почему поиск в списке не находит запись, которая точно есть?
Чаще всего причина в том, что поиск идёт не по той колонке или настроен на совпадение с начала строки, а вы вводите середину значения. Также проверьте, не скрыта ли запись действующим отбором — сбросьте отборы через «Ещё → Настроить список» и повторите поиск.
Как найти документ, если известен только товар внутри него?
Строка поиска в журнале по содержимому табличных частей не ищет. Используйте полнотекстовый поиск (если табличные части включены в индекс), отчёт по движениям товара или запрос с соединением табличной части документа.
Чем полнотекстовый поиск отличается от обычного поиска в списке?
Обычный поиск работает внутри одного открытого списка и по ограниченному набору полей. Полнотекстовый ищет по всей базе сразу, включая текстовые реквизиты и комментарии, но требует актуального индекса и может вернуть много результатов.
Можно ли искать по части слова в запросе?
Да, через оператор ПОДОБНО с шаблоном "%текст%". Учтите, что на больших таблицах такой поиск медленный, так как индекс при ведущем символе % не используется. По возможности ограничивайте выборку периодом или другими условиями.
Найденная запись помечена на удаление — что делать?
Сначала выясните, кто и зачем её пометил: возможно, объект исключён из оборота намеренно. Снятие пометки доступно через «Ещё → Снять пометку» при наличии прав. Если объект используется в документах, снятие пометки обычно безопасно, но окончательное удаление помеченных объектов выполняйте только через штатную обработку удаления с контролем ссылочной целостности.
Что важно запомнить
Для поиска в списке используйте Ctrl+F и правильную колонку, для поиска по всей базе — полнотекстовый поиск с актуальным индексом, для повторяющихся задач — сохранённые отборы, а для сложных условий — запрос с оператором ПОДОБНО. Всегда проверяйте реквизиты найденной строки перед её изменением.