| name | search-in-list |
| description | Ищет записи в формах списков и выбора 1C (справочники, документы, планы счетов, планы видов характеристик, табличные части и т. д.), чтобы находить элементы перед созданием или ссылкой на записи. Используется для поиска, дедупликации и выборе сущности из списка. |
Поиск в списке (поиск сущности)
Используй этот навык, чтобы находить записи в любых ссылочных объектах 1C - справочниках, документах, планах счетов, планах видов характеристик, планах видов расчета, планах обмена, бизнес-процессах, задачах - через формы списков и выбора. Также, используй этот навык для поиска в табличных частях, но с тем ограничением, что в табличных частях как правило используется только стандартная строка поиска, или стандартный диалог поиска.
Когда использовать
Когда нужно найти запись или записи в списке или таблице, где есть возможности поиска
Политика принятия решений
- Осмотри текущую форму, определи элементы управления поиском и существующие поля ввода для быстрой фильтрации списка.
- Если форма уже содержит поля ввода с фильтрами, и по смыслу они подходят для твой задачи - попробуй использовать их, выбирая в них нужные тебе значения. Если по смыслу они тебе не подходят и могут искажать результат поиска - сбрасывай значения в таких полях, чтобы они не искажали результат поиска.
- Если форма предоставляет стандартное поле поиска, например
СписокСтрокаПоиска, начни использовать его. Учитывай, что при вводе значения в строку поиска, платформа сразу (как правило, дополнительно никаких кнопок нажимать не нужно) осуществляет поиск по всем видимым колонкам списка или таблицы.
- Если стандартный поиск не дал надёжных результатов, используй расширенный поиск.
- Если ни стандартный ни расширенный поиск не могут выразить условие поиска, используй расширенную фильтрацию списка. Например это случаи, когда требуются операторы сравнения
Равно, Не равно, Заполнено, Не заполнено, Содержит, В списке, Не в списке, Больше, Больше или равно, Меньше, Меньше или равно, или когда поиск нужно осуществлять не только по видимым колонкам.
- После применения любого из механизмов поиска/фильтрации, осмотри результат через
ПолучитьИзмененияОкна, и/или ПолучитьСодержимоеТаблицы.
Стандартный поиск
- У большинства списков и табличных частей есть поле наподобие
<Таблица>СтрокаПоиска, например #СписокСтрокаПоиска.
- Устанавливай его через
ВнестиЗначение, чтобы отфильтровать список/таблицу по всем видимым колонкам.
- Поиск будет выполняться по всем колонкам списка одновременно, по нескольким значениям. Строки ищутся по вхождению.
- При поиске объекта по номеру можно вводить номер как с ведущими нулями, так и без указания ведущих нулей. Например, если нужно найти заказ с номером 000000016, достаточно ввести 16.
Расширенный поиск
В большинстве списков есть кнопка <Форма/Таблица/Список>Найти, которая открывает диалог расширенного поиска. Используй расширенный поиск когда необходимо отобрать строки списка строго по одной или выбранным колонках. Расширенный поиск позволяет вначале наложить отбор на одну колонку, затем на другую и так далее. Наложенные отборы объединяются по логическому "И".
Ограничения расширенного поиска:
- Выбор колонок для поиска ограничен только видимыми колонками списка.
- Не поддерживаются выражения и маски.
Чтобы очистить ранее примененный расширенный поиск, см.: @references/ui-controls.md ("Очистка расширенного поиска").
Фильтры
Как правило, каждый динамический список имеет стандартную кнопку типа ФормаНастройкаСписка, при нажатии на которую открывается специальное окно с вкладками, где можно очень гибко настраивать фильтрацию, включая наложение отборов на колонки, не отображаемые в основном списке. Более подробно по работе с этим окном см. @references/ui-controls.md (Расширенная фильтрация).
Обработка результатов
Когда набор результатов достаточно сужен для безопасного чтения, получи строки через ПолучитьСодержимоеТаблицы. Используй точную навигацию по строкам только после того, как строка-кандидат известна.
Типичные проблемы
- Некоторые списки запоминают ранее примененные фильтры/поиск. Если данные "должны существовать", но их не удается найти, сбросьте фильтры к значениям по умолчанию и повторите попытку.
- Справочники и планы счетов могут скрывать элементы внутри свернутых групп или папок (в иерархии). Убедись, что иерархия развернута или режим иерархии переключен соответствующим образом.
- Не рассматривай наличие
FormFind как причину пропускать стандартный поиск, когда стандартный поиск подходит для задачи.
- Не делай вывод, что записи не найдены после одного неудачного поиска, когда процесс все еще зависит от точного канонического имени сущности. Сначала попробуй поискать разные варианты имени.