8.х Добавить на управляему форму список значений программно

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем ЧКДзержинский, 28 июн 2019.

  1. TopicStarter Overlay
    ЧКДзержинский
    Offline

    ЧКДзержинский Опытный в 1С

    Регистрация:
    7 дек 2006
    Сообщения:
    534
    Симпатии:
    3
    Баллы:
    29
    Это не вопрос, а просто опишу решение, которое я нашел - наверняка кому-то пригодится. Просто когда столкнулся, то в интернете не нашел.
    Задача: нужно программно добавить реквизит формы типа список значений и добавить поле на форму с путем к созданному реквизиту. Тип значения выбираемых элементов должен быть ограничен.

    Код:
        ДобавляемыеРеквизиты = Новый Массив;
        Реквизит_Номенклатура = Новый РеквизитФормы("НоменклатураСписок", Новый ОписаниеТипов("СписокЗначений"),, "Номенклатура");
        ДобавляемыеРеквизиты.Добавить(Реквизит_Номенклатура);       
        Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
        //!!!!!!!!!!!!ТипЗначения нужно задавать ПОСЛЕ добавления реквизита (Форма.ИзменитьРеквизиты)
        Форма.НоменклатураСписок.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Номенклатура");
    
        НовыйЭлемент = Форма.Элементы.Добавить("НоменклатураСписок", Тип("ПолеФормы"), Форма.Элементы.Отборы);
        НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
        НовыйЭлемент.ПутьКДанным = "НоменклатураСписок";
        НовыйЭлемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Верх;