Добрый день. Помогите пожалуйста, бьюсь над этим вопросом уже долгое время. Есть самописная конфигурация. Нужно вывести наименование отбора в макет отчета на СКД. Что бы он не выглядел по уродски типа отбор равно: . Отбор делается так же в СКД.
---
Для Каждого ЭлементОтбора Из Отбор Цикл
Если ЭлементОтбора.Использование тогда
ОтборТекст = Строка(ЭлементОтбора.ЛевоеЗначение) + " " + Строка(ЭлементОтбора.ВидСравнения) + " " + Строка(ЭлементОтбора.ПравоеЗначение);
КонецЕсли;
КонецЦикла;
---
Само оформление "Отбор:" в макете оформления компоновки данных. Если надо название самого отбора поменять, то можно в свойствах элемента пользовательских настроек установить представление. Если совсем свой вариант, то придется не выводить стандартный отбор, а дописывать его кодом.
---
Можете привести пример как дописать отбор кодом и вывести его в макет?
---
Можете привести пример как дописать отбор кодом и вывести его в макет?
---
Можно добавить параметр, в который будет писаться отбор. Добавить группировку в начало отчета с типом "Дополнительная информация". В макете для этой группировке указать значение нашего параметра.
В модуле объекта примерно такой код:

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

    СтандартнаяОбработка = Ложь;

    ДокументРезультат.Очистить();

    НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
    СтрокаОтбор = НастройкиОтчета.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("СтрокаОтбор"));

    Если СтрокаОтбор <> Неопределено Тогда

    Отбор = НастройкиОтчета.Отбор.Элементы;
    ОтборТекст = ";
    Для Каждого ЭлементОтбора Из Отбор Цикл
    ОтборТекст = Строка(ЭлементОтбора.ЛевоеЗначение) + " " + Строка(ЭлементОтбора.ВидСравнения) + " " + Строка(ЭлементОтбора.ПравоеЗначение);
    КонецЦикла;

    СтрокаОтбор.Значение = "Текущий отбор: " + ОтборТекст;
    СтрокаОтбор.Использование = Истина;

    КонецЕсли;

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

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

    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;

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

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

    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);

    ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина);

    КонецПроцедуры
```
---
А как сделать, что если значение отбора не выбрано тогда и не выводилось оно. Или если у меня не один отбор а несколько, пробую добавить по аналогии еще отбор а выводит теже значения, что и у первого.
---
А как сделать, что если значение отбора не выбрано тогда и не выводилось оно. Или если у меня не один отбор а несколько, пробую добавить по аналогии еще отбор а выводит теже значения, что и у первого.
---
У ЭлементОтбора есть признак "Использование" - это "галочка выбора".
пробую добавить по аналогии еще отбор а выводит теже значения
Потому что нужно не просто копипастить, а немножко импровизировать:

        Для Каждого ЭлементОтбора Из Отбор Цикл
            ОтборТекст = ОтборТекст + ...
        КонецЦикла;
---
Добрый день. Подскажите пожалуйста если отбор не выбран то как сделать, что бы значение параметра не выводилось или было пусто.

Если СтрокаОтбор <> Неопределено Тогда

        Отбор = НастройкиОтчета.Отбор.Элементы;
        ОтборТекст = "";
        Для Каждого ЭлементОтбора Из Отбор Цикл
            ОтборТекст = Строка(ЭлементОтбора.ЛевоеЗначение) + " " + Строка(ЭлементОтбора.ВидСравнения) + " " + Строка(ЭлементОтбора.ПравоеЗначение);
        КонецЦикла;

        СтрокаОтбор.Значение = "Текущий отбор: " + ОтборТекст;
        СтрокаОтбор.Использование = Истина;

    КонецЕсли;
Вроде должно быть если СтрокаОтбор=Неопределено Тогда
СтрокаОтбор.Значение=" ";
Но не срабатывает такой вариант. Не пойму в чем проблема.
---
Для Каждого ЭлементОтбора Из Отбор Цикл
Если ЭлементОтбора.Использование тогда
ОтборТекст = Строка(ЭлементОтбора.ЛевоеЗначение) + " " + Строка(ЭлементОтбора.ВидСравнения) + " " + Строка(ЭлементОтбора.ПравоеЗначение);
КонецЕсли;
КонецЦикла;
---
Если ЭлементОтбора.Использование тогда Спасибо тебе большое Катенька!!!