1С 8.3 Поиск строки по структуре в таблице значений
Данные > Примеры кода 1С > 1С 8.3 Cтруктура
Перейти в раздел примеры кода 1С 8.3:
Выполняет поиск первой строки в таблице значений, удовлетворяющей условиям, заданным в виде структуры отбора. Если ни одна строка не соответствует условиям, возвращает Неопределено. Функция предназначена для упрощения и унификации поиска в таблицах значений.
Найти строку в таблице в 1С 8.3:
// Функция выполняет поиск первой строки таблицы значений по структуре отбора.
//
// Параметры:
// Таблица - ТаблицаЗначений - таблица, в которой производится поиск.
// Структура - Структура - структура, задающая условия отбора:
// Ключ структуры должен совпадать с именем колонки таблицы,
// Значение структуры - искомое значение в этой колонке.
//
// Возвращаемое значение:
// СтрокаТаблицыЗначений, Неопределено - найденная строка или Неопределено,
// если строка не найдена или переданы некорректные параметры.
//
Функция НайтиСтрокуВТаблице(Таблица, Структура)
// Проверяем, что передан действительный объект таблицы значений
Если ТипЗнч(Таблица) <> Тип("ТаблицаЗначений") Или Таблица = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
// Проверяем, что структура отбора действительно является структурой
Если ТипЗнч(Структура) <> Тип("Структура") Или Структура = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
// Выполняем поиск строк, соответствующих условиям
НайденныеСтроки = Таблица.НайтиСтроки(Структура);
// Если ни одной строки не найдено, возвращаем Неопределено
Если НайденныеСтроки.Количество() = 0 Тогда
Возврат Неопределено;
КонецЕсли;
// Возвращаем первую найденную строку
Возврат НайденныеСтроки[0];
КонецФункции
//
// Параметры:
// Таблица - ТаблицаЗначений - таблица, в которой производится поиск.
// Структура - Структура - структура, задающая условия отбора:
// Ключ структуры должен совпадать с именем колонки таблицы,
// Значение структуры - искомое значение в этой колонке.
//
// Возвращаемое значение:
// СтрокаТаблицыЗначений, Неопределено - найденная строка или Неопределено,
// если строка не найдена или переданы некорректные параметры.
//
Функция НайтиСтрокуВТаблице(Таблица, Структура)
// Проверяем, что передан действительный объект таблицы значений
Если ТипЗнч(Таблица) <> Тип("ТаблицаЗначений") Или Таблица = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
// Проверяем, что структура отбора действительно является структурой
Если ТипЗнч(Структура) <> Тип("Структура") Или Структура = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
// Выполняем поиск строк, соответствующих условиям
НайденныеСтроки = Таблица.НайтиСтроки(Структура);
// Если ни одной строки не найдено, возвращаем Неопределено
Если НайденныеСтроки.Количество() = 0 Тогда
Возврат Неопределено;
КонецЕсли;
// Возвращаем первую найденную строку
Возврат НайденныеСтроки[0];
КонецФункции
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник