Имя: Пароль:
1C
1С v8
Итог по колонке в отчете
0 max805
 
04.07.17
04:22
добрый день. подскажите пожалуста что не так сделал. Нужно вывести итог п колонке в отчете..выдает ошибку не обнаружен метод Итого. Вот код:
Процедура Отчет(ТабДок, Дата1, Дата2, Организация) Экспорт
    //{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(Отчет)
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    Макет = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("Отчет");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    Доверенность.Представление,
    |    Доверенность.Номер КАК Номер,
    |    Доверенность.Дата,
    |    Доверенность.ДатаОкончанияДействия как ДатаДействия,
    |   Доверенность.СуммаДокумента как СуммаДоверенности,
    |    СУММА(Доверенность.СуммаДокумента) КАК СуммаДокумента,
    |    Доверенность.ФизЛицо,
    |    ПРЕДСТАВЛЕНИЕ(Доверенность.ФизЛицо),
    |    Доверенность.Контрагент,
    |    ВЫРАЗИТЬ(Доверенность.Контрагент.НаименованиеПолное КАК СТРОКА(200)) КАК КонтрагентПредставление,
    |    ВЫРАЗИТЬ(Доверенность.ПоДокументу КАК СТРОКА(200)) КАК ПоДокументу,
    |    NULL КАК Расписка,
    |    NULL КАК Отметка,
    |    Доверенность.Ссылка
    |ИЗ
    |    Документ.ДоверенностьВыданная КАК Доверенность
    |ГДЕ
    |    Доверенность.Организация = &Организация
    |    И Доверенность.Дата МЕЖДУ &Дата1 И &Дата2"+
    ?(ЗначениеЗаполнено(Отчет.Контрагент),"    И Доверенность.Контрагент В ИЕРАРХИИ (&Контрагент)","")+
    ?(ЗначениеЗаполнено(Отчет.ФизЛицо),"    И Доверенность.ФизЛицо В ИЕРАРХИИ (&ФизЛицо)","")+    "
    |
    |СГРУППИРОВАТЬ ПО
    |    ВЫРАЗИТЬ(Доверенность.ПоДокументу КАК СТРОКА(200)),
    |    Доверенность.Представление,
    |    Доверенность.Номер,
    |    Доверенность.Дата,
    |    Доверенность.ДатаОкончанияДействия,
    |   Доверенность.СуммаДокумента,
    |    Доверенность.ФизЛицо,
    |    ВЫРАЗИТЬ(Доверенность.Контрагент.НаименованиеПолное КАК СТРОКА(200)),
    |    Доверенность.Ссылка,
    |    Доверенность.Контрагент
    |
    |УПОРЯДОЧИТЬ ПО
    |    Номер";

    //?(ЗначениеЗаполнено(Контрагент),"    И Доверенность.Контрагент В ИЕРАРХИИ &Контрагент","")+
    //?(ЗначениеЗаполнено(ФизЛицо),"    И Доверенность.ФизЛицо В ИЕРАРХИИ &ФизЛицо","")+    "

    Запрос.УстановитьПараметр("Дата1", НачалоДня(Дата1));
    Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2));
    Запрос.УстановитьПараметр("Организация", Отчет.Организация);
    Запрос.УстановитьПараметр("Контрагент", Отчет.Контрагент);
    Запрос.УстановитьПараметр("ФизЛицо", Отчет.ФизЛицо);

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

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

    ТабДок.Очистить();
    ОбластьЗаголовок.Параметры.Организация = Отчет.Организация;
    ОбластьЗаголовок.Параметры.ЗаПериод = "период: "+ПредставлениеПериода(НачалоДня(Дата1), КонецДня(Дата2), "ФП = Истина");
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();

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

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

    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    
    ///Подвал
    ФИО = "";
    Должность = "";
    
    ТекПользователь = ПараметрыСеанса.ТекущийПользователь;
    
    Если ЗначениеЗаполнено(ТекПользователь) и Метаданные.Имя = "БухгалтерияПредприятия" и ЗначениеЗаполнено(ТекПользователь.ФизЛицо)  Тогда
        ДанныеФЛ = ОбщегоНазначения.ДанныеФизЛица(Организация,ТекПользователь.ФизЛицо,Дата2);
        ФИО=ДанныеФЛ.Представление;
        Должность=ДанныеФЛ.Должность;
    Иначе
        ФИО = СокрЛП(ТекПользователь);
    КонецЕсли;
    
    ОбластьПодвал.Параметры.ФИО = ФИО;
    ОбластьПодвал.Параметры.Должность = Должность;
    
    ТабДок.Вывести(ОбластьПодвал);

    //}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ
КонецПроцедуры
1 Prog111
 
04.07.17
04:55
(0) Ну дык... нет такого метода "Итого".
2 max805
 
04.07.17
04:58
а что нужно написать чтобы счталась сумма по столбцу табличной части?
3 Альбатрос
 
04.07.17
04:59
+(1) у табличного документа.
4 Альбатрос
 
04.07.17
04:59
(2) Сделать "Итого" у табличной части.
5 shadow_sw
 
04.07.17
04:59
в запросе сделай итоги по документу, и его выводи
6 max805
 
04.07.17
05:46
(5) так в запросе сдела Сумма (Доверенность.СуммаДокумента) как СуммаДокумента
7 shadow_sw
 
04.07.17
05:50
(6) ИТОГИ, а не поле