Отражение реквизита СУММА в отчете

Версия для печатиPDF-версия

Есть справочник Статьирасходов.

Есть форма отчета ОстатокДенежных средств по смете

В форме элемента, которая заполняет справочник есть Поле ввода куда пользователь вносит сумму.

Нужно чтобы в отчете выводилась данная сумма. Имеется код с помощью которого формируется отчет, в отчете сидят все данные кроме суммы. Сумма в форму была добавлена позже. Помогите пожалуйста добавить в отчет эту сумму.


Процедура ПриОткрытии()
	Год = Год(ТекущаяДата());
	Организация = глЗначениеПеременной("ОсновнаяОрганизация");
	НачПериода = НачалоГода(ТекущаяДата());
	КонПериода = ТекущаяДата();
КонецПроцедуры

Процедура ДействияФормыПечать(Кнопка)
	ТабДок = ЭлементыФормы.ТабличногоДокумента;
	ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
	ТабДок.Напечатать(Ложь);
КонецПроцедуры

Процедура ДействияФормыОтчетСформировать(Кнопка)
	ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
	Отчет(ТабДок, Перечисления.ИспользованиеЭКР.Да, Год(НачПериода), КонецДня(КонПериода), НачалоДня(НачПериода), ПодразделениеОрганизации, Смета);
	ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
	ТабДок.ПовторятьПриПечатиСтроки = ТабДок.Область(1,,8,);
	ТабДок.НижнийКолонтитул.Выводить = Истина;
	ТабДок.НижнийКолонтитул.ТекстСправа = "[&НомерСтраницы]";
КонецПроцедуры

Процедура Отчет(ТабДок, Да, Год, КонПериода, НачПериода, Организация, Смета) Экспорт
	Макет = ЭтотОбъект.ПолучитьМакет("Отчет");
	Если ИндивидуальнаяНастройка Тогда
		РС = РегистрыСведений.ИндивидуальнаяНастройкаПодразделений.СоздатьНаборЗаписей();
		РС.Отбор.Пользователь.Установить(ПараметрыСеанса.ТекущийПользователь);
		РС.Прочитать();
		ПодразделениеОрганизацииОтбор = Новый СписокЗначений;
		Для Каждого ТекСтрока Из РС Цикл
			ПодразделениеОрганизацииОтбор.Добавить(ТекСтрока.ПодразделениеОрганизации);
		КонецЦикла;
	Иначе
		ПодразделениеОрганизацииОтбор = ПодразделениеОрганизации;
	КонецЕсли;
	Условие = ?(ЗначениеЗаполнено(ПодразделениеОрганизацииОтбор),"ПодразделениеОрганизации В Иерархии(&ПодразделениеОрганизации) ",?(ЗначениеЗаполнено(Смета),"Смета В Иерархии(&Смета) ","Истина"));
	УсловиеОстатки = ?(ЗначениеЗаполнено(ПодразделениеОрганизацииОтбор),"ПодразделениеОрганизации В Иерархии(&ПодразделениеОрганизации) ",?(ЗначениеЗаполнено(Смета),"Смета В Иерархии(&Смета) ","Истина"));
	УсловиеДвиженияПоСмете = ?(ЗначениеЗаполнено(ПодразделениеОрганизацииОтбор),"ДвиженияПоСметам.ПодразделениеОрганизации В Иерархии(&ПодразделениеОрганизации) ",?(ЗначениеЗаполнено(Смета),"ДвиженияПоСметам.Смета В Иерархии(&Смета) ","Истина"));
	УсловиеПоСмете = ?(ЗначениеЗаполнено(Смета),"Смета В Иерархии(&Смета)","Истина");
	УсловиеСуммыПоСтатьям = ?(ЗначениеЗаполнено(ПодразделениеОрганизацииОтбор),"СуммыПоСтатьям.ПодразделениеОрганизации В Иерархии(&ПодразделениеОрганизации) ",?(ЗначениеЗаполнено(Смета),"СуммыПоСтатьям.Смета В Иерархии(&Смета) ","Истина"));
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	вложенныйзапрос.суммамакс КАК Суммамакс,
	|	вложенныйзапрос.Статья КАК XərclərinAdı,
	|	СУММА(вложенныйзапрос.ГодоваяСмета) КАК İllikSmetaXərci,
	|	СУММА(вложенныйзапрос.СуммаОстаток) КАК DövrƏvvəlinəQalıq,
	|	СУММА(вложенныйзапрос.СуммаПрихода) КАК AçılanKredit,
	|	СУММА(вложенныйзапрос.СуммаРасхода) КАК FaktikiXərc,
	|	СУММА(вложенныйзапрос.СуммаПрихода + вложенныйзапрос.СуммаОстаток - вложенныйзапрос.СуммаРасхода) КАК FaktikiBankQalığı,
	|	СУММА(вложенныйзапрос.ГодоваяСмета - вложенныйзапрос.СуммаПрихода - вложенныйзапрос.СуммаОстаток) КАК AçılmamışKredit
	|ИЗ
	|	(ВЫБРАТЬ
	|		Суммамакс.Суммамакс КАК Суммамакс,  
	|		Статьи.Статья КАК Статья,
	|		СУММА(0) КАК СуммаПрихода,
	|		СУММА(0) КАК СуммаРасхода,
	|		СУММА(ЕСТЬNULL(СуммыПоСтатьям.ГодоваяСмета, 0)) КАК ГодоваяСмета,
	|		СУММА(0) КАК СуммаОстаток
	|	ИЗ
	|		(ВЫБРАТЬ
	|			СтатьиРасходов.Ссылка КАК Статья
	|		ИЗ
	|			Справочник.СтатьиРасходов КАК СтатьиРасходов
	|		ГДЕ
	|			СтатьиРасходов.ПометкаУдаления = ЛОЖЬ) КАК Статьи
	|          
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СуммыПоСтатьям КАК СуммыПоСтатьям
	|			ПО Статьи.Статья = СуммыПоСтатьям.СтатьяРасхода
	|	ГДЕ
	|		СуммыПоСтатьям.Год = &Год
	|		И &УсловиеСуммыПоСтатьям
	|          
	|	СГРУППИРОВАТЬ ПО
	|		Статьи.Статья
	|   
	|	ОБЪЕДИНИТЬ ВСЕ
	|          
	|	ВЫБРАТЬ
	|		ДвиженияПоСметам.СтатьяРасхода,
	|		ДвиженияПоСметам.Сумма,
	|		0,
	|		0,
	|		0
	|	ИЗ
	|		РегистрНакопления.ДвиженияПоСметам КАК ДвиженияПоСметам
	|	ГДЕ
	|		&УсловиеДвиженияПоСмете
	|		И ДвиженияПоСметам.Период МЕЖДУ &НачПериода И &КонПериода
	|		И ДвиженияПоСметам.Регистратор ССЫЛКА Документ.Сифариш
	|          
	|	ОБЪЕДИНИТЬ ВСЕ
	|          
	|	ВЫБРАТЬ
	|		ХозрасчетныйОбороты.Субконто2,
	|		0,
	|		-ЕСТЬNULL(ХозрасчетныйОбороты.СуммаОборот, 0),
	|		0,
	|		0
	|	ИЗ
	|		РегистрБухгалтерии.Хозрасчетный.Обороты(
	|			&НачПериода,
	|			&КонПериода,
	|			,
	|			Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетныеСчета))
	|				ИЛИ Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасходыПоКапиталоВложениям)),
	|			,
	|			ПодразделениеОрганизации В ИЕРАРХИИ (&ПодразделениеОрганизации),
	|			(НЕ КорСчет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Казначейство_)))
	|				И (НЕ КорСчет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.КазначействоВнебюджетный))),
	|			) КАК ХозрасчетныйОбороты
	|          
	|	ОБЪЕДИНИТЬ ВСЕ
	|          
	|	ВЫБРАТЬ
	|		ХозрасчетныйОстатки.Субконто2,
	|		0,
	|		0,
	|		0,
	|		ХозрасчетныйОстатки.СуммаОстаток
	|	ИЗ
	|		РегистрБухгалтерии.Хозрасчетный.Остатки(
	|			&НачПериода,
	|			Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетныеСчета))
	|				ИЛИ Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасходыПоКапиталоВложениям)),
	|			,
	|			ПодразделениеОрганизации В ИЕРАРХИИ (&ПодразделениеОрганизации)) КАК ХозрасчетныйОстатки) КАК вложенныйзапрос
	|ГДЕ
	|	(НЕ вложенныйзапрос.СуммаПрихода + вложенныйзапрос.СуммаРасхода + вложенныйзапрос.ГодоваяСмета + вложенныйзапрос.СуммаОстаток = 0)
	|
	|СГРУППИРОВАТЬ ПО
	|	вложенныйзапрос.Статья
	|
	|УПОРЯДОЧИТЬ ПО
	|	вложенныйзапрос.Статья.Код
	|ИТОГИ ПО
	|	ОБЩИЕ";                             
           
	Запрос.Текст = СтрЗаменить(Запрос.Текст,"&УсловиеПоСмете",УсловиеПоСмете);
	Запрос.Текст = СтрЗаменить(Запрос.Текст,"&УсловиеДвиженияПоСмете",УсловиеДвиженияПоСмете);
	Запрос.Текст = СтрЗаменить(Запрос.Текст,"&УсловиеОстатки",УсловиеОстатки);
	Запрос.Текст = СтрЗаменить(Запрос.Текст,"&УсловиеСуммыПоСтатьям",УсловиеСуммыПоСтатьям);
	Запрос.Текст = СтрЗаменить(Запрос.Текст,"&Условие",Условие);
	Запрос.УстановитьПараметр("Год", Год);
	Запрос.УстановитьПараметр("Да", Да);
	Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));
	Запрос.УстановитьПараметр("НачПериода", НачалоДня(НачПериода));
	Запрос.УстановитьПараметр("НачГода", НачПериода);//НачалоГода(НачПериода));
	Запрос.УстановитьПараметр("ПодразделениеОрганизации", ПодразделениеОрганизацииОтбор);
	Запрос.УстановитьПараметр("Смета", Смета);

	Результат = Запрос.Выполнить();

	ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
	ОбластьСтрока = Макет.ПолучитьОбласть("ОблСтрока");
	ОбластьИтог = Макет.ПолучитьОбласть("ОблИтог");

	ТабДок.Очистить();
	ОбластьШапка.Параметры.ПодразделениеОрганизации = ?(ИндивидуальнаяНастройка Или Не (ЗначениеЗаполнено(ПодразделениеОрганизации) И ЗначениеЗаполнено(Смета)),"Təşkilatlar ",Смета.Наименование);
	ОбластьШапка.Параметры.Период = Строка(Формат(НачПериода,"ДФ=dd.MM.yyyy")) + " - " + Строка(Формат(КонПериода,"ДФ=dd.MM.yyyy"));
	ОбластьШапка.Параметры.Смета = Смета;
	ТабДок.Вывести(ОбластьШапка);
	ТабДок.НачатьАвтогруппировкуСтрок();

	ВыборкаДетали = Результат.Выбрать();

	ПерваяСтрока = Истина;
	Пока ВыборкаДетали.Следующий() Цикл
		Если ПерваяСтрока = Истина Тогда
			ОбластьИтог.Параметры.Заполнить(ВыборкаДетали);
			ПерваяСтрока = Ложь;
			Продолжить;
		КонецЕсли;
		ОбластьСтрока.Параметры.Заполнить(ВыборкаДетали);
		ОбластьСтрока.Параметры.НаименованиеПолное = Справочники.СтатьиРасходов.НайтиПоКоду(ВыборкаДетали.XərclərinAdı).НаименованиеПолное;
		ТабДок.Вывести(ОбластьСтрока, ВыборкаДетали.Уровень());
	КонецЦикла;
	ТабДок.Вывести(ОбластьИтог);
                                  
	ТабДок.ЗакончитьАвтогруппировкуСтрок();
КонецПроцедуры

Процедура ПодразделениеОрганизацииПриИзменении(Элемент)
	Смета = ПодразделениеОрганизации.Смета;
КонецПроцедуры

Процедура ВыбратьПериодНажатие(Элемент)
	НастройкаПериода = Новый НастройкаПериода;
	НастройкаПериода.УстановитьПериод(НачПериода,КонПериода,);
	НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период;
	Если НастройкаПериода.Редактировать() Тогда
		НачПериода = НастройкаПериода.ПолучитьДатуНачала();
		КонПериода = НастройкаПериода.ПолучитьДатуОкончания();
	КонецЕсли;
КонецПроцедуры

  

 

Можете выложить полный список реквизитов справочника СтатьиРасходов?

НаименованиеПолное ,НомерСтрокиВОтчете, (Суммамакс я создала новый реквизит, который я хочу передать в отчет как Сумма) 

Попробуйте заменить в запросе кусок:

|(ВЫБРАТЬ
|        Суммамакс.Суммамакс КАК Суммамакс,
|        Статьи.Статья КАК Статья,
|        СУММА(0) КАК СуммаПрихода,
|        СУММА(0) КАК СуммаРасхода,
|        СУММА(ЕСТЬNULL(СуммыПоСтатьям.ГодоваяСмета, 0)) КАК ГодоваяСмета,
|        СУММА(0) КАК СуммаОстаток
| ИЗ
|        (ВЫБРАТЬ
|               СтатьиРасходов.Ссылка КАК Статья
|        ИЗ
|               Справочник.СтатьиРасходов КАК СтатьиРасходов
|        ГДЕ
|               СтатьиРасходов.ПометкаУдаления = ЛОЖЬ) КАК Статьи

на

| (ВЫБРАТЬ
|        Статьи.Суммамакс КАК Суммамакс,
|        Статьи.Статья КАК Статья,
|        СУММА(0) КАК СуммаПрихода,
|        СУММА(0) КАК СуммаРасхода,
|        СУММА(ЕСТЬNULL(СуммыПоСтатьям.ГодоваяСмета, 0)) КАК ГодоваяСмета,
|        СУММА(0) КАК СуммаОстаток
| ИЗ
|        (ВЫБРАТЬ
|               СтатьиРасходов.Ссылка КАК Статья,
|               СтатьиРасходов.Суммамакс
|        ИЗ
|               Справочник.СтатьиРасходов КАК СтатьиРасходов
|        ГДЕ
|               СтатьиРасходов.ПометкаУдаления = ЛОЖЬ) КАК Статьи


Спасибо ВАМ огромное. Работает. Скажите а можно ли в данном отчете некоторые названия статей выводить Жирным шрифтом? Большое спасибо!

В начале процедуры Отчет нужно объявить переменную Шрифт.
	Шрифт = Новый Шрифт(,,Истина);
В блоке вывода детальных записей после строки
	ОбластьСтрока.Параметры.Заполнить(ВыборкаДетали);
надо добавить условие, по которому отбираются статьи расходов типа такого:
	Если ВыборкаДетали.XərclərinAdı = СтатьяРасходов1 Тогда
		ОбластьСтрока.Области.ОблСтрока.Шрифт = Шрифт;
	КонецЕсли;
Правда, жирным шрифтом будет выделяться вся строка, а не только название статьи. Как применить особый шрифт для определённой ячейки, я найти не смог.

СПС, но не получается.СтатьиРасходов пишет что не опознанная переменная.
 
Если вы про условие, то я ВыборкаДетали.XərclərinAdı = СтатьяРасходов1 для примера написал. Условие из примера нужно заменить нужным вам условием отбора статей расходов

SPS А как сделать так чтобы внизу отчета выходила сумма графы Суммумакс (итог в области итогов)
 
В макете отчета есть соответствующее поле?
Начал изучать недавно. Можно ли вступить?
Можно