Дано: Документ, в котором в строках ТЧ есть реквизит "Сумма" (то есть суммы введены только в строках ТЧ).
Требуется: получить черным запросом по документам за период для заданного клиента сумму всех сумм и количество документов.
Исходные даные:
- период: ДатаН, ДатаК
- ВыбКонтрагент: заданный клиент
Решение:
Исполнять будем на типовой ТиС 9.2 на примере документа "Реализация". ПРИМЕР УПРОЩЕННЫЙ (это не значит, что мы должны учесть все тонкости, типа, что разные документы одного вида могут быть оформлены в разных валютах или что надо обрабатывать только проведенные)
//*******************************************************************
//
Процедура Сформировать()
Запрос=СоздатьОбъект("Запрос");
ТекстЗапроса="
|Период С ДатаН По ДатаК;
|СуммаПоДокументу = Документ.Реализация.Сумма;
|Контрагент = Документ.Реализация.Контрагент;
|Рейтинг = Документ.Реализация.НомерСтроки;
|Функция СуммаСумм = Сумма(СуммаПоДокументу);
|Функция КоличествоДокументов = Счётчик() Когда(Рейтинг<2);
|Группировка Документ;
|Условие (Контрагент = ВыбКонтрагент);
|";
Запрос.Выполнить(ТекстЗапроса);
//отладка
//ТЗ = ""; Запрос.Выгрузить(ТЗ,1,1);
//ПечатьТЗ(ТЗ);
Сообщить("Итого сумма сумм за период: "+Запрос.СуммаСумм);
Сообщить("Итого документов за период: "+Запрос.КоличествоДокументов);
КонецПроцедуры // Сформировать
Может, кому-то и пригодится.
Возможно, я туплю и есть более простой и красивый вариант черным запросом? - тогда поделитесь...