В СКД делаю ресурсы по вычисляемым полям:

В группировке Контрагент вывожу контрагентов по отбору меньше или равно заданного ПроцентВыручки:

Формируется отчет:

Делаю детализацию по Документ:

ПроцентВыручки становится не числовым полем и его нельзя задать. Если снять галку с ПроцентВыручки,, отчёт формируется:

Запомнить снятый флаг ПроцентВыручки для расшифровки Документ не получается.

Как сделать так, чтобы при расшифровке не нужно было снимать флаг отбора ПроцентВыручки.
---
Сделал так:

```1c
    Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;

    Настройки = КомпоновщикНастроек.ПолучитьНастройки();
    ПолеКонтрагент = Настройки.ДоступныеПоляОтбора.Элементы.Найти("Контрагент").Поле;
    ПолеДокумент = Настройки.ДоступныеПоляВыбора.Элементы.Найти("Документ").Поле;
    ПолеПроцентВыручки = Настройки.ДоступныеПоляВыбора.Элементы.Найти("ПроцентВыручки").Поле;

    Для Каждого СтруктНастр Из Настройки.Структура Цикл
    Для Каждого ЭлПолейГрупп Из СтруктНастр.ПоляГруппировки.Элементы Цикл
    Если ЭлПолейГрупп.Поле = ПолеДокумент Тогда
    //Группировка по документу, нуужно удалить отбор по ПроцентВыручки
    МассивУдалНастрОтб = Новый Массив;
    Для Каждого ЭлОтборСтрНастр Из СтруктНастр.Родитель.Отбор.Элементы Цикл
    Если ЭлОтборСтрНастр.ЛевоеЗначение = ПолеПроцентВыручки Тогда
    МассивУдалНастрОтб.Добавить(ЭлОтборСтрНастр);
    КонецЕсли;
    КонецЦикла;
    Если МассивУдалНастрОтб.Количество() <> 0 Тогда
    Для Каждого ЭлМассивУдалНастрОтб Из МассивУдалНастрОтб Цикл
    СтруктНастр.Родитель.Отбор.Элементы.Удалить(ЭлМассивУдалНастрОтб);
    КонецЦикла;
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);

    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки);

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    КонецПроцедуры
```
---
http://infostart.ru/public/151562/
---
делать отдельный вариант расшифровки не нужно. в обработке расшифровки получаем настройки расшифровки, в них "выкидываем" отбор по проценту выручки и формируем отчет с полученными настройками.
---
либо есть вариант еще проще. в при компоновке результата выкидывать из настроек отбор по проценту если в группировках только детальные записи. такой вариант еще лучше если своей формы отчета нет
---
Сделал так:

```1c
    Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;

    Настройки = КомпоновщикНастроек.ПолучитьНастройки();
    ПолеКонтрагент = Настройки.ДоступныеПоляОтбора.Элементы.Найти("Контрагент").Поле;
    ПолеДокумент = Настройки.ДоступныеПоляВыбора.Элементы.Найти("Документ").Поле;
    ПолеПроцентВыручки = Настройки.ДоступныеПоляВыбора.Элементы.Найти("ПроцентВыручки").Поле;

    Для Каждого СтруктНастр Из Настройки.Структура Цикл
    Для Каждого ЭлПолейГрупп Из СтруктНастр.ПоляГруппировки.Элементы Цикл
    Если ЭлПолейГрупп.Поле = ПолеДокумент Тогда
    //Группировка по документу, нуужно удалить отбор по ПроцентВыручки
    МассивУдалНастрОтб = Новый Массив;
    Для Каждого ЭлОтборСтрНастр Из СтруктНастр.Родитель.Отбор.Элементы Цикл
    Если ЭлОтборСтрНастр.ЛевоеЗначение = ПолеПроцентВыручки Тогда
    МассивУдалНастрОтб.Добавить(ЭлОтборСтрНастр);
    КонецЕсли;
    КонецЦикла;
    Если МассивУдалНастрОтб.Количество() <> 0 Тогда
    Для Каждого ЭлМассивУдалНастрОтб Из МассивУдалНастрОтб Цикл
    СтруктНастр.Родитель.Отбор.Элементы.Удалить(ЭлМассивУдалНастрОтб);
    КонецЦикла;
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);

    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки);

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    КонецПроцедуры
```