"Весь этот головняк потому что в запросах 7.7 значения периодических реквизитов вычисляются только на конечную дату запроса. Кроме того, прямо в тексте запроса проблематично написать какое то подобное вычисление:<br> <br> <br><pre>|Функция КонОценочнаяСтоимость = ЦенаНаКонец*КонОст(Количество); </pre><br><br> <br> <br>хотя есть незадокументированная "фича", где можно написать что то типа такого:<br> <br> <br><pre>|Цена=Справочник.Цены.Цена;<br>|Функция КонКоличество=КонОст(Количество);<br>|Функция КонОценочнаяСтоимость = Сумма(Цена*Запрос.КонКоличество); </pre><br><br>и оно даже что то вычисляет, но иногда результат логике вообще не поддается<br> <br>Если отвечать на поставленный вопрос "в лоб", то постобработкой можно, конечно, сделать рассчет итогов по группам примерно вот так:<br> <br><br><pre>ТаблТоваров=СоздатьОбъект("ТаблицаЗначений");<br>ТаблТоваров.НоваяКолонка("Товар","Справочник.Номенклатура");<br>ТаблТоваров.НоваяКолонка("ОценочнаяСтоимостьНаНачало","Число",15,2);<br>ТаблТоваров.НоваяКолонка("ОценочнаяСтоимостьНаКонец","Число",15,2);<br>//...<br>//тут таблица как то заполняется по запросу и перебором периодики цен<br>//...<br>Если ТаблТоваров.КоличествоСтрок()>0 Тогда<br> ТаблИтогов=СоздатьОбъект("ТаблицаЗначений");<br> ТаблТоваров.Выгрузить(ТаблИтогов);<br> ТаблИтогов.НоваяКолонка("Родитель","Справочник.Номенклатура");<br> Пока 1=1 Цикл<br> Для i=1 По ТаблИтогов.КоличествоСтрок() Цикл<br> ТаблИтогов.УстановитьЗначение(i,"Родитель",ТаблИтогов.ПолучитьЗначение(i,"Товар").Родитель);<br> КонецЦикла;<br><br> ТаблИтогов.Свернуть("Родитель","ОценочнаяСтоимостьНаНачало,ОценочнаяСтоимостьНаКонец");<br><br> Если ТаблИтогов.КоличествоСтрок()=1 Тогда<br> Если ПустоеЗначение(ТаблИтогов.ПолучитьЗначение(1,"Родитель"))=1 Тогда<br> Прервать;<br> КонецЕсли;<br> КонецЕсли;<br><br> ТаблИтогов.НоваяКолонка("Товар","Справочник.Номенклатура");<br> Для i=1 По ТаблИтогов.КоличествоСтрок() Цикл<br> Если ПустоеЗначение(ТаблИтогов.ПолучитьЗначение(i,"Родитель"))=0 Тогда<br> ТаблТоваров.НоваяСтрока();<br> ТаблТоваров.Товар=ТаблИтогов.ПолучитьЗначение(i,"Родитель");<br> ТаблТоваров.ОценочнаяСтоимостьНаНачало=ТаблИтогов.ПолучитьЗначение(i,"ОценочнаяСтоимостьНаНачало");<br> ТаблТоваров.ОценочнаяСтоимостьНаКонец=ТаблИтогов.ПолучитьЗначение(i,"ОценочнаяСтоимостьНаКонец");<br> ТаблИтогов.УстановитьЗначение(i,"Товар",ТаблИтогов.ПолучитьЗначение(i,"Родитель"));<br> КонецЕсли;<br> КонецЦикла;<br> КонецЦикла;<br>КонецЕсли;<br><br>ТаблТоваров.Свернуть("Товар","ОценочнаяСтоимостьНаНачало,ОценочнаяСтоимостьНаКонец");<br>//в итоге в ТаблТоваров окажутся помимо сведений о товарах еще и сведения о суммах, собранных по вышестоящим родителям вплоть до корневого уровня </pre>"