В отчете на СКД в качестве отбора выступает поле с типом "Справочник.ЗначенияСвойствОбъектов"
У этого справочника есть владелец - ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения. Как мне сделать, чтобы при выборе значения отбора, значения выбирались только по заданному ПВХ.ДополнительныеРеквизитыИСведения?

Делал так:
Добавил параметр ПВХ_НомерСертификата, Выражение = "мт_ОпределенныеЭлементыСправочников.Характеристика_НомерСертификата()", Использовать = "Всегда"
Для поля НомерСертификата, по которому мне надо делать отбор в отчете, прописал Параметры отбора.Связи параметров выбора = "Отбор.Владелец: ПараметрыДанных.ПВХ_НомерСертификата".

Не работает. При выборе значения НомерСертификата открывается весь справочник ЗначенияСвойствОбъектов
---
Нашел. В модуле объекта нужно прописать функции:

```1c
    Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт

    Настройки.События.ПослеЗаполненияПанелиБыстрыхНастроек = Истина;

    КонецПроцедуры

    Процедура ПослеЗаполненияПанелиБыстрыхНастроек(Форма, ПараметрыОбновления) Экспорт

    ПутьКДаннымПоля_Плавка = ПутьКДаннымЭлементаФормыЗначенияОтбора("Плавка");
    ПутьКДаннымПоля_НомерСертификатаПроизводителя = ПутьКДаннымЭлементаФормыЗначенияОтбора("НомерСертификатаПроизводителя");

    Для Каждого Элемент Из Форма.Элементы Цикл

    Если СтрНачинаетсяС(Элемент.Имя, "КомпоновщикНастроекПользовательскиеНастройкиЭлемент")
    И ТипЗнч(Элемент) = Тип("ПолеФормы") Тогда

    Если Элемент.ПутьКДанным = ПутьКДаннымПоля_Плавка Тогда

    Массив = Новый Массив;
    Массив.Добавить(Новый ПараметрВыбора("Отбор.Владелец", мт_ОпределенныеЭлементыСправочников.Характеристика_НомерПлавки()));
    ПараметрыВыбора = Новый ФиксированныйМассив(Массив);
    Элемент.ПараметрыВыбора = ПараметрыВыбора;

    ИначеЕсли Элемент.ПутьКДанным = ПутьКДаннымПоля_НомерСертификатаПроизводителя Тогда

    Массив = Новый Массив;
    Массив.Добавить(Новый ПараметрВыбора("Отбор.Владелец", мт_ОпределенныеЭлементыСправочников.Характеристика_НомерСертификата()));
    ПараметрыВыбора = Новый ФиксированныйМассив(Массив);
    Элемент.ПараметрыВыбора = ПараметрыВыбора;

    КонецЕсли;

    КонецЕсли;

    КонецЦикла;

    КонецПроцедуры

    Функция ПутьКДаннымЭлементаФормыЗначенияОтбора(ИмяПоляКомпоновкиДанных)

    ПолеКомпоновкиДанных = Новый ПолеКомпоновкиДанных(ИмяПоляКомпоновкиДанных);

    Для Каждого Элемент Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
    Если Элемент.ЛевоеЗначение = ПолеКомпоновкиДанных Тогда
    ИдентификаторПользовательскойНастройки = Элемент.ИдентификаторПользовательскойНастройки;
    Прервать;
    КонецЕсли;
    КонецЦикла;

    Если ИдентификаторПользовательскойНастройки = Неопределено Тогда
    возврат Неопределено;
    КонецЕсли;

    ПользовательскиеНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы;
    Для Индекс = 0 По ПользовательскиеНастройки.Количество()-1 Цикл
    Если ПользовательскиеНастройки[Индекс].ИдентификаторПользовательскойНастройки = ИдентификаторПользовательскойНастройки Тогда
    возврат "Отчет.КомпоновщикНастроек.ПользовательскиеНастройки["+Формат(Индекс, "ЧДЦ=0; ЧГ=")+"].Значение";
    КонецЕсли;
    КонецЦикла;

    возврат Неопределено;

    КонецФункции
```

В Схеме компоновки данных никаких отборов делать не надо
---
отчете на СКД в качестве отбора выступает поле с типом "Справочник.ЗначенияСвойствОбъектов"
У этого справочника есть владелец - ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения. Как мне сделать, чтобы при выборе значения отбора, значения выбирались только по заданному ПВХ.ДополнительныеРеквизитыИСведения? можно отчет посмотреть
---
без картинки напрягать извилины?
---
в скд привязывали характеристики?
---
это не характеристики объекта СКД. Это реквизиты табличной части документа с типом СправочникСсылка.ЗначенияСвойствОбъекта

Попробовал программно установить ПараметрыВыбора в модуле объекта:

```1c
    ПоляСКД = СхемаКомпоновкиДанных.НаборыДанных.Получить(0).Поля;

    Поле_НомерСертификатаПроизводителя = ПоляСКД.Найти("НомерСертификатаПроизводителя");
    ПараметрыРедактирования = Поле_НомерСертификатаПроизводителя.ПараметрыРедактирования;
    Массив = Новый Массив;
    Массив.Добавить(Новый ПараметрВыбора("Отбор.Владелец", мт_ОпределенныеЭлементыСправочников.Характеристика_НомерСертификата()));
    ПараметрыВыбора = Новый ФиксированныйМассив(Массив);
    ПараметрыРедактирования.УстановитьЗначениеПараметра("ПараметрыВыбора", ПараметрыВыбора);
```

Не работает. ПараметрыВыбора устанавливаются, но в момент открытия формы выбора справочника ЗначенияСвойствОбъекта, их там нет.
---
смысла нет делать это в модуле документа. если делать, то делать нужно в форме. но это не так просто
---
Проверьте в какой последовательности вы вставляете, может вы потом обнуляете поле где-нибудь пересозданием объекта.
---
обсуждали недавно с коллегой эту проблему. буквально пару дней назад.

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

если сделать так - работает.

чтобы убрать его (сделать невидимым) третий параметр в польз. настройке ставим Недоступный. костыль, но вроде работает
---
В СКД где запрос написан. Там вверху у поля настраивался Владелец.
---
можно поподробнее?
параметр владелец должен быть обязательно использован в пользовательской настройке
---
Нашел. В модуле объекта нужно прописать функции:

```1c
    Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт

    Настройки.События.ПослеЗаполненияПанелиБыстрыхНастроек = Истина;

    КонецПроцедуры

    Процедура ПослеЗаполненияПанелиБыстрыхНастроек(Форма, ПараметрыОбновления) Экспорт

    ПутьКДаннымПоля_Плавка = ПутьКДаннымЭлементаФормыЗначенияОтбора("Плавка");
    ПутьКДаннымПоля_НомерСертификатаПроизводителя = ПутьКДаннымЭлементаФормыЗначенияОтбора("НомерСертификатаПроизводителя");

    Для Каждого Элемент Из Форма.Элементы Цикл

    Если СтрНачинаетсяС(Элемент.Имя, "КомпоновщикНастроекПользовательскиеНастройкиЭлемент")
    И ТипЗнч(Элемент) = Тип("ПолеФормы") Тогда

    Если Элемент.ПутьКДанным = ПутьКДаннымПоля_Плавка Тогда

    Массив = Новый Массив;
    Массив.Добавить(Новый ПараметрВыбора("Отбор.Владелец", мт_ОпределенныеЭлементыСправочников.Характеристика_НомерПлавки()));
    ПараметрыВыбора = Новый ФиксированныйМассив(Массив);
    Элемент.ПараметрыВыбора = ПараметрыВыбора;

    ИначеЕсли Элемент.ПутьКДанным = ПутьКДаннымПоля_НомерСертификатаПроизводителя Тогда

    Массив = Новый Массив;
    Массив.Добавить(Новый ПараметрВыбора("Отбор.Владелец", мт_ОпределенныеЭлементыСправочников.Характеристика_НомерСертификата()));
    ПараметрыВыбора = Новый ФиксированныйМассив(Массив);
    Элемент.ПараметрыВыбора = ПараметрыВыбора;

    КонецЕсли;

    КонецЕсли;

    КонецЦикла;

    КонецПроцедуры

    Функция ПутьКДаннымЭлементаФормыЗначенияОтбора(ИмяПоляКомпоновкиДанных)

    ПолеКомпоновкиДанных = Новый ПолеКомпоновкиДанных(ИмяПоляКомпоновкиДанных);

    Для Каждого Элемент Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
    Если Элемент.ЛевоеЗначение = ПолеКомпоновкиДанных Тогда
    ИдентификаторПользовательскойНастройки = Элемент.ИдентификаторПользовательскойНастройки;
    Прервать;
    КонецЕсли;
    КонецЦикла;

    Если ИдентификаторПользовательскойНастройки = Неопределено Тогда
    возврат Неопределено;
    КонецЕсли;

    ПользовательскиеНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы;
    Для Индекс = 0 По ПользовательскиеНастройки.Количество()-1 Цикл
    Если ПользовательскиеНастройки[Индекс].ИдентификаторПользовательскойНастройки = ИдентификаторПользовательскойНастройки Тогда
    возврат "Отчет.КомпоновщикНастроек.ПользовательскиеНастройки["+Формат(Индекс, "ЧДЦ=0; ЧГ=")+"].Значение";
    КонецЕсли;
    КонецЦикла;

    возврат Неопределено;

    КонецФункции
```

В Схеме компоновки данных никаких отборов делать не надо
---
Дополнение:
Если отчет встраивается в расширение, дополнительно нужно:
1) включить его в подсистему "ПодключаемыеОтчетыИОбработки"
2) В модуле менеджера прописать код

```1c
    #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

    Процедура ПриОпределенииНастроек(Настройки) Экспорт

    Настройки.ОпределитьНастройкиФормы = Истина;

    КонецПроцедуры

    #КонецЕсли
```
---
Можно было покороче:

```1c
    &НаСервере
    Процедура ПриОткрытииНаСервере()

    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ЦветСвойство",
    ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "Цвет_e113e5260dfa4207bfc6eb7f196ddc96"));
    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("РазмерСвойство",
    ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "Размер_532b07e53fca47ca9877a3ac46b843c4"));
    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("СтильСвойство",
    ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "Стиль_c6091bdffae042d8b74820904d6c4d6b"));

    КонецПроцедуры
```

В параметрах редактирования вкладка Наборы данных соответсвующих полей установить связи параметров выбора:
Отбор.Владелец: ПараметрыДанных.[ВашПараметр]