Как в запросе получить выборку документов?

1. Sowhat 08.06.09 09:42 Сейчас в теме
Я - ламо. Подскажите пожалуйста как получить выборку документов по счетам.

Период с НачДата по КонДата;
ОбрабатыватьОперации Включенные;
Счет = Операция.Счет;
Сумма = Операция.Сумма;
Контрагент = Операция.Субконто.Контрагенты.ТекущийЭлемент;
Функция СуммаСНД = СНД(Сумма);
Функция СуммаСНК = СНК(Сумма);
Функция СуммаСКД = СКД(Сумма);
Функция СуммаСКК = СКК(Сумма);
Функция СуммаДО = ДО(Сумма);
Функция СуммаКО = КО(Сумма);
Группировка Контрагент Упорядочить по Контрагент.Наименование Без групп;
Группировка Документ;
Условие(сзСчета.НайтиЗначение(Счет) > 0);

Пока Запрос.Группировка(1) = 1 Цикл
Пока Запрос.Группировка(2) = 1 Цикл

//вот здесь хочу увидеть документы, но ничего не выводится

КонецЦикла;
КонецЦикла;
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Tatitutu 3855 09.06.09 06:55 Сейчас в теме
(1) Условие(сзСчета.Принадлежит(Счет) > 0); если сзСчета не большой список, то быстрей будет работать
5. honor 18.06.09 22:33 Сейчас в теме
Вот как то так....

Процедура Операция()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Операция)
|Период с ВыбНачПериода по ВыбКонПериода;
|ОбрабатыватьДокументы все;
|СчетД = Операция.Дебет.Счет;
|СчетК = Операция.Кредит.Счет;
|Сумма = Операция.Сумма;
|Контрагент = Операция.Субконто.Контрагенты;
|СуммаОпер = Операция.СуммаОперации;
|Докум = Операция.ТекущийДокумент;
|Функция СуммаСНД = СНД(Сумма);
|Функция СуммаСНК = СНК(Сумма);
|Функция СуммаСКД = СКД(Сумма);
|Функция СуммаДО = ДО(Сумма);
|Функция СуммаКО = КО(Сумма);
|Группировка Контрагент без групп все;
|Группировка Документ;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Операция");
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей Контрагент
Таб.ВывестиСекцию("Контрагент");
Пока Запрос.Группировка(2) = 1 Цикл
// Заполнение полей Документ
Таб.ВывестиСекцию("Документ");
КонецЦикла;
КонецЦикла;
// Заполнение полей "Итого"
Таб.ВывестиСекцию("Итого");
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Операция", "");
КонецПроцедуры
2. Swetik* 09.06.09 06:44 Сейчас в теме
Надеюсь первый обзац оформлен как ТекстЗапроса, потом - Запрос.Выполнить(ТекстЗапроса), а в цикле - Таб.ВывестиСекцию("Секция")...
4. Dolly_EV 269 18.06.09 09:14 Сейчас в теме
Может все же так:

Док = Операция.Документ;
....
Группировка Док;

?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот