Имя: Пароль:
1C
1С v8
Как получить итоговую сумму?
0 dmitn
 
08.05.14
15:51
Не получается получить итоговую итоговую сумму по документу. Платформа 8.3. Причем в 8.1 работает. Вот код.  



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

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    Шапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьПереченьНоменклатурыШапка = Макет.ПолучитьОбласть("ПереченьНоменклатурыШапка");
    ОбластьПереченьНоменклатуры = Макет.ПолучитьОбласть("ПереченьНоменклатуры");
    ОбластьВсего = Макет.ПолучитьОбласть("Всего");  // ДН
    ТабДок.Очистить();

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

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

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

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

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



Вылетает с ошибкой тут.



        Область.Параметры.ВсегоПоДокументу = ПереченьНоменклатуры.Итог("Сумма");

1 sergey198
 
08.05.14
15:53
ПереченьНоменклатуры - а что это?
2 Господин ПЖ
 
08.05.14
15:53
здесь вам не тут...

мало ли что в 8.1 работало
3 Rovan
 
гуру
08.05.14
15:54
(0) лучше переделать запрос на обращение к ТЧ
+ итоге в разрезе документов (в запросе)