Осуществляет поиск строк табличной части, соответствующих заданному условию поиска.
Синтаксис
НайтиСтроки(<ПараметрыОтбора>)Примеры платформы
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Номенклатура", ТекТовар);
НайденныеСтроки = Состав.НайтиСтроки(ПараметрыОтбора);Полное описание, параметры и ограничения
Табличная часть.НайтиСтроки (Tabular section.FindRows)
Табличная часть (Tabular section)
НайтиСтроки (FindRows)
Доступен, начиная с версии 8.0.
Синтаксис:
НайтиСтроки(<ПараметрыОтбора>)
Параметры:
<ПараметрыОтбора> (обязательный)
Тип: Структура.
Задает условия поиска: ключ структуры определяет имя колонки, по которой будет осуществляться поиск, а значение структуры - искомое значение.
Возвращаемое значение:
Тип: Массив.
Массив из строк табличной части, соответствующих заданному условию поиска.
Замечание! Массив хранит ссылки на строки табличной части, то есть при изменении строки в табличной части, значение в массиве тоже будет изменено.
Описание:
Осуществляет поиск строк табличной части, соответствующих заданному условию поиска.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Метод эффективно использовать для выборки неуникальных значений.
Пример:
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Номенклатура", ТекТовар);
НайденныеСтроки = Состав.НайтиСтроки(ПараметрыОтбора);
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Заполнить и исправить штрихкоды незаписанного товара
Табличная часть принадлежит объекту справочника. Добавляем строки, находим основной штрихкод и удаляем только пустую учебную строку в памяти.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.
Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;
Товар = Справочники.УчебныеТовары.СоздатьЭлемент();
Товар.Наименование = "Учебная книга";
СтрокаКода = Товар.Штрихкоды.Добавить();
СтрокаКода.Штрихкод = "TRAINING-A-01";
СтрокаКода.Основной = Истина;
СтрокаКода = Товар.Штрихкоды.Вставить(0);
СтрокаКода.Штрихкод = "";
СтрокаКода.Основной = Ложь;
ПустаяСтрока = Товар.Штрихкоды.Найти("", "Штрихкод");
Если ПустаяСтрока <> Неопределено Тогда
Товар.Штрихкоды.Удалить(ПустаяСтрока);
КонецЕсли;
Основные = Товар.Штрихкоды.НайтиСтроки(Новый Структура("Основной", Истина));
Если Основные.Количество() <> 1 Тогда
ВызватьИсключение "Ожидался ровно один основной учебный штрихкод";
КонецЕсли;
Сообщить(Товар.Штрихкоды.Количество() = 1);
Сообщить(Товар.Штрихкоды.Получить(0).Штрихкод = "TRAINING-A-01");
Сообщить(Товар.Штрихкоды.Индекс(Основные[0]) = 0);
Сообщить(Товар.ЭтоНовый());
Сообщить(Товар.Штрихкоды.Выгрузить().Количество() = 1);Разбор по шагам
Добавить возвращает строку табличной части объекта, а Вставить(0) помещает новую строку перед ней.
Найти ищет первое совпадение в указанной колонке; НайтиСтроки возвращает все совпадения по структуре отбора.
Удаляем найденную пустую строку из незаписанного экземпляра. Других объектов базы этот метод не касается.
Выгрузить создаёт отдельную ТаблицуЗначений для дальнейшего анализа; объект справочника по-прежнему новый.
Как проверить результат
В табличной части осталась одна строка TRAINING-A-01, основной штрихкод имеет индекс 0.
Все пять контрольных сравнений дают Истина.
В списке справочника товар не появляется: запись объекта не выполнялась.
Ожидаемый результат
Табличная часть подготовлена и проверена в памяти без сохранения объекта.
На что обратить внимание
TRAINING-A-01 — учебная строка, не валидный торговый EAN. Этот пример не проверяет стандарт штрихкода.
Табличная часть объекта, ТаблицаЗначений и коллекция данных формы — разные API. Схожие названия методов не делают их одним типом.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.