БП 2.0

Здравствуйте.Не как не могу допилить обработку что бы она выводила итоги по строкам, добавил следующий код

```1c
    ИтогиПоСтрочно = Макет.ПолучитьОбласть( "Суб|ИТОГО1" );
    ПерКт90071=СтрРез.Кт90071;
    ПерДт6001=СтрРез.Дт6001;
    Если Не (ПерКт90071=Неопределено) Тогда
    ПерКт90071=СтрРез.Кт90071;
    Если Не (ПерДт6001=Неопределено) Тогда
    ПерДт6001=СтрРез.Дт6001;
    Иначе
    ПерДт6001=0;
    КонецЕсли;
    Иначе
    ПерКт90071=0;
    Если Не (ПерДт6001=Неопределено) Тогда
    ПерДт6001=СтрРез.Дт6001;
    Иначе
    ПерДт6001=0;
    КонецЕсли;
    Good1=0;
    Good1=ПерДт6001+ПерКт90071;
```

но переменная Good1 иногда принимает ТИП неопределенно хотя Good1=ПерДт6001+ПерКт90071; по сути не должна может быть я делаю что то не так. Может я вообще не правильно стал подходить к данной задаче
---
Думаю, аналогично. Попробую подсказать:

```1c
    //Выводим итог для каждой колонки
    Good=0;
    Для Сч = 1 По ТабИтогов.Колонки.Количество() - 1 Цикл
    Гр = Макет.ПолучитьОбласть( "Группа|СчетДт" );
    // Гр.Параметры.ИтогГр = Формат( ТабИтогов[ТекСтр].Получить( Сч ), "ЧЦ=15; ЧДЦ=2; ЧН=-" );
    ПерДт=ТабИтогов[ТекСтр].Получить( Сч );
    Если Не (ПерДт=Неопределено) Тогда
    Good=Good+ПерДтКт;
    КонецЕсли;
    Гр.Параметры.ИтогГр = Формат( ПерДт, "ЧЦ=15; ЧДЦ=2; ЧН=-" );
    Рез.Присоединить( Гр );
    ///andrey
    ГруппаИТОГО=Макет.ПолучитьОбласть("Группа|ИТОГО1");
    // ГруппаИТОГО.Параметр.ИтогГрВСЕ= ТабИтогов.Дт6001;
    ГруппаИТОГО.Параметр.ИтогГрВСЕ= Формат( Good, "ЧЦ=15; ЧДЦ=2; ЧН=-" );
    Рез.Присоединить(ГруппаИТОГО);
    //andrey
    КонецЦикла;
```

P.S. Думаю, что вознаграждение можно бы и увеличить.
---
До этого про бывал просто складывать
```1c
    ПерКт90071=СтрРез.Кт90071;
    ПерДт6001=СтрРез.Дт6001;
```
 данные переменные но выходила ошибка преобразование значение тип к числу не может быть выполнено Добавил в запрос

```1c
    | ЕСТЬNULL(Таблица.СуммаОборотДт, 0) КАК СуммаОборотДт,
    | ЕСТЬNULL(Таблица.СуммаОборотКт, 0) КАК СуммаОборотКт
```

 также не помогло
потом все таки сделал с условием на проверку тип но тогда переменная ведет себя не понятно для меня как
---
Допилил вариант с условиями разобрался в нем
```1c
    ИтогиПоСтрочно = Макет.ПолучитьОбласть( "Суб|ИТОГО1" );

    ПерКт90071=СтрРез.Кт90071;//1 переменаня Кт90071
    ПерДт6001=СтрРез.Дт6001; //2 переменная Дт6001
    ПерДт7101=СтрРез.Дт7101; //3 переменная Дт7101
    ПерКт90072=СтрРез.Кт90072; //4 переменная Кт90072
    ПерДт4112=СтрРез.Дт4112; // 5 переменная Дт4112
    ПерДт0201=СтрРез.Дт0201; // 6 переменная Дт0201
    ПерДт6810=СтрРез.Дт6810; // 7 переменная Дт6810
    ПерДт70=СтрРез.Дт70; // 8 переменная Дт70
    ПерДт96=СтрРез.Дт96; // 9 переменная Дт96
    ПерДт6901=СтрРез.Дт6901; // 10 переменная Дт6901
    ПерДт69031=СтрРез.Дт69031; // 11 переменная Дт69031
    ПерДт69027=СтрРез.Дт69027; // 12 переменная Дт69027
    ПерДт6911=СтрРез.Дт6911; // 13 переменная Дт6911
    ПерДт1904=СтрРез.Дт1904; // 14 переменная Дт1904
    ПерДт1903=СтрРез.Дт1903; // 15 переменная Дт1903
    ПерДт1003=СтрРез.Дт1003; // 16 переменная Дт1003

    ПерДт10111=СтрРез.Дт10111; // 17 переменная Дт10111

    ПерДт1006=СтрРез.Дт1006; // 18 переменная Дт1006
    ПерДт1005=СтрРез.Дт1005; // 19 переменная Дт1005
    ПерДт1001=СтрРез.Дт1001; // 20 переменная Дт1001
    ПерДт1004=СтрРез.Дт1004; // 21 переменная Дт1004
    ПерДт1008=СтрРез.Дт1008; // 22 переменная Дт1008
    ПерДт1009=СтрРез.Дт1009; // 23 переменная Дт1009
    ПерДт1010=СтрРез.Дт1010; // 24 переменная Дт1010
    // ПерДт51=СтрРез.Дт51; // 25 переменная Дт51

    ////условие для переменных что бы вывести то что нам нужно
    Если Не (ПерКт90071=Неопределено) Тогда
    ////////////////////////////////////////////////////////////­////////////////////////////
    ПерКт90071=СтрРез.Кт90071;
    ///2 переменая Дт6001
    Если Не (ПерДт6001=Неопределено) Тогда
    ПерДт6001=СтрРез.Дт6001;
    Иначе
    ПерДт6001=0;
    КонецЕсли;
    /// 3 переменная Дт7101
    Если Не (ПерДт7101=Неопределено) Тогда
    ПерДт7101=СтрРез.Дт7101;
    Иначе
    ПерДт7101=0;
    КонецЕсли;
    //4 переменная Кт90072
    Если Не (ПерКт90072=Неопределено) Тогда
    ПерКт90072=СтрРез.Кт90072;
    Иначе
    ПерКт90072=0;
    КонецЕсли;
    //5 переменная Дт4112
    Если Не (ПерДт4112=Неопределено) Тогда
    ПерДт4112=СтрРез.Дт4112;
    Иначе
    ПерДт4112=0;
    КонецЕсли;
    //6 переменная Дт0201
    Если Не (ПерДт0201=Неопределено) Тогда
    ПерДт0201=СтрРез.Дт0201;
    Иначе
    ПерДт0201=0;
    КонецЕсли;
    // 7 переменная Дт6810
    Если Не (ПерДт6810=Неопределено) Тогда
    ПерДт6810=СтрРез.Дт6810;
    Иначе
    ПерДт6810=0;
    КонецЕсли;
    // 8 переменная Дт70
    Если Не (ПерДт70=Неопределено) Тогда
    ПерДт70=СтрРез.Дт70;
    Иначе
    ПерДт70=0;
    КонецЕсли;
    // 9 переменная Дт96
    Если Не (ПерДт96=Неопределено) Тогда
    ПерДт96=СтрРез.Дт96;
    Иначе
    ПерДт96=0;
    КонецЕсли;
    // 10 переменная Дт6901
    Если Не (ПерДт6901=Неопределено) Тогда
    ПерДт6901=СтрРез.Дт6901;
    Иначе
    ПерДт6901=0;
    КонецЕсли;
    // 11 переменная Дт69031
    Если Не (ПерДт69031=Неопределено) Тогда
    ПерДт69031=СтрРез.Дт69031;
    Иначе
    ПерДт69031=0;
    КонецЕсли;
    // 12 переменная Дт69027
    Если Не (ПерДт69027=Неопределено) Тогда
    ПерДт69027=СтрРез.Дт69027;
    Иначе
    ПерДт69027=0;
    КонецЕсли;
    // 13 переменная Дт6911
    Если Не (ПерДт6911=Неопределено) Тогда
    ПерДт6911=СтрРез.Дт6911;
    Иначе
    ПерДт6911=0;
    КонецЕсли;
    // 14 переменная Дт1904
    Если Не (ПерДт1904=Неопределено) Тогда
    ПерДт1904=СтрРез.Дт1904;
    Иначе
    ПерДт1904=0;
    КонецЕсли;
    // 15 переменная Дт1903
    Если Не (ПерДт1903=Неопределено) Тогда
    ПерДт1903=СтрРез.Дт1903;
    Иначе
    ПерДт1903=0;
    КонецЕсли;
    // 16 переменная Дт1003
    Если Не (ПерДт1003=Неопределено) Тогда
    ПерДт1003=СтрРез.Дт1003;
    Иначе
    ПерДт1003=0;
    КонецЕсли;
    // 17 переменная Дт10111
    Если Не (ПерДт10111=Неопределено) Тогда
    ПерДт10111=СтрРез.Дт10111;
    Иначе
    ПерДт10111=0;
    КонецЕсли;
    // 18 переменная Дт1006
    Если Не (ПерДт1006=Неопределено) Тогда
    ПерДт1006=СтрРез.Дт1006;
    Иначе
    ПерДт1006=0;
    КонецЕсли;
    // 19 переменная Дт1005
    Если Не (ПерДт1005=Неопределено) Тогда
    ПерДт1005=СтрРез.Дт1005;
    Иначе
    ПерДт1005=0;
    КонецЕсли;
    // 20 переменная Дт1001
    Если Не (ПерДт1001=Неопределено) Тогда
    ПерДт1001=СтрРез.Дт1001;
    Иначе
    ПерДт1001=0;
    КонецЕсли;
    // 21 переменная Дт1004
    Если Не (ПерДт1004=Неопределено) Тогда
    ПерДт1004=СтрРез.Дт1004;
    Иначе
    ПерДт1004=0;
    КонецЕсли;
    // 22 переменная Дт1008
    Если Не (ПерДт1008=Неопределено) Тогда
    ПерДт1008=СтрРез.Дт1008;
    Иначе
    ПерДт1008=0;
    КонецЕсли;
    // 23 переменная Дт1009
    Если Не (ПерДт1009=Неопределено) Тогда
    ПерДт1009=СтрРез.Дт1009;
    Иначе
    ПерДт1009=0;
    КонецЕсли;
    // 24 переменная Дт1010
    Если Не (ПерДт1010=Неопределено) Тогда
    ПерДт1010=СтрРез.Дт1010;
    Иначе
    ПерДт1010=0;
    КонецЕсли;

    // 25 переменная Дт51
    // Если Не (ПерДт51=Неопределено) Тогда
    // ПерДт51=СтрРез.Дт51;
    // Иначе
    // ПерДт51=0;
    // КонецЕсли;

    ////////////////////////////////////////////////////////////­//////////////////////////////////////
    Иначе
    ПерКт90071=0;
    ////////////////////////////////////////////////////////////­/////////////////////////////////////
    ///2 переменая Дт6001
    Если Не (ПерДт6001=Неопределено) Тогда
    ПерДт6001=СтрРез.Дт6001;
    Иначе
    ПерДт6001=0;
    КонецЕсли;
    /// 3 переменная Дт7101
    Если Не (ПерДт7101=Неопределено) Тогда
    ПерДт7101=СтрРез.Дт7101;
    Иначе
    ПерДт7101=0;
    КонецЕсли;
    //4 переменная Кт90072
    Если Не (ПерКт90072=Неопределено) Тогда
    ПерКт90072=СтрРез.Кт90072;
    Иначе
    ПерКт90072=0;
    КонецЕсли;
    //5 переменная Дт4112
    Если Не (ПерДт4112=Неопределено) Тогда
    ПерДт4112=СтрРез.Дт4112;
    Иначе
    ПерДт4112=0;
    КонецЕсли;
    //6 переменная Дт0201
    Если Не (ПерДт0201=Неопределено) Тогда
    ПерДт0201=СтрРез.Дт0201;
    Иначе
    ПерДт0201=0;
    КонецЕсли;
    // 7 переменная Дт6810
    Если Не (ПерДт6810=Неопределено) Тогда
    ПерДт6810=СтрРез.Дт6810;
    Иначе
    ПерДт6810=0;
    КонецЕсли;
    // 8 переменная Дт70
    Если Не (ПерДт70=Неопределено) Тогда
    ПерДт70=СтрРез.Дт70;
    Иначе
    ПерДт70=0;
    КонецЕсли;
    // 9 переменная Дт96
    Если Не (ПерДт96=Неопределено) Тогда
    ПерДт96=СтрРез.Дт96;
    Иначе
    ПерДт96=0;
    КонецЕсли;
    // 10 переменная Дт6901
    Если Не (ПерДт6901=Неопределено) Тогда
    ПерДт6901=СтрРез.Дт6901;
    Иначе
    ПерДт6901=0;
    КонецЕсли;
    // 11 переменная Дт69031
    Если Не (ПерДт69031=Неопределено) Тогда
    ПерДт69031=СтрРез.Дт69031;
    Иначе
    ПерДт69031=0;
    КонецЕсли;
    // 12 переменная Дт69027
    Если Не (ПерДт69027=Неопределено) Тогда
    ПерДт69027=СтрРез.Дт69027;
    Иначе
    ПерДт69027=0;
    КонецЕсли;
    // 13 переменная Дт6911
    Если Не (ПерДт6911=Неопределено) Тогда
    ПерДт6911=СтрРез.Дт6911;
    Иначе
    ПерДт6911=0;
    КонецЕсли;
    // 14 переменная Дт1904
    Если Не (ПерДт1904=Неопределено) Тогда
    ПерДт1904=СтрРез.Дт1904;
    Иначе
    ПерДт1904=0;
    КонецЕсли;
    // 15 переменная Дт1903
    Если Не (ПерДт1903=Неопределено) Тогда
    ПерДт1903=СтрРез.Дт1903;
    Иначе
    ПерДт1903=0;
    КонецЕсли;
    // 16 переменная Дт1003
    Если Не (ПерДт1003=Неопределено) Тогда
    ПерДт1003=СтрРез.Дт1003;
    Иначе
    ПерДт1003=0;
    КонецЕсли;
    // 17 переменная Дт10111
    Если Не (ПерДт10111=Неопределено) Тогда
    ПерДт10111=СтрРез.Дт10111;
    Иначе
    ПерДт10111=0;
    КонецЕсли;
    // 18 переменная Дт1006
    Если Не (ПерДт1006=Неопределено) Тогда
    ПерДт1006=СтрРез.Дт1006;
    Иначе
    ПерДт1006=0;
    КонецЕсли;
    // 19 переменная Дт1005
    Если Не (ПерДт1005=Неопределено) Тогда
    ПерДт1005=СтрРез.Дт1005;
    Иначе
    ПерДт1005=0;
    КонецЕсли;
    // 20 переменная Дт1001
    Если Не (ПерДт1001=Неопределено) Тогда
    ПерДт1001=СтрРез.Дт1001;
    Иначе
    ПерДт1001=0;
    КонецЕсли;
    // 21 переменная Дт1004
    Если Не (ПерДт1004=Неопределено) Тогда
    ПерДт1004=СтрРез.Дт1004;
    Иначе
    ПерДт1004=0;
    КонецЕсли;
    // 22 переменная Дт1008
    Если Не (ПерДт1008=Неопределено) Тогда
    ПерДт1008=СтрРез.Дт1008;
    Иначе
    ПерДт1008=0;
    КонецЕсли;
    // 23 переменная Дт1009
    Если Не (ПерДт1009=Неопределено) Тогда
    ПерДт1009=СтрРез.Дт1009;
    Иначе
    ПерДт1009=0;
    КонецЕсли;
    // 24 переменная Дт1010
    Если Не (ПерДт1010=Неопределено) Тогда
    ПерДт1010=СтрРез.Дт1010;
    Иначе
    ПерДт1010=0;
    КонецЕсли;
    // 25 переменная Дт51
    // Если Не (ПерДт51=Неопределено) Тогда
    // ПерДт51=СтрРез.Дт51;
    // Иначе
    // ПерДт51=0;
    // КонецЕсли;

    ////////////////////////////////////////////////////////////­//////////////////////////////////////
    Good=0;
    КонецЕсли;
    Good=ПерДт6001+ПерДт7101+ПерКт90072+ПерДт4112+ПерДт0201+ПерД­т6810+ПерДт70+ПерДт96+ПерДт6901+ПерДт69031+ПерДт69027+ПерДт6­911+ПерДт1904+ПерДт1903+ПерДт1003+ПерДт10111+ПерДт1006+ПерДт­1005+ПерДт1001+ПерДт1004+ПерДт1008+ПерДт1009+ПерДт1010; //+* +ПерДт51

    ИтогиПоСтрочно.Параметры.ИтогВСЕ = Формат( Good, "ЧЦ=15; ЧДЦ=2; ЧН=-" );
```

но возникла еще одна очень большая проблема если я укажу периуд месяц и в масиве СтрРез не окажется любой переменной которые я описал то будет ошибка поле объекта не обнаружено, как решить эту проблему я просто уже не знаю
---
кто нибудь подскажите как решить эту задачу
---
если кому то нужна база что бы посмотреть ссылку кину в личку
---
Если переменная Good1 нужна только для того, чтобы вывести итог, то все написанное - типичный г...нокод.

Потому что нет никакой нужны переприсваивать переменным те же самые значения, если они уже успешно определились.

Без вмешательства в "алгоритм" этого шедевра, чисто по синтаксису:

```1c
    ПерКт90071=СтрРез.Кт90071;//1 переменаня Кт90071
    ПерДт6001=СтрРез.Дт6001; //2 переменная Дт6001
    ПерДт7101=СтрРез.Дт7101; //3 переменная Дт7101
    ПерКт90072=СтрРез.Кт90072; //4 переменная Кт90072
    ПерДт4112=СтрРез.Дт4112; // 5 переменная Дт4112
    ПерДт0201=СтрРез.Дт0201; // 6 переменная Дт0201
    ПерДт6810=СтрРез.Дт6810; // 7 переменная Дт6810
    ПерДт70=СтрРез.Дт70; // 8 переменная Дт70
    ПерДт96=СтрРез.Дт96; // 9 переменная Дт96
    ПерДт6901=СтрРез.Дт6901; // 10 переменная Дт6901
    ПерДт69031=СтрРез.Дт69031; // 11 переменная Дт69031
    ПерДт69027=СтрРез.Дт69027; // 12 переменная Дт69027
    ПерДт6911=СтрРез.Дт6911; // 13 переменная Дт6911
    ПерДт1904=СтрРез.Дт1904; // 14 переменная Дт1904
    ПерДт1903=СтрРез.Дт1903; // 15 переменная Дт1903
    ПерДт1003=СтрРез.Дт1003; // 16 переменная Дт1003

    ПерДт10111=СтрРез.Дт10111; // 17 переменная Дт10111

    ПерДт1006=СтрРез.Дт1006; // 18 переменная Дт1006
    ПерДт1005=СтрРез.Дт1005; // 19 переменная Дт1005
    ПерДт1001=СтрРез.Дт1001; // 20 переменная Дт1001
    ПерДт1004=СтрРез.Дт1004; // 21 переменная Дт1004
    ПерДт1008=СтрРез.Дт1008; // 22 переменная Дт1008
    ПерДт1009=СтрРез.Дт1009; // 23 переменная Дт1009
    ПерДт1010=СтрРез.Дт1010; // 24 переменная Дт1010

    Good=0;

    Если Не (ПерКт90071=Неопределено) Тогда
    Good=Good+ПерКт90071;
    Иначе
    ПерКт90071=0;
    КонецЕсли;
    ///2 переменая Дт6001
    Если Не (ПерДт6001=Неопределено) Тогда
    Good=Good+ПерДт6001;
    Иначе
    ПерДт6001=0;
    КонецЕсли;
    /// 3 переменная Дт7101
    Если Не (ПерДт7101=Неопределено) Тогда
    Good=Good+ПерДт7101;
    Иначе
    ПерДт7101=0;
    КонецЕсли;
```

И так далее, там все однотипно.
---
Cooler, да я понимаю что это г...код, но мне не пришло не каких других идей как еще можно решить данную задачу может быть там надо всего лишь сделать еще один цикл но у меня не получилось, не знаю как
---
Ну, во-первых, в процедуре ДобавитьСтрокуВРезультат() типизировать каждую новую добавляемую колонку, чтобы в ней заведомо были именно числа.

Во-вторых, суммировать значения в цикле по фактически имеющимся колонкам, не привязываясь к их конкретным именам.

Можно без п.1, но тогда при суммировании предварительно проверять значение каждой колонки на Неопределено.
---
Cooler, ну в принципе вариант второй как то понял но не понял как реализовать пока, а первый вариант вообще не догнал
---
Не догнали - забудьте. Делайте сразу второй, примерно так:

```1c
    Good=0;
    Для нКол = 0 По Результат.Колонки.Количество()-1 Цикл
    ПерДтКт=СтрРез.Получить(нКол);
    Если Не (ПерДтКт=Неопределено) Тогда
    Good=Good+ПерДтКт;
    КонецЕсли;
    КонецЕсли;
```

Если, конечно, я правильно понял вашу задачу: просуммировать все значения строки ТЗ с неизвестным заранее набором колонок.
---
Cooler, да именно так только одна колонка не должна в ходить туда
```1c
    ПерКт90071=СтрРез.Кт90071;//1 переменаня Кт90071
```
 это как раз первая моя переменная
---
Ну, если не должна, то проверяйте имя перед суммированием:

```1c
    Good=0;
    Для нКол = 0 По Результат.Колонки.Количество()-1 Цикл
    ТекКол=Результат.Колонки[нКол];
    Если ТекКол.Имя="Кт90071" Тогда
    Продолжить;
    КонецЕсли;
    ПерДтКт=СтрРез.Получить(нКол);
    Если Не (ПерДтКт=Неопределено) Тогда
    Good=Good+ПерДтКт;
    КонецЕсли;
    КонецЦикла;
```
---
Cooler, я понял вас сейчас буду пробывать
---
Cooler, получается он у меня сейчас начинает цикс с первой колонки и вот какой тип получает у меня переменная
---
а ну все понял
```1c
    Для нКол = 1 По Результат.Колонки.Количество()-1 Цикл
```
 тогда так надо
---
блин а все взлетело спасибо вам вроде как работает право суммы еще не проверял. А не подскажите как можно вывести итоги по группа как на скрине
---
Думаю, аналогично. Попробую подсказать:

```1c
    //Выводим итог для каждой колонки
    Good=0;
    Для Сч = 1 По ТабИтогов.Колонки.Количество() - 1 Цикл
    Гр = Макет.ПолучитьОбласть( "Группа|СчетДт" );
    // Гр.Параметры.ИтогГр = Формат( ТабИтогов[ТекСтр].Получить( Сч ), "ЧЦ=15; ЧДЦ=2; ЧН=-" );
    ПерДт=ТабИтогов[ТекСтр].Получить( Сч );
    Если Не (ПерДт=Неопределено) Тогда
    Good=Good+ПерДтКт;
    КонецЕсли;
    Гр.Параметры.ИтогГр = Формат( ПерДт, "ЧЦ=15; ЧДЦ=2; ЧН=-" );
    Рез.Присоединить( Гр );
    ///andrey
    ГруппаИТОГО=Макет.ПолучитьОбласть("Группа|ИТОГО1");
    // ГруппаИТОГО.Параметр.ИтогГрВСЕ= ТабИтогов.Дт6001;
    ГруппаИТОГО.Параметр.ИтогГрВСЕ= Формат( Good, "ЧЦ=15; ЧДЦ=2; ЧН=-" );
    Рез.Присоединить(ГруппаИТОГО);
    //andrey
    КонецЦикла;
```

P.S. Думаю, что вознаграждение можно бы и увеличить.
---
Cooler, да нет у меня больше веб мани поможете могу на Яндекса деньги от благодарить
---
Я бы помог, но это займет не 10 минут - надо смотреть вживую по базе, куда деваются ваши рубли. Вечером (после 22:00 мск) освобожусь, если не разберетесь - кидайте в личку ссылку на архив с базой и отчетом в том виде, в котором он сейчас написан и работает, пусть и криво.
---
Cooler, окей договорились киньте в личку адрес электронной почты для связи
---
все го лишь несколько строк в цикле и результат а я вчера колотил кучу кода
---
блин че то какой то косяк проверил суммы первая группа которая не ЕНВД правильные суммы все, а во второй касяк везде не хватает одного рубля че то странно как то
---
все итоги вывел
```1c
    //Выводим итог для каждой колонки
    Для Сч = 1 По ТабИтогов.Колонки.Количество() - 1 Цикл
    Гр = Макет.ПолучитьОбласть( "Группа|СчетДт" );
    Гр.Параметры.ИтогГр = Формат( ТабИтогов[ТекСтр].Получить( Сч ), "ЧЦ=15; ЧДЦ=2; ЧН=-" );
    Рез.Присоединить( Гр );

    ГруппаИТОГО=Макет.ПолучитьОбласть("Группа|ИТОГО1");

    ТекКол=ТабИтогов.Колонки[Сч];
    Если ТекКол.Имя="Кт90071" Тогда
    Продолжить;
    КонецЕсли;

    ПерДтКт=ТабИтогов[ТекСтр].Получить( Сч );
    Если Не (ПерДтКт=Неопределено) Тогда
    Good=Good+ПерДтКт;
    КонецЕсли;
    ГруппаИТОГО.Параметры.ИтогГрВСЕ= Формат( Good, "ЧЦ=15; ЧДЦ=2; ЧН=-" );
    КонецЦикла;
    Рез.Присоединить(ГруппаИТОГО);
```

остался только один вопрос рубли во второй группе
---
andrey_name_912, может в отладчике - проверить/найти, быстрее?
---
Salavat, да так и сделал, посмотрел внимательно и нашел, изменил параметр в цикле и все заработало
```1c
    Для нКол = 2 По Результат.Колонки.Количество()-1 Цикл
```
---
отдельное спасибо Cooler без тебя бы не справился