Имя: Пароль:
1C
1С v8
Отбор из запроса
0 Преднаименование
 
04.10.12
07:01
Допустим есть результат запроса с группировками типа

Договор1 100р.
>Дата1    100р.
>>Документ1 70р.
>>Документ2 30р.
Договор2 200р.
>Дата2    100р.
>>Документ3 100р.
>Дата3
>>Документ4 100р.

Мне нужно получить данные по Договору1. Как можно это отобрать при выборке?
1 Рэйв
 
04.10.12
07:03
Отобрать надо в тексте запроса
2 Преднаименование
 
04.10.12
07:04
(1) С начала надо по Договору1, а потом по Договору 2
3 Рэйв
 
04.10.12
07:04
А результат можно выгрузить в ТЗ и в ней  сделайть
.Найти("Договр1","ПолеДоговор")
4 Живой Ископаемый
 
04.10.12
07:06
ПолучитьГруппировку()
5 Преднаименование
 
04.10.12
07:06
(3) Иерархию надо сохранить.
6 Живой Ископаемый
 
04.10.12
07:07
Наврал...
ВыборкаИзРезультатаЗапроса.НайтиСледующий (QueryResultSelection.FindNext)
ВыборкаИзРезультатаЗапроса (QueryResultSelection)
НайтиСледующий (FindNext)
Вариант синтаксиса: По структуре

Синтаксис:

НайтиСледующий(<СтруктураПоиска>)
Параметры:

<СтруктураПоиска> (обязательный)

Тип: Структура.
Структура, в ключе которой находятся имена полей, в значениях - значения полей.
Вариант синтаксиса: По значению в колонке

Синтаксис:

НайтиСледующий(<Значение>, <Колонки>)
Параметры:

<Значение> (обязательный)

Тип: Произвольный.
Искомое значение.
<Колонки> (необязательный)

Тип: Строка.
Названия колонок, в которых будет осуществляться поиск значений. Если "Пустая строка" - поиск во всех колонках.
Значение по умолчанию: Пустая строка.
Возвращаемое значение:

Тип: Булево.
Истина - запись найдена; Ложь - в противном случае.
Описание:

Осуществляет поиск записи по указанным условиям и установку указателя выборки на нее.

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

Сервер, толстый клиент, внешнее соединение.
Примечание:

Текущая запись не рассматривается.
Пример:

СтуктураПоиска = Новый Структура("Товар, Контрагент");
СтуктураПоиска.Товар = НужныйТовар;
СтуктураПоиска.Контрагент = НужныйКонтрагент;
Пока Выборка.НайтиСледующий(СтуктураПоиска) Цикл
   ...
КонецЦикла;
7 Преднаименование
 
04.10.12
07:07
(4) В справке 1С про такое не написано.
8 Преднаименование
 
04.10.12
07:08
(6) Попробую
9 ZanderZ
 
04.10.12
07:13
(0) я использую СледующийПоЗначениюПоля обычно если без иерархии
10 Преднаименование
 
04.10.12
08:32
(6)

Получилось вот только так:

                    ВыборкаДокКосгу=Результат2.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
                    ВыборкаДокКосгу.Сбросить();
                                   
                    Пока ВыборкаДокКосгу.НайтиСледующий(Новый Структура("КОСГУДокумента", ВыборкаДоговоры.КОСГУ)) Цикл
                        ВыборкаДокКБК = ВыборкаДокКосгу.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
                        Пока ВыборкаДокКБК.НайтиСледующий(Новый Структура("КБКДокумента", ВыборкаДоговоры.КБКДт)) Цикл
                            ВыборкаДокДОговоры = ВыборкаДокКБК.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
                            Пока ВыборкаДокДОговоры.НайтиСледующий(Новый Структура("ДоговорДокумента", ВыборкаДоговоры.Договоры)) Цикл
                               
                                ВыборкаДокВидДокументов = ВыборкаДокДОговоры.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
                                Пока ВыборкаДокВидДокументов.Следующий() Цикл
                                    Сообщить("ЗЗ"+ВыборкаДокВидДокументов.ВидДокументов);
                                ВыборкаДокДокументы = ВыборкаДокВидДокументов.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
                                Пока ВыборкаДокДокументы.Следующий() Цикл
                                    Сообщить("ЗЗъъъ"+ВыборкаДокДокументы.Документ);
                                   КонецЦикла;
                                КонецЦикла;
                            КонецЦикла;
                        КонецЦикла;
                    КонецЦикла;


А почему-то запихать в структуру поиска сразу три параметра не получается.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший