Добрый день, коллеги!

Вопрос по установки связи параметров выбора не в свойствах реквизита, а в коде. Как я делаю, написал процедуру:

```1c
    Процедура УстановитьСвязьПоТипу()
    НоваяСвязь = Новый СвязьПараметраВыбора("Отбор.Владелец", "Объект.НоменклатураЗаказаПереработчика");
    НоваяСвязь1 = Новый СвязьПараметраВыбора("Отбор.Владелец", "Объект.НоменклатураЗаказаПереработчика.ВидНоменклатуры");

    НовыйМассив = Новый Массив();
    НовыйМассив.Добавить(НоваяСвязь);
    НовыйМассив.Добавить(НоваяСвязь1);

    Элементы.НоменклатураЗаказаПереработчика.СвязиПараметровВыбора = Новый ФиксированныйМассив(НовыйМассив);

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

И вставляю при открытии формы. Но при открытии он пишет ошибку:
Ошибка при установке значения атрибута контекста (СвязиПараметровВыбора)
 Элементы.НоменклатураЗаказаПереработчика.СвязиПараметровВыбора = Новый ФиксированныйМассив(НовыйМассив);
по причине:
Недопустимое значение

В чем может быть проблема?
Заранее спасибо
---
в серверный модуль. Взял из бп 3.0, увы вызова там нигде нет.
Вот попробовал сперва очистить параметры, а потом добавить как в Вашем примере, вроде установилось

```1c
    Элементы.ПодразделениеОрганизации.СвязиПараметровВыбора = Новый ФиксированныйМассив(Новый массив);

    НоваяСвязь = Новый СвязьПараметраВыбора("Отбор.Владелец", "Объект.Организация");
    НовыйМассив = Новый Массив();
    НовыйМассив.Добавить(НоваяСвязь);

    Элементы.ПодразделениеОрганизации.СвязиПараметровВыбора = Новый ФиксированныйМассив(НовыйМассив);
```

Вызывал в "ПриСозданииНаСервере"
---
Судя по описанию там "Фиксированный массив из элементов типа СвязьПараметраВыбора."

```1c
    НовыйМассив = Новый ФиксированныйМассив();
    НовыйМассив.Добавить(НоваяСвязь);
    НовыйМассив.Добавить(НоваяСвязь1);

    Элементы.НоменклатураЗаказаПереработчика.СвязиПараметровВыбора = НовыйМассив;
```
---
У фиксированного массива нет метода "Добавить".
---
Неловко получилось )

```1c
    Процедура ЗаменитьСвязьПараметровВыбора(Элемент, Имя, НоваяСвязьПараметровВыбора) Экспорт

    МассивСвязей = Новый Массив;
    Для Каждого СвязьПараметровВыбора Из Элемент.СвязиПараметровВыбора Цикл
    Если ВРег(СвязьПараметровВыбора.Имя) <> ВРег(Имя) Тогда
    МассивСвязей.Добавить(СвязьПараметровВыбора);
    КонецЕсли;
    КонецЦикла;

    Элемент.СвязиПараметровВыбора = Новый ФиксированныйМассив(Новый Массив);
    МассивСвязей.Добавить(НоваяСвязьПараметровВыбора);
    Элемент.СвязиПараметровВыбора = Новый ФиксированныйМассив(МассивСвязей);

    КонецПроцедуры
```
 вот пример есть
---
А куда лучше воткнуть эту процедуру? Параметр имя это что?
---
в серверный модуль. Взял из бп 3.0, увы вызова там нигде нет.
Вот попробовал сперва очистить параметры, а потом добавить как в Вашем примере, вроде установилось

```1c
    Элементы.ПодразделениеОрганизации.СвязиПараметровВыбора = Новый ФиксированныйМассив(Новый массив);

    НоваяСвязь = Новый СвязьПараметраВыбора("Отбор.Владелец", "Объект.Организация");
    НовыйМассив = Новый Массив();
    НовыйМассив.Добавить(НоваяСвязь);

    Элементы.ПодразделениеОрганизации.СвязиПараметровВыбора = Новый ФиксированныйМассив(НовыйМассив);
```

Вызывал в "ПриСозданииНаСервере"
---
Все верно, работает.
В принципе я понял в чем ошибка. В том что я пишу Объект.Номенклатура.ВидНоменклатуры. Видимо дальше Номенклатуры не пускает.
Но все равно огромное спасибо.
---
Скажите, пожалуйста, вам удалось ВидНоменклатуры добавить в связи? мне тоже нужно)
---
тоже искал - вот решение https://www.forum.mista.ru/topic.php?id=590020
---
НоваяСвязь = Новый СвязьПараметраВыбора("Отбор.Владелец", "Элементы.НоменклатураЗаказаПереработчика.ТекущиеДанные.ВидНоменклатуры")
---
В ERP ХарактеристикаНоменклатуры может быть подчинена как самой Номенклатуре, так и быть общей для ВидаНоменклатуры, который является реквизитом Номенклатуры. В последнем случае связь с владельцем получается не прямая, и использовать "Отбор.Владелец" не имеет смысла. Попробуйте вместо "Отбор.Владелец" указать "Номенклатура". В этом случае в ФормеВыбора ХаракеристикиНоменклатуры в процедуре ПриСозданииНаСервере выполняется анализ, кто является настоящим владельцем Характеристики и устанавливается соответствующий отбор.

 Если Параметры.Отбор.Свойство("Владелец") Тогда
  // Перенесем "стандартный" отбор по владельцу в свойство ПараметрВладелец
  Параметры.ПараметрВладелец = Параметры.Отбор.Владелец;
  Параметры.Отбор.Удалить("Владелец");
 КонецЕсли;

 Если Параметры.Свойство("ПараметрВладелец", ВладелецХарактеристик) И ЗначениеЗаполнено(ВладелецХарактеристик) Тогда
  ПодборТоваровСервер.УстановитьОтборПоВладельцуХарактеристик(ЭтаФорма);
 ИначеЕсли Параметры.Свойство("Номенклатура", Номенклатура) И ЗначениеЗаполнено(Номенклатура) Тогда
  Если Справочники.Номенклатура.ПроверитьИспользованиеХарактеристикИПолучитьВладельцаДляВыбо­ра(Номенклатура, ВладелецХарактеристик) Тогда
   Если ВладелецХарактеристик = Неопределено Тогда
    ТекстИсключения = НСтр("ru = 'Для данной номенклатуры характеристики не заданы.'");
    ВызватьИсключение ТекстИсключения;
   Иначе
    ПодборТоваровСервер.УстановитьОтборПоВладельцуХарактеристик(ЭтаФорма);
   КонецЕсли;
  Иначе
   ТекстИсключения = НСтр("ru = 'Для данной номенклатуры отключено использование характеристик.'");
   ВызватьИсключение ТекстИсключения;
  КонецЕсли;
 КонецЕсли;