"Здравствуйте необходимо доработать DOCPRINT.ERT, чтобы во всех сформированных отчётах выводились итоги с сложением сумм из одного столбца, киньте идею, код сформировать:<br><pre>Процедура СформироватьИтоги()<br> Перем Час,Минута,Сек,СтрПредставление;<br> Перем СтрУсловие,СтрРасшифровка;<br> ДокМД = Метаданные.Документ(ФормДокумент.ТекущаяСтрока());<br> Если (ФормДатаНач>ФормДатаКон)И(ФормДатаКон<>Дата(0)) Тогда<br> Предупреждение("Внимание!Дата начала выбора превышает дату конца.Запрос не выполнен!");<br> Возврат;<br> КонецЕсли;<br> ДатаКон=ФормДатаКон;<br> Если РежТА=1 Тогда<br> Попытка<br> ДатаКон=Строка(ПолучитьДатуТА())+" "+ПолучитьВремяТА(Час,Минута,Сек);<br> Исключение<br> ДатаКон=Строка(РабочаяДата());<br> КонецПопытки;<br> КонецЕсли;<br> ТекстЗапроса = ПостроитьЗапрос("Итоги");<br> Запрос = СоздатьОбъект("Запрос");<br> Попытка<br> Запрос.выполнить(ТекстЗапроса);<br> Исключение<br> Предупреждение(ОписаниеОшибки());<br> Возврат;<br> КонецПопытки;<br> гТаб = СоздатьОбъект("Таблица");<br> гТаб.ИсходнаяТаблица("Итоги");<br> гСекцияСтрРеквизит = гТаб.ПолучитьСекцию("Строка|Реквизит");<br> гСекцияФункции=гТаб.ПолучитьСекцию("Строка|Функция");<br><br> гТаб.Опции(0,0,гТаб.ВысотаТаблицы(),0);<br> // Нарисуем шапку...<br> ПечатьУсловия(СтрУсловие,СтрРасшифровка);<br> гТаб.ВывестиСекцию("Заголовок");<br> гТаб.ВывестиСекцию("Шапка|гНачало");<br><br> СекцШапкаРекв = гТаб.ПолучитьСекцию("Шапка|Реквизит");<br> Если ФлОднаКолГруппы=0 Тогда<br> //колонки группировок<br> Для Инд = 1 По ФормГруппы.РазмерСписка() Цикл<br> ФормГруппы.ПолучитьЗначение(Инд,СтрПредставление);<br> СекцШапкаРекв.Реквизит.Текст = СтрПредставление;<br> гТаб.ПрисоединитьСекцию(СекцШапкаРекв);<br> КонецЦикла;<br> Иначе<br> //одна колонка группировки<br> СтрКолГруппы="""";<br> Для Инд = 1 По ФормГруппы.РазмерСписка() Цикл<br> ФормГруппы.ПолучитьЗначение(Инд,СтрПредставление);<br> Если Инд<ФормГруппы.РазмерСписка() Тогда<br> СтрКолГруппы = СтрКолГруппы+СтрПредставление+"/ ";<br> Иначе<br> СтрКолГруппы = СтрКолГруппы+СтрПредставление;<br> КонецЕсли;<br> КонецЦикла;<br> Если ФормГруппы.РазмерСписка()>0 Тогда<br> СекцШапкаРекв.Реквизит.Текст = СтрКолГруппы;<br> СекцШапкаРекв.Реквизит.Расшифровка(СтрКолГруппы);<br> гТаб.ПрисоединитьСекцию(СекцШапкаРекв);<br> КонецЕсли;<br> КонецЕсли;<br> Если ФормГруппы.РазмерСписка()=0 Тогда<br> СекцШапкаРекв.Реквизит.Текст = """";<br> гТаб.ПрисоединитьСекцию(СекцШапкаРекв);<br> КонецЕсли;<br><br> Таб = гТаб.ПолучитьСекцию("Шапка|Функция");<br><br> Если (ФлОднаКолГруппы=0)ИЛИ(ФормГруппы.РазмерСписка()=0) Тогда<br> КолГрупп=ФормГруппы.РазмерСписка();<br> Иначе<br> КолГрупп=1;<br> КонецЕсли;<br> НачЗначение = 1 + КолГрупп;<br> Если ФормГруппы.РазмерСписка()=0 Тогда<br> НачЗначение=НачЗначение+1;<br> КонецЕсли;<br><br> ВидФунк=ФормВидыФункций.ПолучитьЗначение(ФормВидыФункций.ТекущаяСтрока());<br> Для Инд = 1 По ФормФункции.РазмерСписка() Цикл<br> ФормФункции.ПолучитьЗначение(Инд,СтрПредставление);<br> Таб.Функ.Текст = СтрПредставление;<br> гТаб.ПрисоединитьСекцию(Таб);<br> КонецЦикла;<br> КолОбл=ФормФункции.РазмерСписка() + НачЗначение;<br> Если КолОбл>=НачЗначение+1 тогда<br> Обл = гТаб.Область(4,НачЗначение+1, 4, КолОбл );<br> Обл.Объединить();<br> Обл.РамкаСлева(3);<br> Обл.РамкаСправа(3);<br> Обл.РамкаСнизу(3);<br> Обл.Текст=ВидФунк;<br> КонецЕсли;<br><br> //печать данных<br> гУровеньРекурсии=0;<br> гКоличествоСтрок=0;<br> ОбработкаРезультатов(гТаб,Запрос);<br> Запрос.вНачалоВыборки();<br> ВывестиРеквизиты(гТаб,Запрос);<br> ВывестиФункции(гТаб,Запрос);<br><br> //форматирование<br> // Установим ширину...<br> Для Инд = 1 По ФормГруппы.РазмерСписка() Цикл<br> Ширина = гДлина.Получить(ФормГруппы.ПолучитьЗначение(Инд));<br> Если ПустоеЗначение(Ширина) = 1 Тогда<br> Ширина = 16;<br> КонецЕсли;<br> Если ФлОднаКолГруппы=0 Тогда<br> гТаб.Область(,Инд+1,, Инд+1).ШиринаСтолбца(Ширина);<br> ИначеЕсли гТаб.Область(,2,, 2).ШиринаСтолбца()<Ширина*8 Тогда<br> гТаб.Область(,2,, 2).ШиринаСтолбца(Ширина);<br> КонецЕсли;<br> КонецЦикла;<br><br> Для Инд = 1 По ФормФункции.РазмерСписка() Цикл<br> Ширина = гДлина.Получить(ФормФункции.ПолучитьЗначение(Инд));<br> Если ПустоеЗначение(Ширина) = 1 Тогда<br> Ширина = 16;<br> КонецЕсли;<br> Если Ширина<СтрДлина(ФормФункции.ПолучитьЗначение(Инд)) Тогда<br> Ширина=СтрДлина(ФормФункции.ПолучитьЗначение(Инд))+1;<br> КонецЕсли;<br> гТаб.Область(, Инд + НачЗначение,, Инд + НачЗначение).ШиринаСтолбца(Ширина);<br> КонецЦикла;<br> гТаб.Область(4,2,гТаб.ВысотаТаблицы(), НачЗначение+ФормФункции.РазмерСписка()).РамкаОбвести(4,4,4,4);<br> гТаб.Область(5,2,гТаб.ВысотаТаблицы(), НачЗначение+ФормФункции.РазмерСписка()).ВертикальноеПоложение(2);<br> гТаб.Опции(0,0,5,0);<br> гТаб.ТолькоПросмотр(1);<br> гТаб.Показать("Документ " + ДокМД.Представление());<br>КонецПроцедуры </pre>"