Имя: Пароль:
1C
 
Итог по колонке таблицы значений
0 ZloyRafa
 
27.12.16
09:39
В структуре параметров имеется ТЗ, можно ли вставить новый параметр, который бы подсчитывал значение итог по колонке?
Если возможно, как обратится к параметру, хранящему ТЗ, и вывести его в отдельный парметр.
1 nordbox
 
27.12.16
09:43
2 Мимохожий Однако
 
27.12.16
09:43
Осталось только догадаться на какой платформе это надо. Не стесняйся - покажи свой код.
3 nordbox
 
27.12.16
09:44
Сообщить(Таб.Итог("ВесФрукта"));
4 Гипервизор
 
27.12.16
09:46
Структура.Вставить("Итог", Структура.ТЗ.Итог("Колонка"))
Так чтоли? Только нафига?
5 ZloyRafa
 
27.12.16
09:47
8.2
6 ZloyRafa
 
27.12.16
09:47
Функция Печать() Экспорт
    СтруктураПараметров                = ПолучитьДанныеЗаказПокупателя(СсылкаНаОбъект,Ложь);
    СтруктураПараметров.Вставить("ТабЧасть",ПолучитьТабЧасть());
    Обработки.франПечатьДоговораОбслуживания.ПечатьДокументаВФорматеWORD(ПолучитьМакет("ДоговорПоставки"),СтруктураПараметров);
        
    
КонецФункции // Печать()


//ПРОЦЕДУРЫ ПОЛУЧЕНИЯ ДАННЫХ ЗАКАЗ ПОКУПАТЕЛЯ ДЛЯ ПЕЧАТИ

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

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

КонецФункции
7 nordbox
 
27.12.16
09:56
(6) Это что за код???
и вот вопрос возник, может я что то не так читаю,
(признаюсь бегло посмотрел) но...
Товары = Результат.Выгрузить();
....
Вот тут тогда код зачем???

Возврат Товары;
8 Гипервизор
 
27.12.16
09:57
(6) И немедленно выпил (с)
9 ZloyRafa
 
27.12.16
10:02
Как всегда решение нашел, стоило написать проблему.
СтруктураПараметров.Вставить("ИтогоПоДоговору",ПолучитьТабЧасть().Итог("Сумма"));
10 Мимохожий Однако
 
27.12.16
10:31
(9) Волшебный форум
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший