Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Программное добавление реквизита и элемента.

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

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

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

Список тем форума
 
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.