Имя: Пароль:
1C
1С v8
Вывести в печатную форму итог по колонке Сумма
0 desipton
 
17.12.20
19:34
Добрый вечер! Совсем мозг плавится, уже куда только не втыкал обсчет суммы... ошибка да ошибка, а сам программист так себе, программил посл раз в 2009 :) помогите, пожалуйста

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

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

        ТабДок.Вывести(ОбластьЗаголовок);

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

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

        ВставлятьРазделительСтраниц = Истина;
    КонецЦикла;
    //}}
КонецПроцедуры
1 ДенисЧ
 
17.12.20
19:35
Ну так подвал-то выведи... Куда ты сумму выводить будешь?
2 Ненавижу 1С
 
гуру
17.12.20
19:36
Это курсы?
3 desipton
 
17.12.20
19:53
это лабы сестре
4 desipton
 
17.12.20
19:57
ОбластьПодвал=Макет.ПолучитьОбласть("Подвал");

подвал определил...
5 desipton
 
17.12.20
20:03
мне кажется, уже везде по циклу обсчета пытался воткнуть сумму, но везде ошибка)
6 Chameleon1980
 
17.12.20
20:34
(5) а какая?
7 desipton
 
17.12.20
20:35
что сумма не определена...
8 desipton
 
17.12.20
20:36
в общем, нужно посчитать сумму итого, по всем выбранным товарам, у каждого товара есть стоимость, количество и сумма своя
9 desipton
 
17.12.20
20:56
Пока ВыборкаТовары.Следующий() Цикл
            ОбластьТовары.Параметры.Заполнить(ВыборкаТовары);     
            
            ОбластьПодвал.Параметры.ОбщСумма = ОбластьПодвал.Параметры.ОбщСумма + ВыборкаТовары.Сумма;
            
            ТабДок.Вывести(ОбластьТовары, ВыборкаТовары.Уровень());
        КонецЦикла;
10 desipton
 
17.12.20
20:56
так?
11 desipton
 
17.12.20
21:15
все, сделал
12 Базис
 
naïve
17.12.20
21:25
Вообще не так. Переделывай!

Ты 100500 раз заполняешь параметр, а должен один раз получить его из запроса и один раз заполнить.
13 hhhh
 
17.12.20
21:33
(10) сумму выше посчитай, а тут подставишь, не надо ее в параметрах считать.