Имя: Пароль:
1C
 
Не получается суммировать колонки
0 Айрат_116
 
12.06.19
09:20
У меня есть Отчет. Там есть пункт "3","3.1"и "3.2"
Вот мне надо сложить так 3.1+3.2=3
И там есть разделитель, для вывода в разные колонки
Например
    Колонка1    Колонка2
3)  1000          5000
3.1)400           300
3.2)200           300
У меня на данный момент совсем другая сумма выходит в пункте "3"
Как только не пробывал не получается(


//3
    ТЗ3_1__1=0;
    ТЗ3_1__2=0;
    Для Каждого стр Из ТЗ3_1 Цикл
        Если стр.Разделитель        =Справочники.СтатьиЗатрат.НайтиПоКоду("л00000044") Тогда
            ТЗ3_1__1=ТЗ3_1__1+стр.Значение;
        ИначеЕсли стр.Разделитель    =Справочники.СтатьиЗатрат.НайтиПоКоду("л00000045") Тогда
            ТЗ3_1__2=ТЗ3_1__2+стр.Значение;
        КонецЕсли;
    КонецЦикла;
    об=Макет.ПолучитьОбласть("Строка1");
    об.Параметры.А="3";
    об.Параметры.Наименование    ="Приобретение оборудования";
    об.Параметры.Значение        =ТЗ3_2.Итог("Значение")+ТЗ3_1__1;
    //об.Параметры.Значение        =ТЗ3_2.Итог("Значение")-ТЗ7_1.Итог("Значение");
    об.Параметры.Значение2        =ТЗ3_1__2;
    об.Параметры.Итого            =об.Параметры.Значение+об.Параметры.Значение2;
    ТД.Вывести(об);
    //3.1
    ТЗ3_1_0=ТЗ3_1.Скопировать();
    ТЗ3_1_0.Свернуть("Наименование","");
    А="";
    ТД.НачатьГруппуСтрок();
    ТД.НачатьГруппуСтрок();
    Для каждого стр Из ТЗ3_1_0 Цикл
        А="";
        об=Макет.ПолучитьОбласть("Строка4");
        об.Параметры.А="3.1"+А;
        об.Параметры.Наименование=стр.Наименование;
        Строки=ТЗ3_1.НайтиСтроки(Новый Структура("Наименование",стр.Наименование));
        Для Каждого стр2 Из Строки Цикл
            Если стр2.Разделитель            =Справочники.СтатьиЗатрат.НайтиПоКоду("л00000044") Тогда
                об.Параметры.Значение        =стр2.Значение;
                об.Параметры.Расшифровка    =Новый Структура("ТипРасшифровки,Данные","3.1",стр.Наименование);
                об.Параметры.Итого            =стр2.Значение;
            ИначеЕсли стр2.Разделитель        =Справочники.СтатьиЗатрат.НайтиПоКоду("л00000045") Тогда
                об.Параметры.Значение2        =стр2.Значение;
                об.Параметры.Итого            =стр2.Значение;
                об.Параметры.Расшифровка2    =Новый Структура("ТипРасшифровки,Данные","3.1",стр.Наименование);
            КонецЕсли;
            КонецЦикла;
        ТД.Вывести(об);
    КонецЦикла;
    ТД.ЗакончитьГруппуСтрок();
    //3.2
    об=Макет.ПолучитьОбласть("Строка4");
    об.Параметры.А                ="3.2";
    об.Параметры.Наименование    ="По целевой программе";
    
    об.Параметры.Значение        = ТЗ3_2.Итог("Значение")-ТЗ3_1_Ост.Итог("СуммаРез")-ТЗ7_1.Итог("Значение");
    об.Параметры.Итого            =об.Параметры.Значение;
    об.Параметры.Расшифровка    ="3.2";
    ТД.Вывести(об);
1 ice777
 
12.06.19
09:22
за такое оформление кода бить надо. Больно.
2 Айрат_116
 
12.06.19
09:26
(1) Сорян(