Помогите пожалуйста.. Уже не знаю что делать..
Переделываю отчет. Есть макет. Вывожу данные,и появляются лишние строки. Не могу понять.
Все данные как будто съезжают вправо.
Код начиная с вывода отчета

```1c
    ТабличныйДокумент.НачатьАвтогруппировкуСтрок();

    Выборка_Номенклатура = Выборка_Итого.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Номенклатура");

    Пока Выборка_Номенклатура.Следующий() Цикл

    _Уровень = ?(ВыводитьИерархию, Выборка_Номенклатура.Уровень() - 1, 0);
    ОбластьНоменклатураГруппаТело.Область(1,1,1,1).Отступ = _Уровень;
    ОбластьНоменклатураТело.Область(1,1,1,1).Отступ = _Уровень;
    ОбластьВариантИсполнения_КатегорияТело.Область(1,1,1,1).Отступ = _Уровень + 1;
    Область_Пустая_ВариантИсполнения_КатегорияТело.Область(1,1,1,1).Отступ = _Уровень;

    //Вывод строки номенклатуры
    Если Выборка_Номенклатура.Номенклатура.ЭтоГруппа Тогда

    //Группу номенклатуры выводим только если она является итогом по группировке (при иерархическом выводе)
    //ИЛИ выводится номенклатура, невключаемая в прайс

    Если Выборка_Номенклатура.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии
    ИЛИ (НЕ ЭлементОтбора_НеВключатьВПрайс = Неопределено
    И ЭлементОтбора_НеВключатьВПрайс.Использование
    И ЭлементОтбора_НеВключатьВПрайс.Значение = ИСТИНА) Тогда

    ОбластьНоменклатураГруппаТело.Параметры.Заполнить(Выборка_Номенклатура);
    ТабличныйДокумент.Вывести(ОбластьНоменклатураГруппаТело, _Уровень,,Истина);
    ОбластьНоменклатураГруппаЕдИзм.Параметры.Заполнить(Выборка_Номенклатура);
    ТабличныйДокумент.Присоединить(ОбластьНоменклатураГруппаЕдИзм);

    ВыборкаИтого_ТипыЦен.Сбросить();
    Пока ВыборкаИтого_ТипыЦен.Следующий() Цикл

    Если глПустоеЗначение(ВыборкаИтого_ТипыЦен.ТипЦен) Тогда
    Продолжить;
    КонецЕсли;

    ТабличныйДокумент.Присоединить(ОбластьНоменклатураГруппаТипЦен);

    КонецЦикла;

    ТабличныйДокумент.Присоединить(ОбластьНоменклатураГруппаИтого);

    КонецЕсли;

    Продолжить;

    Иначе

    // Строку номенклатуры (при обходе номенклатуры) выводим только
    // если по ней указаны цены для категорий или вариантов исполнения
    // Иначе тут строку не выводим, а для детальных записей текущей номенклатуры
    // указываем область, в которой вместо пустых категорий/вариантов исполнений выводится сама номенклатура
    Если Выборка_Номенклатура.ЕстьНепустой_ВариантИсполненияКатегория Тогда

    ОбластьНоменклатураТело.Параметры.Заполнить(Выборка_Номенклатура);
    ТабличныйДокумент.Вывести(ОбластьНоменклатураТело, _Уровень,,Истина);
    ОбластьНоменклатураЕдИзм.Параметры.Заполнить(Выборка_Номенклатура);
    ТабличныйДокумент.Присоединить(ОбластьНоменклатураЕдИзм);

    ВыборкаИтого_ТипыЦен.Сбросить();
    Пока ВыборкаИтого_ТипыЦен.Следующий() Цикл

    Если глПустоеЗначение(ВыборкаИтого_ТипыЦен.ТипЦен) Тогда
    Продолжить;
    КонецЕсли;

    ТабличныйДокумент.Присоединить(ОбластьНоменклатураТипЦен);

    КонецЦикла;

    ТабличныйДокумент.Присоединить(ОбластьНоменклатураИтого);

    Область_Детали_Тело = ОбластьВариантИсполнения_КатегорияТело;
    Область_Детали_ЕдИзм = ОбластьВариантИсполнения_КатегорияЕдИзм;
    Область_Детали_ТипЦен = ОбластьВариантИсполнения_КатегорияТипЦен;
    Область_Детали_Итого = ОбластьВариантИсполнения_КатегорияИтого;
    Детали_Уровень = _Уровень;

    Иначе

    Область_Детали_Тело = Область_Пустая_ВариантИсполнения_КатегорияТело;
    Область_Детали_ЕдИзм = Область_Пустая_ВариантИсполнения_КатегорияЕдИзм;
    Область_Детали_ТипЦен = Область_Пустая_ВариантИсполнения_КатегорияТипЦен;
    Область_Детали_Итого = Область_Пустая_ВариантИсполнения_КатегорияИтого;
    Детали_Уровень = _Уровень -1;

    КонецЕсли;

    КонецЕсли;

    //Вывод ВариантаИсполнения/Категории
    Выборка_ТипВИКатегории = Выборка_Номенклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ТипВИКатегории");
    Пока Выборка_ТипВИКатегории.Следующий() Цикл

    Выборка_ВариантИсполнения_Категория = Выборка_ТипВИКатегории.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ВариантИсполнения_Категория");
    Пока Выборка_ВариантИсполнения_Категория.Следующий() Цикл
    //
    // Если НЕ глПустоеЗначение(Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория) Тогда
    // _Дополнительно = Новый Структура;
    // // _Дополнительно.Вставить("ВариантИсполнения",Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория);
    // // _Дополнительно.Вставить("ЕдИзм",Выборка_ВариантИсполнения_Категория.Номенклатура.БазоваяЕдИзм);
    // шк = глСформироватьВнутреннийШтрихкод(Выборка_ВариантИсполнения_Категория.Номенклатура,_Дополнительно);
    // _Дополнительно.Вставить("шк",шк);
    // Область_Детали_Тело.Параметры.Заполнить(_Дополнительно);
    // ТабличныйДокумент.Вывести(Область_Детали_Тело, Детали_Уровень+1);
    // //Область_Детали_Тело.Параметры.ВариантИсполнения_Категория = ";
    // Область_Детали_Тело.Параметры.шк = " ;
    // КонецЕсли;

    Выборка_ЕдИзм = Выборка_ВариантИсполнения_Категория.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ЕдИзм");

    Пока Выборка_ЕдИзм.Следующий() Цикл

    Область_Детали_Тело.Параметры.Заполнить(Выборка_ЕдИзм);
    //ТабличныйДокумент.Вывести(Область_Детали_Тело,Детали_Уровень+1);
    Область_Детали_ЕдИзм.Параметры.Заполнить(Выборка_ЕдИзм);
    ТабличныйДокумент.Присоединить(Область_Детали_ЕдИзм);

    Если НЕ глПустоеЗначение(Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория) Тогда
    _Дополнительно = Новый Структура;
    _Дополнительно.Вставить("ВариантИсполнения",Выборка_ЕдИзм.ВариантИсполнения_Категория);
    _Дополнительно.Вставить("ЕдИзм",Выборка_ЕдИзм.Номенклатура.БазоваяЕдИзм);
    шк = глСформироватьВнутреннийШтрихкод(Выборка_ЕдИзм.Номенклатура,_Дополнительно);
    _Дополнительно.Вставить("шк",шк);
    Область_Детали_Тело.Параметры.Заполнить(_Дополнительно);
    ТабличныйДокумент.Вывести(Область_Детали_Тело, Детали_Уровень + 1);
    Область_Детали_Тело.Параметры.ВариантИсполнения_Категория = ";
    Область_Детали_Тело.Параметры.шк = " ;
    КонецЕсли;

    Выборка_ТипыЦен = Выборка_ЕдИзм.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ТипЦен", "Все");
    Пока Выборка_ТипыЦен.Следующий() Цикл

    Если глПустоеЗначение(Выборка_ТипыЦен.ТипЦен) Тогда
    Продолжить;
    КонецЕсли;

    Область_Детали_ТипЦен.Параметры.Заполнить(Выборка_ТипыЦен);
    ТабличныйДокумент.Присоединить(Область_Детали_ТипЦен);
    КонецЦикла;

    ТабличныйДокумент.Присоединить(Область_Детали_Итого);

    КонецЦикла;

    КонецЦикла;
    КонецЦикла;

    КонецЦикла;

    ТабличныйДокумент.ЗакончитьАвтогруппировкуСтрок ();
```
---
Все получилось,всем спасибо

```1c
    Пока Выборка_ТипВИКатегории.Следующий() Цикл

    Выборка_ВариантИсполнения_Категория = Выборка_ТипВИКатегории.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ВариантИсполнения_Категория");
    Пока Выборка_ВариантИсполнения_Категория.Следующий() Цикл

    Если НЕ глПустоеЗначение(Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория) Тогда
    _Дополнительно = Новый Структура;
    _Дополнительно.Вставить("ВариантИсполнения",Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория);
    _Дополнительно.Вставить("ЕдИзм",Выборка_ВариантИсполнения_Категория.Номенклатура.БазоваяЕдИзм);
    шк = глСформироватьВнутреннийШтрихкод(Выборка_ВариантИсполнения_Категория.Номенклатура,_Дополнительно);
    _Дополнительно.Вставить("шк",шк);
    Область_Детали_Тело.Параметры.Заполнить(_Дополнительно);
    //ТабличныйДокумент.Вывести(Область_Детали_Тело, Детали_Уровень + 1);
    // Область_Детали_Тело.Параметры.ВариантИсполнения_Категория = ";
    // Область_Детали_Тело.Параметры.шк = " ;
    КонецЕсли;

    Выборка_ЕдИзм = Выборка_ВариантИсполнения_Категория.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ЕдИзм");
    Пока Выборка_ЕдИзм.Следующий() Цикл

    Область_Детали_Тело.Параметры.Заполнить(Выборка_ЕдИзм);
    ТабличныйДокумент.Вывести(Область_Детали_Тело, Детали_Уровень + 1);
    Область_Детали_ЕдИзм.Параметры.Заполнить(Выборка_ЕдИзм);
    ТабличныйДокумент.Присоединить(Область_Детали_ЕдИзм);
```
---
А что в итоге нужно получить? Вы хотите в разных группировках разные данные? Может проще таблицу одну целую, а уже заполнением манипулировать? Данные съезжают т.к. присоединяете секции, видимо в одной группировке присоединяется больше чем в другой.
---
надо вывести данные по каждой номенклатуре,как на макете. Вот вывожу
---
И в чем затруднения вывода через СКД?
p.s. А вообще не понятно зачем сделали вертикальные области. Обычно делаются только горизонтальные. У вас куча Присоединить(), думаю проблема в этом.
---
не я делала,пробовала убирать по очереди присоединить,ничего не помогает
---
Может проще все это сделать в СКД, группировки/иерархия - это для СКД. Кодировать не нужно, нужен только запрос.
---
я переделываю рабочий отчет,добавила только шк и все поехало. хотелось бы просто исправить и все
---
у вас судя по скриншоту - типовая задачка для СКД
---
Но для ШК пришлось добавить еще одну группировку? Или группировка ВариантИсполнения уже была? А как выглядел макет до изменений?
---
была группировка,просто без параметра шк
---
Косяк тут, например:

```1c
    Пока ВыборкаИтого_ТипыЦен.Следующий() Цикл

    Если глПустоеЗначение(ВыборкаИтого_ТипыЦен.ТипЦен) Тогда
    Продолжить;
    КонецЕсли;

    ТабличныйДокумент.Присоединить(ОбластьНоменклатураГруппаТипЦен);

    КонецЦикла;
```

Присоединять надо в любом случае, пусть даже клетка будет пустая. Ну и выводить, соответственно.
---
не помогло
---
Результат прям так же выглядит? А код как сейчас выглядит?
---
да так же

```1c
    ТабличныйДокумент.НачатьАвтогруппировкуСтрок();

    Выборка_Номенклатура = Выборка_Итого.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Номенклатура");

    Пока Выборка_Номенклатура.Следующий() Цикл

    _Уровень = ?(ВыводитьИерархию, Выборка_Номенклатура.Уровень() - 1, 0);
    ОбластьНоменклатураГруппаТело.Область(1,1,1,1).Отступ = _Уровень;
    ОбластьНоменклатураТело.Область(1,1,1,1).Отступ = _Уровень;
    ОбластьВариантИсполнения_КатегорияТело.Область(1,1,1,1).Отступ = _Уровень + 1;
    Область_Пустая_ВариантИсполнения_КатегорияТело.Область(1,1,1,1).Отступ = _Уровень;

    //Вывод строки номенклатуры
    Если Выборка_Номенклатура.Номенклатура.ЭтоГруппа Тогда

    //Группу номенклатуры выводим только если она является итогом по группировке (при иерархическом выводе)
    //ИЛИ выводится номенклатура, невключаемая в прайс

    Если Выборка_Номенклатура.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии
    ИЛИ (НЕ ЭлементОтбора_НеВключатьВПрайс = Неопределено
    И ЭлементОтбора_НеВключатьВПрайс.Использование
    И ЭлементОтбора_НеВключатьВПрайс.Значение = ИСТИНА) Тогда

    ОбластьНоменклатураГруппаТело.Параметры.Заполнить(Выборка_Номенклатура);
    ТабличныйДокумент.Вывести(ОбластьНоменклатураГруппаТело, _Уровень,,Истина);
    ОбластьНоменклатураГруппаЕдИзм.Параметры.Заполнить(Выборка_Номенклатура);
    ТабличныйДокумент.Присоединить(ОбластьНоменклатураГруппаЕдИзм);

    ВыборкаИтого_ТипыЦен.Сбросить();
    Пока ВыборкаИтого_ТипыЦен.Следующий() Цикл

    //Если глПустоеЗначение(ВыборкаИтого_ТипыЦен.ТипЦен) Тогда
    // ТабличныйДокумент.Присоединить(ОбластьНоменклатураГруппаТипЦен);
    // //Продолжить;
    //КонецЕсли;

    ТабличныйДокумент.Присоединить(ОбластьНоменклатураГруппаТипЦен);

    КонецЦикла;

    ТабличныйДокумент.Присоединить(ОбластьНоменклатураГруппаИтого);

    КонецЕсли;

    Продолжить;

    Иначе

    // Строку номенклатуры (при обходе номенклатуры) выводим только
    // если по ней указаны цены для категорий или вариантов исполнения
    // Иначе тут строку не выводим, а для детальных записей текущей номенклатуры
    // указываем область, в которой вместо пустых категорий/вариантов исполнений выводится сама номенклатура
    Если Выборка_Номенклатура.ЕстьНепустой_ВариантИсполненияКатегория Тогда

    ОбластьНоменклатураТело.Параметры.Заполнить(Выборка_Номенклатура);
    ТабличныйДокумент.Вывести(ОбластьНоменклатураТело, _Уровень,,Истина);
    ОбластьНоменклатураЕдИзм.Параметры.Заполнить(Выборка_Номенклатура);
    ТабличныйДокумент.Присоединить(ОбластьНоменклатураЕдИзм);

    ВыборкаИтого_ТипыЦен.Сбросить();
    Пока ВыборкаИтого_ТипыЦен.Следующий() Цикл

    Если глПустоеЗначение(ВыборкаИтого_ТипыЦен.ТипЦен) Тогда
    Продолжить;
    КонецЕсли;

    ТабличныйДокумент.Присоединить(ОбластьНоменклатураТипЦен);

    КонецЦикла;

    ТабличныйДокумент.Присоединить(ОбластьНоменклатураИтого);

    Область_Детали_Тело = ОбластьВариантИсполнения_КатегорияТело;
    Область_Детали_ЕдИзм = ОбластьВариантИсполнения_КатегорияЕдИзм;
    Область_Детали_ТипЦен = ОбластьВариантИсполнения_КатегорияТипЦен;
    Область_Детали_Итого = ОбластьВариантИсполнения_КатегорияИтого;
    Детали_Уровень = _Уровень;

    Иначе

    Область_Детали_Тело = Область_Пустая_ВариантИсполнения_КатегорияТело;
    Область_Детали_ЕдИзм = Область_Пустая_ВариантИсполнения_КатегорияЕдИзм;
    Область_Детали_ТипЦен = Область_Пустая_ВариантИсполнения_КатегорияТипЦен;
    Область_Детали_Итого = Область_Пустая_ВариантИсполнения_КатегорияИтого;
    Детали_Уровень = _Уровень -1;

    КонецЕсли;

    КонецЕсли;

    //Вывод ВариантаИсполнения/Категории
    Выборка_ТипВИКатегории = Выборка_Номенклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ТипВИКатегории");
    Пока Выборка_ТипВИКатегории.Следующий() Цикл

    Выборка_ВариантИсполнения_Категория = Выборка_ТипВИКатегории.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ВариантИсполнения_Категория");
    Пока Выборка_ВариантИсполнения_Категория.Следующий() Цикл
    ////
    // Если НЕ глПустоеЗначение(Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория) Тогда
    // _Дополнительно = Новый Структура;
    // _Дополнительно.Вставить("ВариантИсполнения",Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория);
    // _Дополнительно.Вставить("ЕдИзм",Выборка_ВариантИсполнения_Категория.Номенклатура.БазоваяЕдИзм);
    // шк = глСформироватьВнутреннийШтрихкод(Выборка_ВариантИсполнения_Категория.Номенклатура,_Дополнительно);
    // _Дополнительно.Вставить("шк",шк);
    // Область_Детали_Тело.Параметры.Заполнить(_Дополнительно);
    // ТабличныйДокумент.Вывести(Область_Детали_Тело, Детали_Уровень+1);
    // //Область_Детали_Тело.Параметры.ВариантИсполнения_Категория = ";
    // Область_Детали_Тело.Параметры.шк = " ;
    // КонецЕсли;

    Выборка_ЕдИзм = Выборка_ВариантИсполнения_Категория.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ЕдИзм");

    Пока Выборка_ЕдИзм.Следующий() Цикл

    Область_Детали_Тело.Параметры.Заполнить(Выборка_ЕдИзм);
    //ТабличныйДокумент.Вывести(Область_Детали_Тело,Детали_Уровень+1);
    Область_Детали_ЕдИзм.Параметры.Заполнить(Выборка_ЕдИзм);
    ТабличныйДокумент.Присоединить(Область_Детали_ЕдИзм);

    Если НЕ глПустоеЗначение(Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория) Тогда
    _Дополнительно = Новый Структура;
    _Дополнительно.Вставить("ВариантИсполнения",Выборка_ЕдИзм.ВариантИсполнения_Категория);
    _Дополнительно.Вставить("ЕдИзм",Выборка_ЕдИзм.Номенклатура.БазоваяЕдИзм);
    шк = глСформироватьВнутреннийШтрихкод(Выборка_ЕдИзм.Номенклатура,_Дополнительно);
    _Дополнительно.Вставить("шк",шк);
    Область_Детали_Тело.Параметры.Заполнить(_Дополнительно);
    ТабличныйДокумент.Вывести(Область_Детали_Тело, Детали_Уровень + 1);
    Область_Детали_Тело.Параметры.ВариантИсполнения_Категория = ";
    Область_Детали_Тело.Параметры.шк = " ;
    КонецЕсли;

    Выборка_ТипыЦен = Выборка_ЕдИзм.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ТипЦен", "Все");
    Пока Выборка_ТипыЦен.Следующий() Цикл

    //Если глПустоеЗначение(Выборка_ТипыЦен.ТипЦен) Тогда
    // Продолжить;
    //КонецЕсли;
    //
    Область_Детали_ТипЦен.Параметры.Заполнить(Выборка_ТипыЦен);
    ТабличныйДокумент.Присоединить(Область_Детали_ТипЦен);
    КонецЦикла;

    ТабличныйДокумент.Присоединить(Область_Детали_Итого);

    КонецЦикла;

    КонецЦикла;
    КонецЦикла;

    КонецЦикла;

    ТабличныйДокумент.ЗакончитьАвтогруппировкуСтрок ();
```
---
Я бы заново начала с рабочего варианта и если, как вы говорите, уже была группировка ВариантИсполнения не трогала бы глобально макет, а только разбила бы ячейку с наименованием "ВариантИсполнения_Категория" на две не нарушая структуру макета. Потом попробуйте в месте где выводится ВариантИсполнения_Категория вставить свой параметр ШК и вписать что то свое типа "000". А уже если все получится, тогда пробуйте получать ШК и выводить его вместо "000". Двигаться лучше постепенно...
---
сейчас попробую
---
не получается,скорее всего ошибка в выводе тела. Если ту первую строку раскомментить,то задваивает значения,но все нормально выводит. Может тут что то подправить? Подскажите пожалуйста...
```1c
    Область_Детали_Тело.Параметры.Заполнить(Выборка_ЕдИзм);
    //ТабличныйДокумент.Вывести(Область_Детали_Тело,Детали_Уровень+1);
    Область_Детали_ЕдИзм.Параметры.Заполнить(Выборка_ЕдИзм);
    ТабличныйДокумент.Присоединить(Область_Детали_ЕдИзм);

    Если НЕ глПустоеЗначение(Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория) Тогда
    _Дополнительно = Новый Структура;
    _Дополнительно.Вставить("ВариантИсполнения",Выборка_ЕдИзм.ВариантИсполнения_Категория);
    _Дополнительно.Вставить("ЕдИзм",Выборка_ЕдИзм.Номенклатура.БазоваяЕдИзм);
    шк = глСформироватьВнутреннийШтрихкод(Выборка_ЕдИзм.Номенклатура,_Дополнительно);
    _Дополнительно.Вставить("шк",шк);
    Область_Детали_Тело.Параметры.Заполнить(_Дополнительно);
    ТабличныйДокумент.Вывести(Область_Детали_Тело, Детали_Уровень + 1);
    Область_Детали_Тело.Параметры.ВариантИсполнения_Категория = ";
    Область_Детали_Тело.Параметры.шк = " ;
    КонецЕсли;
```
---
Задваивает значения - это в каком смысле? Две строки выводит? Или две ячейки?
---
2 строки с одинаковыми вариантами исполнения
---
Все получилось,всем спасибо

```1c
    Пока Выборка_ТипВИКатегории.Следующий() Цикл

    Выборка_ВариантИсполнения_Категория = Выборка_ТипВИКатегории.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ВариантИсполнения_Категория");
    Пока Выборка_ВариантИсполнения_Категория.Следующий() Цикл

    Если НЕ глПустоеЗначение(Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория) Тогда
    _Дополнительно = Новый Структура;
    _Дополнительно.Вставить("ВариантИсполнения",Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория);
    _Дополнительно.Вставить("ЕдИзм",Выборка_ВариантИсполнения_Категория.Номенклатура.БазоваяЕдИзм);
    шк = глСформироватьВнутреннийШтрихкод(Выборка_ВариантИсполнения_Категория.Номенклатура,_Дополнительно);
    _Дополнительно.Вставить("шк",шк);
    Область_Детали_Тело.Параметры.Заполнить(_Дополнительно);
    //ТабличныйДокумент.Вывести(Область_Детали_Тело, Детали_Уровень + 1);
    // Область_Детали_Тело.Параметры.ВариантИсполнения_Категория = ";
    // Область_Детали_Тело.Параметры.шк = " ;
    КонецЕсли;

    Выборка_ЕдИзм = Выборка_ВариантИсполнения_Категория.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ЕдИзм");
    Пока Выборка_ЕдИзм.Следующий() Цикл

    Область_Детали_Тело.Параметры.Заполнить(Выборка_ЕдИзм);
    ТабличныйДокумент.Вывести(Область_Детали_Тело, Детали_Уровень + 1);
    Область_Детали_ЕдИзм.Параметры.Заполнить(Выборка_ЕдИзм);
    ТабличныйДокумент.Присоединить(Область_Детали_ЕдИзм);
```