Я - ламо. Подскажите пожалуйста как получить выборку документов по счетам.
Период с НачДата по КонДата;
ОбрабатыватьОперации Включенные;
Счет = Операция.Счет;
Сумма = Операция.Сумма;
Контрагент = Операция.Субконто.Контрагенты.ТекущийЭлемент;
Функция СуммаСНД = СНД(Сумма);
Функция СуммаСНК = СНК(Сумма);
Функция СуммаСКД = СКД(Сумма);
Функция СуммаСКК = СКК(Сумма);
Функция СуммаДО = ДО(Сумма);
Функция СуммаКО = КО(Сумма);
Группировка Контрагент Упорядочить по Контрагент.Наименование Без групп;
Группировка Документ;
Условие(сзСчета.НайтиЗначение(Счет) > 0);
Пока Запрос.Группировка(1) = 1 Цикл
Пока Запрос.Группировка(2) = 1 Цикл
//вот здесь хочу увидеть документы, но ничего не выводится
КонецЦикла;
КонецЦикла;
Период с НачДата по КонДата;
ОбрабатыватьОперации Включенные;
Счет = Операция.Счет;
Сумма = Операция.Сумма;
Контрагент = Операция.Субконто.Контрагенты.ТекущийЭлемент;
Функция СуммаСНД = СНД(Сумма);
Функция СуммаСНК = СНК(Сумма);
Функция СуммаСКД = СКД(Сумма);
Функция СуммаСКК = СКК(Сумма);
Функция СуммаДО = ДО(Сумма);
Функция СуммаКО = КО(Сумма);
Группировка Контрагент Упорядочить по Контрагент.Наименование Без групп;
Группировка Документ;
Условие(сзСчета.НайтиЗначение(Счет) > 0);
Пока Запрос.Группировка(1) = 1 Цикл
Пока Запрос.Группировка(2) = 1 Цикл
//вот здесь хочу увидеть документы, но ничего не выводится
КонецЦикла;
КонецЦикла;
По теме из базы знаний
- Дополнение остатков периодами в запросе
- Нетривиальные подходы в решении всем известных проблем: ускорение «больших» документов в 1С и ускорение поиска по подстроке. Как добиться эффекта в разы?
- Как сдать экзамен 1С:Специалист по платформе?
- Как построить микросервисную инфраструктуру
- Смотрим запросы 1С через Microsoft SQL Profiler по следам ошибок разработчиков, приводящих к проблемам производительности
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вот как то так....
Процедура Операция()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Операция)
|Период с ВыбНачПериода по ВыбКонПериода;
|ОбрабатыватьДокументы все;
|СчетД = Операция.Дебет.Счет;
|СчетК = Операция.Кредит.Счет;
|Сумма = Операция.Сумма;
|Контрагент = Операция.Субконто.Контрагенты;
|СуммаОпер = Операция.СуммаОперации;
|Докум = Операция.ТекущийДокумент;
|Функция СуммаСНД = СНД(Сумма);
|Функция СуммаСНК = СНК(Сумма);
|Функция СуммаСКД = СКД(Сумма);
|Функция СуммаДО = ДО(Сумма);
|Функция СуммаКО = КО(Сумма);
|Группировка Контрагент без групп все;
|Группировка Документ;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Операция");
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей Контрагент
Таб.ВывестиСекцию("Контрагент");
Пока Запрос.Группировка(2) = 1 Цикл
// Заполнение полей Документ
Таб.ВывестиСекцию("Документ");
КонецЦикла;
КонецЦикла;
// Заполнение полей "Итого"
Таб.ВывестиСекцию("Итого");
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Операция", "");
КонецПроцедуры
Процедура Операция()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Операция)
|Период с ВыбНачПериода по ВыбКонПериода;
|ОбрабатыватьДокументы все;
|СчетД = Операция.Дебет.Счет;
|СчетК = Операция.Кредит.Счет;
|Сумма = Операция.Сумма;
|Контрагент = Операция.Субконто.Контрагенты;
|СуммаОпер = Операция.СуммаОперации;
|Докум = Операция.ТекущийДокумент;
|Функция СуммаСНД = СНД(Сумма);
|Функция СуммаСНК = СНК(Сумма);
|Функция СуммаСКД = СКД(Сумма);
|Функция СуммаДО = ДО(Сумма);
|Функция СуммаКО = КО(Сумма);
|Группировка Контрагент без групп все;
|Группировка Документ;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Операция");
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей Контрагент
Таб.ВывестиСекцию("Контрагент");
Пока Запрос.Группировка(2) = 1 Цикл
// Заполнение полей Документ
Таб.ВывестиСекцию("Документ");
КонецЦикла;
КонецЦикла;
// Заполнение полей "Итого"
Таб.ВывестиСекцию("Итого");
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Операция", "");
КонецПроцедуры
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот