1с как вывести итоги макет

Итоги в Макете

Добрый день. Ситуация такая.
При выводе макета происходит следующая процедура:
Стр=ЭлементыФормы.Инфо.ТекущаяСтрока;
ТабДок = Новый ТабличныйДокумент;
Макет = Обработки.РабочийСтол.ПолучитьМакет(«Отчет»);
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| РасчетыОстаткиИОбороты.Заявка,
| ПРЕДСТАВЛЕНИЕ(РасчетыОстаткиИОбороты.Заявка),
| РасчетыОстаткиИОбороты.Клиент,
| ПРЕДСТАВЛЕНИЕ(РасчетыОстаткиИОбороты.Клиент),
| РасчетыОстаткиИОбороты.Программа,
| ПРЕДСТАВЛЕНИЕ(РасчетыОстаткиИОбороты.Программа),
| РасчетыОстаткиИОбороты.СуммаUSDОборотДт,
| РасчетыОстаткиИОбороты.СуммаUSDОборотКт,
| РасчетыОстаткиИОбороты.СуммаUSDКонечныйОстаток,
| РасчетыОстаткиИОбороты.ИтогоПрограммаСоставляетОборотДт
|ИЗ
| РегистрБухгалтерии.Расчеты.ОстаткиИОбороты КАК РасчетыОстаткиИОбороты
|ГДЕ
| РасчетыОстаткиИОбороты.Заявка = &Заявка»;
Запрос.УстановитьПараметр(«Заявка», Стр.Заявка);
Результат = Запрос.Выполнить();

ОбластьЗаголовок = Макет.ПолучитьОбласть(«Заголовок»);
ОбластьПодвал = Макет.ПолучитьОбласть(«Подвал»);
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть(«ШапкаТаблицы»);
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть(«ПодвалТаблицы»);
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть(«Детали»);

ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
Рез=Результат.Выбрать();
Пока Рез.Следующий() Цикл
ОбластьШапкаТаблицы.Параметры.Заявка=Рез.ЗаявкаПредставление;
ОбластьШапкаТаблицы.Параметры.Программа=Рез.ПрограммаПредставление;
ОбластьШапкаТаблицы.Параметры.ИтогоПрограммаСоставляет=Рез.ИтогоПрограммаСоставляетОборотДт;
КонецЦикла;
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();

Пока ВыборкаДетали.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
КонецЦикла;

ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
ТабДок.Показать();

Как мне вывести ОбщийИтог в область ОбластьШапкаТаблицы получив из области ОбластьДетальныхЗаписей?

Источник

Вывести в печатную форму итог по колонке Сумма

Есть документ «Накладная» В документе колонка «Сумма» Как вывести итог по колонке «Сумма» в печатную форму

Процедура Печать(ТабДок, Ссылка) Экспорт
// <<_КОНСТРУКТОР_ПЕЧАТИ(Печать)
Макет = Документы.Накладная.ПолучитьМакет(«Печать»);
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| Накладная.Дата,
| Накладная.Итого,
| Накладная.Клиент,
| Накладная.Номер,
| Накладная.Материалы.(
| НомерСтроки,
| Номенклатура,
| Количество,
| Цена,
| Сумма
| )
|ИЗ
| Документ.Накладная КАК Накладная
|ГДЕ
| Накладная.Ссылка В (&Ссылка)»;
Запрос.Параметры.Вставить(«Ссылка», Ссылка);
Выборка = Запрос.Выполнить().Выбрать();

ОбластьЗаголовок = Макет.ПолучитьОбласть(«Заголовок»);
Шапка = Макет.ПолучитьОбласть(«Шапка»);
ОбластьМатериалыШапка = Макет.ПолучитьОбласть(«МатериалыШапка»);
ОбластьМатериалы = Макет.ПолучитьОбласть(«Материалы»);
Подвал = Макет.ПолучитьОбласть(«Подвал»);

ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;

Шапка.Параметры.Заполнить(Выборка);
ТабДок.Вывести(Шапка, Выборка.Уровень());

ТабДок.Вывести(ОбластьМатериалыШапка);
ВыборкаМатериалы = Выборка.Материалы.Выбрать();
Пока ВыборкаМатериалы.Следующий() Цикл
ОбластьМатериалы.Параметры.Заполнить(ВыборкаМатериалы);
ТабДок.Вывести(ОбластьМатериалы, ВыборкаМатериалы.Уровень());
КонецЦикла;

Подвал.Параметры.Заполнить(Выборка);
Подвал.Параметры.Итого=ТУТ ДОЛЖНА БЫТЬ ИТОГОВАЯ ПО КОЛОНКЕ СУММА;
ТабДок.Вывести(Подвал);

ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
//>>
КонецПроцедуры

А посмотреть в типовых формах? Там везде итоги по количеству и суммам выводятся.

Эх, 86-е. тяжелое детство. игрушки, прибитые к потолку.

Собирай сумму в той части где ты делаешь обход по табличной части, не забыв при этом обнулить её перед обходом по циклу.

Источник

Вывести ИТОГИ в макете

Собираю запросом ведомости на определенную дату. Далее, мне надо их вывести в отчет, с итоговыми суммами по каждой ведомости. Вот так: https://d.radikal.ru/d12/1901/11/85661d54c454.jpg желтым цветом выделила итоги, с выводом которых — возникла проблема, т.к. выводится итог только у последней ведомости.
Вот макет: https://a.radikal.ru/a18/1901/d0/b1ce0944393a.jpg

Ниже код, который выводит все как мне нужно, только итоги выводятся у последней ведомости, а надо после каждой ведомости:

&НаСервере
Функция СформироватьНаСервере()

ТабДок = Новый ТабличныйДокумент;
Макет = Объект.РеквизитМакетОтчет;

НПП = 0;
ИтогСумма = 0;
ИтогНДФЛ = 0;

Пока ВыборкаВедомостиВБанк.Следующий() Цикл

Если СтароеЗначение <> ТекущееЗначение Тогда
НПП = 1;

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

ОбластьМакетаСтрока.Параметры.НПП = НПП;
ОбластьМакетаСтрока.Параметры.НомерЛицевогоСчета = ВыборкаВедомостиВБанк.НомерЛицевогоСчета;
ОбластьМакетаСтрока.Параметры.Физлицо = ВыборкаВедомостиВБанк.Сотрудник.ФизическоеЛицо;
ОбластьМакетаСтрока.Параметры.Подразделение = ВыборкаВедомостиВБанк.Подразделение;
ОбластьМакетаСтрока.Параметры.КВыплате = ВыборкаВедомостиВБанк.КВыплате;
ОбластьМакетаСтрока.Параметры.НДФЛ = ВыборкаВедомостиВБанк.НДФЛ;

ИтогСумма = ИтогСумма + ВыборкаВедомостиВБанк.КВыплате;
ИтогНДФЛ = ИтогНДФЛ + ВыборкаВедомостиВБанк.НДФЛ;

ОбластьМакетаСтрока.Параметры.НПП = НПП;
ОбластьМакетаСтрока.Параметры.НомерЛицевогоСчета = ВыборкаВедомостиВБанк.НомерЛицевогоСчета;
ОбластьМакетаСтрока.Параметры.Физлицо = ВыборкаВедомостиВБанк.Сотрудник.ФизическоеЛицо;
ОбластьМакетаСтрока.Параметры.Подразделение = ВыборкаВедомостиВБанк.Подразделение;
ОбластьМакетаСтрока.Параметры.КВыплате = ВыборкаВедомостиВБанк.КВыплате;
ОбластьМакетаСтрока.Параметры.НДФЛ = ВыборкаВедомостиВБанк.НДФЛ;

ИтогСумма = ИтогСумма + ВедБанкКВыплате;
ИтогНДФЛ = ИтогНДФЛ + ВедБанкНДФЛ;

Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр(«Массив», Ведомости);

Запрос.Текст =
«ВЫБРАТЬ
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка КАК Ссылка,
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Сотрудник КАК Сотрудник,
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Подразделение КАК Подразделение,
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.КВыплате КАК КВыплате,
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.НомерЛицевогоСчета КАК НомерЛицевогоСчета,
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.Номер КАК Номер,
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ПериодРегистрации КАК ПериодРегистрации
|ПОМЕСТИТЬ ВТ_ТЧЗарплата
|ИЗ
| Документ.ВедомостьНаВыплатуЗарплатыВБанк.Зарплата КАК ВедомостьНаВыплатуЗарплатыВБанкЗарплата
|ГДЕ
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка В(&Массив)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_ТЧЗарплата.Ссылка КАК Ссылка,
| ВТ_ТЧЗарплата.Сотрудник КАК Сотрудник,
| ВТ_ТЧЗарплата.Подразделение КАК Подразделение,
| СУММА(ВТ_ТЧЗарплата.КВыплате) КАК КВыплате,
| ВТ_ТЧЗарплата.НомерЛицевогоСчета КАК НомерЛицевогоСчета,
| СУММА(РасчетыНалогоплательщиковСБюджетомПоНДФЛОбороты.СуммаРасход) КАК НДФЛ,
| ВТ_ТЧЗарплата.Номер КАК Номер,
| ВТ_ТЧЗарплата.ПериодРегистрации КАК ПериодРегистрации
|ИЗ
| ВТ_ТЧЗарплата КАК ВТ_ТЧЗарплата
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Обороты(, , Регистратор, ) КАК РасчетыНалогоплательщиковСБюджетомПоНДФЛОбороты
| ПО ВТ_ТЧЗарплата.Ссылка = РасчетыНалогоплательщиковСБюджетомПоНДФЛОбороты.Регистратор
| И ВТ_ТЧЗарплата.Сотрудник.ФизическоеЛицо = РасчетыНалогоплательщиковСБюджетомПоНДФЛОбороты.ФизическоеЛицо
|
|СГРУППИРОВАТЬ ПО
| ВТ_ТЧЗарплата.НомерЛицевогоСчета,
| ВТ_ТЧЗарплата.Подразделение,
| ВТ_ТЧЗарплата.Ссылка,
| ВТ_ТЧЗарплата.Сотрудник,
| ВТ_ТЧЗарплата.Номер,
| ВТ_ТЧЗарплата.ПериодРегистрации
|
|УПОРЯДОЧИТЬ ПО
| Номер»;

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

&НаКлиенте
Процедура Сформировать(Команда)

ТабДок = СформироватьНаСервере();
ТабДок.Показать();

Источник

Вывод итогов из запроса в макет

Создала макет печатной формы, запросом выбираю данные в макет. В запросе, так же, считаю Итоги по двум колонкам. После вывода печатной формы, итоги в печатной форме идут первыми, а после идет перечисление всех ОС. Как вывести итоги туда куда мне нужно? Вот код:

ЗапросСтрока = Новый Запрос;
ЗапросСтрока.УстановитьПараметр(«ТекущийДокумент», СсылкаНаОбъект.Ссылка);
ЗапросСтрока.Текст = «ВЫБРАТЬ
| НКС_РеализацияТоваровУслугОС.СтоимостьБУ КАК ПервСтоим,
| НКС_РеализацияТоваровУслугОС.АмортизацияБУ КАК СуммаЗноса,
| НКС_РеализацияТоваровУслугОС.ОсновноеСредство.НКС_КодПоКлассификатору КАК ИнвНомер,
| НКС_РеализацияТоваровУслугОС.ОсновноеСредство.НаименованиеПолное КАК Наименование,
| ЕСТЬNULL(ДатыВводаОС.ДатаСостояния, ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаЕкс,
| НКС_РеализацияТоваровУслугОС.НомерСтроки КАК НомерСтроки
|ИЗ
| Документ.НКС_РеализацияТоваровУслуг.ОС КАК НКС_РеализацияТоваровУслугОС
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| СостоянияОСОрганизаций.ОсновноеСредство КАК ОсновноеСредство,
| СостоянияОСОрганизаций.Организация КАК Организация,
| МАКСИМУМ(СостоянияОСОрганизаций.ДатаСостояния) КАК ДатаСостояния
| ИЗ
| РегистрСведений.СостоянияОСОрганизаций КАК СостоянияОСОрганизаций
| ГДЕ
| СостоянияОСОрганизаций.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ВведеноВЭксплуатацию)
| И СостоянияОСОрганизаций.ОсновноеСредство В
| (ВЫБРАТЬ
| НКС_РеализацияТоваровУслугОС.ОсновноеСредство
| ИЗ
| Документ.НКС_РеализацияТоваровУслуг.ОС КАК НКС_РеализацияТоваровУслугОС
| ГДЕ
| НКС_РеализацияТоваровУслугОС.Ссылка = &ТекущийДокумент)
|
| СГРУППИРОВАТЬ ПО
| СостоянияОСОрганизаций.ОсновноеСредство,
| СостоянияОСОрганизаций.Организация) КАК ДатыВводаОС
| ПО НКС_РеализацияТоваровУслугОС.ОсновноеСредство = ДатыВводаОС.ОсновноеСредство
| И НКС_РеализацияТоваровУслугОС.Ссылка.Организация = ДатыВводаОС.Организация
|ГДЕ
| НКС_РеализацияТоваровУслугОС.Ссылка = &ТекущийДокумент
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|ИТОГИ
| СУММА(ПервСтоим),
| СУММА(СуммаЗноса),
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ НомерСтроки)
|ПО
| ОБЩИЕ»;
Строка = ЗапросСтрока.Выполнить().Выбрать();

Источник

Как вывести ИТОГИ в печатную форму в ПОДВАЛ

Переменная не определена (СуммаИтого)
У вас в запросе нет переменной СуммаИтого, поэтому предложенный код не работает, выдает ошибку. В этом то и заключается весь мой вопрос, как присвоить переменную ИТОГам в запросе?

Переменная не определена (ВыборкаОбщийИтог)

1с не видит такой переменной и в запросе выше её нет.

Даже поменяв на переменную куда записан результат запроса:
СуммаИтого = ВыборкаДетальныеЗаписи.СуммаОборот;

Ошибок нет, но никаких значений не выводит. Я так пробовал ранее ничего не получается. Так как ИТОГИ не записаны в переменную и их нет в результате запроса походу.

вот и определяется твоя переменная, а после уже пиши:

СуммаИтого = ВыборкаОбщийИтог.Сумма;
ОбластьПодвал.РеквизитДобавленныйВМакет = СуммаИтого; — тут уже заполняешь подвал в макете
параметр в самом макете должен быть назван: РеквизитДобавленныйВМакет

Не получилось, вообще строка пропала с суммой и итог пустой.

Выложу весь запрос, так как у меня нет суммы в документе, а беру её из оборотов документа. Может из-за этого итог не выводится?

Запрос.УстановитьПараметр(«ВыбРегистратор», СсылкаНаДокумент);
Запрос.УстановитьПараметр(«КорСчет», ПланыСчетов.Хозрасчетный.СпецодеждаВЭксплуатации);

.
Дальше выборка строк в цикле из запроса и ниже выводим подвал
.

ВыборкаОбщийИтог = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
СуммаИтого = ВыборкаОбщийИтог.СуммаОборот;
ОбластьПодвал.Параметры.СуммаИтог = СуммаИтого;
ТабличныйДокумент.Вывести(ОбластьПодвал);

Источник

Читайте также:  Как вывести влажный кашель у ребенка 5 лет
Оцените статью