![]() |
|
Подсчет и вывод сумму по колонке в отчете | ☑ | ||
---|---|---|---|---|
0
max805
26.07.17
✎
03:07
|
Помогите пожалуйста вывести сумму по колонке в печатной форме. Уже голову сломал((
Процедура Отчет(ТабДок, Дата1, Дата2, Организация) Экспорт //{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(Отчет) // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Макет = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("Отчет"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Доверенность.Представление, | Доверенность.Номер КАК Номер, | Доверенность.Дата, | Доверенность.ДатаОкончанияДействия как ДатаДействия, | Доверенность.СуммаДокумента как СуммаДоверенности, | СУММА(Доверенность.СуммаДокумента) КАК СуммаДокумента, | Доверенность.ФизЛицо, | ПРЕДСТАВЛЕНИЕ(Доверенность.ФизЛицо), | Доверенность.Контрагент, | ВЫРАЗИТЬ(Доверенность.Контрагент.НаименованиеПолное КАК СТРОКА(200)) КАК КонтрагентПредставление, | ВЫРАЗИТЬ(Доверенность.ПоДокументу КАК СТРОКА(200)) КАК ПоДокументу, | NULL КАК Расписка, | NULL КАК Отметка, | Доверенность.Ссылка |ИЗ | Документ.ДоверенностьВыданная КАК Доверенность |ГДЕ | Доверенность.Организация = &Организация | И Доверенность.Дата МЕЖДУ &Дата1 И &Дата2"+ ?(ЗначениеЗаполнено(Отчет.Контрагент)," И Доверенность.Контрагент В ИЕРАРХИИ (&Контрагент)","")+ ?(ЗначениеЗаполнено(Отчет.ФизЛицо)," И Доверенность.ФизЛицо В ИЕРАРХИИ (&ФизЛицо)","")+ " | |СГРУППИРОВАТЬ ПО | ВЫРАЗИТЬ(Доверенность.ПоДокументу КАК СТРОКА(200)), | Доверенность.Представление, | Доверенность.Номер, | Доверенность.Дата, | Доверенность.ДатаОкончанияДействия, | Доверенность.СуммаДокумента, | Доверенность.ФизЛицо, | ВЫРАЗИТЬ(Доверенность.Контрагент.НаименованиеПолное КАК СТРОКА(200)), | Доверенность.Ссылка, | Доверенность.Контрагент | |УПОРЯДОЧИТЬ ПО | Номер"; //?(ЗначениеЗаполнено(Контрагент)," И Доверенность.Контрагент В ИЕРАРХИИ &Контрагент","")+ //?(ЗначениеЗаполнено(ФизЛицо)," И Доверенность.ФизЛицо В ИЕРАРХИИ &ФизЛицо","")+ " Запрос.УстановитьПараметр("Дата1", НачалоДня(Дата1)); Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2)); Запрос.УстановитьПараметр("Организация", Отчет.Организация); Запрос.УстановитьПараметр("Контрагент", Отчет.Контрагент); Запрос.УстановитьПараметр("ФизЛицо", Отчет.ФизЛицо); Результат = Запрос.Выполнить(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали"); ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьПодвалТаблицы.Параметры.ИтогоСумма = Отчет.Итого("СуммаДокумента"); ТабДок.Вывести(ОбластьПодвалТаблицы); ТабДок.Очистить(); ОбластьЗаголовок.Параметры.Организация = Отчет.Организация; ОбластьЗаголовок.Параметры.ЗаПериод = "период: "+ПредставлениеПериода(НачалоДня(Дата1), КонецДня(Дата2), "ФП = Истина"); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ТабДок.НачатьАвтогруппировкуСтрок(); ВыборкаДетали = Результат.Выбрать(); Пока ВыборкаДетали.Следующий() Цикл ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали); ОбластьДетальныхЗаписей.Параметры.ФизЛицоПредставление = СокрЛП(ВыборкаДетали.ФизЛицоПредставление); ОбластьДетальныхЗаписей.Параметры.КонтрагентПредставление = СокрЛП(ВыборкаДетали.КонтрагентПредставление); ОбластьДетальныхЗаписей.Параметры.ПоДокументу = СокрЛП(ВыборкаДетали.ПоДокументу); ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень()); КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.Вывести(ОбластьПодвалТаблицы); ///Подвал ФИО = ""; Должность = ""; ТекПользователь = ПараметрыСеанса.ТекущийПользователь; Если ЗначениеЗаполнено(ТекПользователь) и Метаданные.Имя = "БухгалтерияПредприятия" и ЗначениеЗаполнено(ТекПользователь.ФизЛицо) Тогда ДанныеФЛ = ОбщегоНазначения.ДанныеФизЛица(Организация,ТекПользователь.ФизЛицо,Дата2); ФИО=ДанныеФЛ.Представление; Должность=ДанныеФЛ.Должность; Иначе ФИО = СокрЛП(ТекПользователь); КонецЕсли; ОбластьПодвал.Параметры.ФИО = ФИО; ОбластьПодвал.Параметры.Должность = Должность; ТабДок.Вывести(ОбластьПодвал); //}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ КонецПроцедуры |
|||
1
1dvd
26.07.17
✎
06:10
|
Есть два варианта: простой и правильный.
1. В переменной просуммировать все суммыдокумента в отдельной переменной, затем засунуть в ОбластьПодвалТаблицы 2. В запрос добавить итоги общие, переписать обход результата запроса |
|||
2
max805
26.07.17
✎
06:16
|
А вы может помоч как это сделать? я готов даже заплатить какую то сумму за помощ
|
|||
3
Рэйв
26.07.17
✎
06:30
|
(2)
//--------- ИтогСумма=0; ВыборкаДетали = Результат.Выбрать(); Пока ВыборкаДетали.Следующий() Цикл .Заполнить(ВыборкаДетали); ОбластьДетальныхЗаписей.Параметры.ФизЛицоПредставление = СокрЛП(ВыборкаДетали.ФизЛицоПредставление); ОбластьДетальныхЗаписей.Параметры.КонтрагентПредставление = СокрЛП(ВыборкаДетали.КонтрагентПредставление); ОбластьДетальныхЗаписей.Параметры.ПоДокументу = СокрЛП(ВыборкаДетали.ПоДокументу); ИтогСумма=ИтогСумма+ВыборкаДетали.СуммаДокумента; ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень()); КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); //в область ОбластьПодвалТаблицы вставь параметр ИтогСумма ОбластьПодвалТаблицы.Параметры.ИтогСумма=ИтогСумма; ТабДок.Вывести(ОбластьПодвалТаблицы); //--- деньги можешь перечислить в фонд мира:-) |
|||
4
max805
26.07.17
✎
06:55
|
Огромное спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |