Имя: Пароль:
1C
1С v8
Программное добавление реквизита и элемента.
0 Sevish
 
21.06.21
11:01
Добрый день!
Типовая форма Номенклатуры, "ПриСозданииНаСервере" добавил реквизит:
    ДобавляемыеРеквизиты = Новый Массив;
    ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("КорневойРодительНоменклатуры", Новый ОписаниеТипов("СправочникСсылка.Номенклатура")));
    ЭтаФорма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
добавил поле на форму:
    ПолеВвода = ЭтаФорма.Элементы.Добавить("СтраницаУУ_КорневойРодительНоменклатуры", Тип("ПолеФормы"), ГруппаУУ);
    ПолеВвода.ПутьКДанным = "КорневойРодительНоменклатуры";
    ПолеВвода.Вид = ВидПоляФормы.ПолеВвода;
    ПолеВвода.Заголовок = "Корневой родитель номенклатуры";
тут же установил значение КорневойРодительНоменклатуры = "Корень" (где "Корень" - это группа справочника высшего уровня).

Открывается форма и КорневойРодительНоменклатуры ПУСТОЙ! Что не так я сделал, подскажите, пожалуйста.
1 DrZombi
 
гуру
21.06.21
11:04
(0) Если пуст, а где вы его, "КорневойРодительНоменклатуры", наполняли значением?
2 youalex
 
21.06.21
11:06
>КорневойРодительНоменклатуры = "Корень"

Прямо так и написал? "Корень" - это всё же строка, а не СправочникСсылка.Номенклатура
3 acht
 
21.06.21
11:08
(0) Потому что надо присваивать через ЭтотОбъект["КорневойРодительНоменклатуры"] = ТвойКорень;
4 Sevish
 
21.06.21
11:14
Acht, огромное спасибо. Вряд ли сам бы догадался... Вообще, конечно, программное добавление чего-либо это фишка, это удобно, но ужас как заморочено :(