|
Вывести в печатную форму итог по колонке Сумма | ☑ | ||
---|---|---|---|---|
0
26021986
01.03.13
✎
20:24
|
Есть документ "Накладная" В документе колонка "Сумма" Как вывести итог по колонке "Сумма" в печатную форму
Листинг Процедура Печать(ТабДок, Ссылка) Экспорт //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать) Макет = Документы.Накладная.ПолучитьМакет("Печать"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Накладная.Дата, | Накладная.Итого, | Накладная.Клиент, | Накладная.Номер, | Накладная.Материалы.( | НомерСтроки, | Номенклатура, | Количество, | Цена, | Сумма | ) |ИЗ | Документ.Накладная КАК Накладная |ГДЕ | Накладная.Ссылка В (&Ссылка)"; Запрос.Параметры.Вставить("Ссылка", Ссылка); Выборка = Запрос.Выполнить().Выбрать(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); Шапка = Макет.ПолучитьОбласть("Шапка"); ОбластьМатериалыШапка = Макет.ПолучитьОбласть("МатериалыШапка"); ОбластьМатериалы = Макет.ПолучитьОбласть("Материалы"); Подвал = Макет.ПолучитьОбласть("Подвал"); ТабДок.Очистить(); ВставлятьРазделительСтраниц = Ложь; Пока Выборка.Следующий() Цикл Если ВставлятьРазделительСтраниц Тогда ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; ТабДок.Вывести(ОбластьЗаголовок); Шапка.Параметры.Заполнить(Выборка); ТабДок.Вывести(Шапка, Выборка.Уровень()); ТабДок.Вывести(ОбластьМатериалыШапка); ВыборкаМатериалы = Выборка.Материалы.Выбрать(); Пока ВыборкаМатериалы.Следующий() Цикл ОбластьМатериалы.Параметры.Заполнить(ВыборкаМатериалы); ТабДок.Вывести(ОбластьМатериалы, ВыборкаМатериалы.Уровень()); КонецЦикла; Подвал.Параметры.Заполнить(Выборка); Подвал.Параметры.Итого=ТУТ ДОЛЖНА БЫТЬ ИТОГОВАЯ ПО КОЛОНКЕ СУММА; ТабДок.Вывести(Подвал); ВставлятьРазделительСтраниц = Истина; КонецЦикла; //}} КонецПроцедуры |
|||
1
Жан Пердежон
01.03.13
✎
20:30
|
86е атакуют
|
|||
2
Serg_1960
01.03.13
✎
20:45
|
А посмотреть в типовых формах? Там везде итоги по количеству и суммам выводятся.
Эх, 86-е... тяжелое детство... игрушки, прибитые к потолку... :) |
|||
3
Жан Пердежон
01.03.13
✎
20:48
|
эхо чернобыля
|
|||
4
Lancer666
01.03.13
✎
21:08
|
Собирай сумму в той части где ты делаешь обход по табличной части, не забыв при этом обнулить её перед обходом по циклу.
Пока Выборка.Следующий() Цикл Если ВставлятьРазделительСтраниц Тогда ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; ТабДок.Вывести(ОбластьЗаголовок); Шапка.Параметры.Заполнить(Выборка); ТабДок.Вывести(Шапка, Выборка.Уровень()); ТабДок.Вывести(ОбластьМатериалыШапка); ВыборкаМатериалы = Выборка.Материалы.Выбрать(); СуммаИтого=0; Пока ВыборкаМатериалы.Следующий() Цикл ОбластьМатериалы.Параметры.Заполнить(ВыборкаМатериалы); СуммаИтого=СуммаИтого+ВыборкаМатериалы.Сумма; ТабДок.Вывести(ОбластьМатериалы, ВыборкаМатериалы.Уровень()); КонецЦикла; Подвал.Параметры.Заполнить(Выборка); Подвал.Параметры.Итого=СуммаИтого; ТабДок.Вывести(Подвал); ВставлятьРазделительСтраниц = Истина; КонецЦикла; //}} |
|||
5
zak555
01.03.13
✎
21:10
|
> СуммаИтого=СуммаИтого+ВыборкаМатериалы.Сумма;
убрать заменить > СуммаИтого=0; на СуммаИтого=ВыборкаМатериалы.Сумма; |
|||
6
Lancer666
01.03.13
✎
21:23
|
zak555, как так, мы же тогда не соберем сумму по всем строкам табличной части? Или я не прав?
|
|||
7
zak555
01.03.13
✎
21:23
|
а что сумма в запрос не вычисляется ?
|
|||
8
Lancer666
01.03.13
✎
21:32
|
zak555, в запросе нет, мы только когда проходим по всем строкам документа может собрать сумму
|
|||
9
Neg
01.03.13
✎
21:38
|
ИтогоСумма = Итог("Сумма");
|
|||
10
26021986
01.03.13
✎
21:41
|
zak555 Красава!!!!!!!!!!!!!!!!! Все получилось!!!
Спасибо большое!!!! Выучусь и тоже всем обьяснять буду!!!! zak555 Мегамозг!!!!!!! |
|||
11
Lancer666
01.03.13
✎
22:33
|
То есть работает код???:
Пока Выборка.Следующий() Цикл Если ВставлятьРазделительСтраниц Тогда ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; ТабДок.Вывести(ОбластьЗаголовок); Шапка.Параметры.Заполнить(Выборка); ТабДок.Вывести(Шапка, Выборка.Уровень()); ТабДок.Вывести(ОбластьМатериалыШапка); ВыборкаМатериалы = Выборка.Материалы.Выбрать(); СуммаИтого = ВыборкаМатериалы.Сумма; Пока ВыборкаМатериалы.Следующий() Цикл ОбластьМатериалы.Параметры.Заполнить(ВыборкаМатериалы); ТабДок.Вывести(ОбластьМатериалы, ВыборкаМатериалы.Уровень()); КонецЦикла; Подвал.Параметры.Заполнить(Выборка); Подвал.Параметры.Итого=СуммаИтого; ТабДок.Вывести(Подвал); ВставлятьРазделительСтраниц = Истина; КонецЦикла; //}} |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |