СписокПолей.Найти

Методы · Find

Осуществляет поиск поле ввода по строке по его имени.

Синтаксис

Найти(<ИмяПоля>)
Полное описание, параметры и ограничения

СписокПолей.Найти (FieldList.Find)

СписокПолей (FieldList)

Найти (Find)

Доступен, начиная с версии 8.0.

Синтаксис:
Найти(<ИмяПоля>)
Параметры:

<ИмяПоля> (обязательный)
Тип: Строка.
Имя искомого поля ввода по строке.
Возвращаемое значение:
Тип: Поле, Неопределено.
Если не найден, возвращается Неопределено.
Описание:

Осуществляет поиск поле ввода по строке по его имени.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Проверить, разрешён ли поиск товара по артикулу

Индекс реквизита и поля ввода по строке — часть контракта выбора ссылки. Читаем их настройки, не делаем вывод о фактической скорости или результате поиска.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.

  2. Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.

  3. Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.

  4. Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.

  5. Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.

  6. Все проверки этого блока только читают метаданные собственного справочника. Изменения настроек из подготовки выполняйте вручную в Конфигураторе только новой базы Учебная85, затем обновляйте конфигурацию БД.

  7. Не устанавливайте расширения в учебную базу и не создавайте дополнительные индексы, характеристики, команды или макеты, если конкретное упражнение этого не требует.

  8. У реквизита Артикул задайте Индексировать = Индексировать. В свойствах УчебныеТовары → Ввод по строке выберите Код, Наименование и Артикул; Способ выбора — обоими способами. Обновите БД.


Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
    ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;

Описание = Метаданные.Справочники.УчебныеТовары;
Сообщить(Описание.ВводПоСтроке.Найти("Артикул") <> Неопределено);
Сообщить(Описание.ВводПоСтроке.Найти("Код") <> Неопределено);
Сообщить(Описание.ВводПоСтроке.Найти("Наименование") <> Неопределено);
Сообщить("Число полей ввода по строке: " + Строка(Описание.ВводПоСтроке.Количество()));
Сообщить("Способ выбора: " + Строка(Описание.СпособВыбора));
Сообщить("Быстрый выбор: " + Строка(Описание.БыстрыйВыбор));
Сообщить("Создание при вводе: " + Строка(Описание.СозданиеПриВводе));
Сообщить("История выбора: " + Строка(Описание.ИсторияВыбораПриВводе));
Сообщить("Способ поиска строки: " + Строка(Описание.СпособПоискаСтрокиПриВводеПоСтроке));
Сообщить("Режим получения: " + Строка(Описание.РежимПолученияДанныхВыбораПриВводеПоСтроке));
Сообщить("Полнотекстовый поиск: " + Строка(Описание.ПолнотекстовыйПоиск));
Сообщить("Полнотекстовый поиск при вводе: " + Строка(Описание.ПолнотекстовыйПоискПриВводеПоСтроке));

Разбор по шагам

  1. Для Артикул в Конфигураторе сначала включаем индексирование, затем добавляем его в ВводПоСтроке. Код и Наименование — стандартные поля.

  2. Найти проверяет наличие поля настройки, не ищет товар по введённому артикулу. В учебной базе может вообще не быть записанных товаров.

  3. Способ выбора и БыстрыйВыбор относятся к интерфейсу выбора; СозданиеПриВводе — к поведению создания нового объекта.

  4. Полнотекстовый поиск и способ поиска строки — разные настройки. Чтение флага не строит индекс и не доказывает производительность поиска.

Как проверить результат

  1. Три проверки дают Истина.

  2. Сообщения показывают фактические режимы выбора/поиска. После ручного удаления Артикул из ВводПоСтроке первая проверка становится Ложь, остальные две остаются Истина.

Ожидаемый результат

Проверка состава полей поиска и смежных настроек перед реализацией ввода ссылки.

На что обратить внимание

  1. Индексация реквизита сама по себе не означает включение в ВводПоСтроке.

  2. БыстрыйВыбор имеет смысл при способе выбора обоими способами; иначе не делайте по флагу вывод о фактическом интерфейсе.

  3. История выбора не равна истории данных объекта и не обеспечивает доступ к чужим объектам.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Проверить поля ввода по строке и режимы выбора вида свойства

ВводПоСтроке — список полей настройки, не результат поиска видов характеристик. Данные плана пример не читает.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Создайте НОВУЮ пустую файловую базу и назовите корень конфигурации Учебная85. Не добавляйте учебные объекты в УТ/КА2/УНФ/БП и не подключайте расширения.

  2. Конфигуратор → Планы видов характеристик → Добавить: имя УчебныеСвойства, синоним Учебные свойства. Укажите длину кода 10, длину наименования 100, автонумерацию и контроль уникальности включите.

  3. Включите иерархию плана. В свойстве Тип выберите только Число (12 цифр, 2 дробных, неотрицательное) и Строка (30 символов, переменная длина). Дополнительные значения характеристик не назначайте.

  4. Реквизиты, табличные части, предопределённые элементы, формы, команды, макеты, характеристики и дополнительные индексы не создавайте. Модуль объекта и модуль менеджера оставьте пустыми; историю данных выключите.

  5. Создайте серверный общий модуль УчебныеЗадачи с процедурой ВыполнитьПример() Экспорт и вызывайте её из серверного обработчика учебной обработки. Обновите конфигурацию базы данных перед первым запуском.

  6. Код этого блока не вызывает Записать, не устанавливает блокировки и не меняет настройки метаданных. Учебные виды характеристик существуют только в памяти.

  7. У УчебныеСвойства в настройке ВводПоСтроке оставьте ровно Код и Наименование. Обновите конфигурацию БД.

Если Метаданные.ПланыВидовХарактеристик.Найти("УчебныеСвойства") = Неопределено Тогда
    ВызватьИсключение "Создайте собственный план УчебныеСвойства по подготовке";
КонецЕсли;
Описание = Метаданные.ПланыВидовХарактеристик.УчебныеСвойства;
Сообщить(Описание.ВводПоСтроке.Найти("Код") <> Неопределено);
Сообщить(Описание.ВводПоСтроке.Найти("Наименование") <> Неопределено);
Для Каждого Поле Из Описание.ВводПоСтроке Цикл
    Сообщить("Поле ввода по строке: " + Поле.Имя);
КонецЦикла;
Сообщить("БыстрыйВыбор: " + Строка(Описание.БыстрыйВыбор));
Сообщить("ИсторияВыбораПриВводе: " + Строка(Описание.ИсторияВыбораПриВводе));
Сообщить("ПолнотекстовыйПоиск: " + Строка(Описание.ПолнотекстовыйПоиск));
Сообщить("ПолнотекстовыйПоискПриВводеПоСтроке: " + Строка(Описание.ПолнотекстовыйПоискПриВводеПоСтроке));
Сообщить("РежимПолученияДанныхВыбораПриВводеПоСтроке: " + Строка(Описание.РежимПолученияДанныхВыбораПриВводеПоСтроке));
Сообщить("СозданиеПриВводе: " + Строка(Описание.СозданиеПриВводе));
Сообщить("СпособВыбора: " + Строка(Описание.СпособВыбора));
Сообщить("СпособПоискаСтрокиПриВводеПоСтроке: " + Строка(Описание.СпособПоискаСтрокиПриВводеПоСтроке));

Разбор по шагам

  1. По подготовке ввод по строке выполняется по Код и Наименование. Найти ищет описание поля настройки.

  2. Перебор списка показывает технические имена полей, по которым платформа будет выполнять ввод.

  3. Режим поиска, получения данных выбора, полнотекстовые настройки и историю ввода выводим отдельно: они решают разные задачи.

  4. БыстрыйВыбор имеет смысл в соответствующем способе выбора. Не трактуем вывод этого флага как наличие найденного вида свойства.

Как проверить результат

  1. Две проверки Код и Наименование дают Истина.

  2. В списке имён видны Код и Наименование; дальше выводятся восемь фактических режимов.

  3. Ни выборка ПВХ, ни поиск элемента по коду этим кодом не выполняются.

Ожидаемый результат

Диагностика настройки ввода и выбора без смешивания с данными характеристик.

На что обратить внимание

  1. Поддержка поиска по полю не создаёт индекс автоматически для произвольного добавленного реквизита.

  2. Не путайте Найти у СписокПолей и НайтиПоКоду у менеджера ПВХ.

  3. Настройка поиска не обходит права доступа и не гарантирует скорость в большой рабочей базе.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.