Имя: Пароль:
1C
 
Как найти строку по наименовани в дереве значений?
0 AlexHP
 
31.03.10
08:41
Сабж
1 Невский Александр
 
31.03.10
08:44
КоллекцияСтрокДереваЗначений (ValueTreeRowCollection)
Найти (Find)
Синтаксис:
Найти(<Значение>, <Колонки>, <Включать подчиненные>)
Параметры:
<Значение> (обязательный)
Тип: Произвольный. Искомое значение.
<Колонки> (необязательный)
Тип: Строка. Список имен колонок, в которых будет осуществляться поиск, разделенных запятыми.
Если параметр не указан, поиск осуществляется по всем колонкам дерева.
Значение по умолчанию: Пустая строка
<Включать подчиненные> (необязательный)
Тип: Булево. Определяет, будут ли участвовать в поиске строки подчиненных коллекций (если таковые имеются). Истина - строки подчиненных коллекций участвуют в поиске.
Значение по умолчанию: Ложь
Возвращаемое значение:
Тип: СтрокаДереваЗначений; Неопределено. Строка, которая содержит искомое значение. Если значение не найдено, то возвращается значение Неопределено.
Описание:
Осуществляет поиск значения в дереве в указанных колонках коллекции строк дерева значений.
Примечание:
Метод эффективно использовать для поиска уникальных значений.
Пример:
НайденнаяСтрока = СтрокиСостава.Найти(ТекЗатрата, "Затрата");
Если НайденнаяСтрока = Неопределено Тогда
   Предупреждение("Затрата не найдена!");
Иначе
   Количество = НайденнаяСтрока.Норма;
КонецЕсли;
2 AlexHP
 
31.03.10
08:50
уточню:

ПараметрыОтбора = Новый Структура;
   ПараметрыОтбора.Вставить( "Наименование","Банк");
   ПараметрыОтбора.Вставить( "Наименование","Касса");
   РезультатПоиска = ОбработкаОбмен.ТаблицаПравилВыгрузки.Строки.НайтиСтроки(ПараметрыОтбора,ИСТИНА);

   Для Каждого НайдСтрока Из РезультатПоиска Цикл
       НайдСтрока.ИспользоватьОтбор = Истина;
   КонецЦикла;

хз почему но не находит
3 Невский Александр
 
31.03.10
08:57
(2) А точно - "Банк" или "Касса", без пробелов?
4 AlexHP
 
31.03.10
09:12
Точно!

Самое интересное находит только то что в структуре добавлено последней строкой
5 AlexHP
 
31.03.10
09:12
Тоесть в данном варианте "Касса"
6 butterbean
 
31.03.10
09:13
(5) надо     ПараметрыОтбора.Вставить( "Банк","Наименование");
   ПараметрыОтбора.Вставить( "Касса","Наименование");
7 AlexHP
 
31.03.10
09:16
(6) нет))
8 butterbean
 
31.03.10
09:19
(7) что "нет"?? ты два раза вставил ключ "Наименование"... но если "Наименование" это колонка, то через НайтиСтроки() ты не найдешь два значения
9 AlexHP
 
31.03.10
09:22
(8) семен семёныч)))
Спасибо!

Но предложенный вариант(6) не сработает... Параметры в функцию

РезультатПоиска = ОбработкаОбмен.ТаблицаПравилВыгрузки.Строки.НайтиСтроки(ПараметрыОтбора,ИСТИНА);

Передадутся в неправильном порядке!
10 butterbean
 
31.03.10
09:28
(9) я же не знаю какие у тебя в дереве колонки
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн