Программное создание реквизита в управляемом приложении 1С

1. Реквизит формы

  • Создаем новый массив для реквизитов добавляемых на форму.
    ДобавляемыеРеквизиты = Новый Массив;
    
  • Создаем новый массив для типов реквизита формы.
    МассивТипов = новый Массив;
    МассивТипов.Добавить(Тип("Строка"));
    
  • Создаем новый реквизит формы.

    Новый РеквизитФормы(<Имя>, <Тип>, <Путь>, <Заголовок>, <СохрДанные>)

    Параметры:

    • <Имя> (обязательный). Тип: Строка. Имя реквизита.
    • <Тип> (обязательный). Тип: ОписаниеТипов. Тип реквизита.
    • <Путь> (необязательный). Тип: Строка. Путь к создаваемому реквизиту. Не включает имя реквизита. Значение по умолчанию: Пустая строка.
    • <Заголовок> (необязательный). Тип: Строка. Содержит отображаемый текст реквизита. Значение по умолчанию: Пустая строка.
    • <СохрДанные> (необязательный). Тип: Булево. Реквизит содержит сохраняемые данные. Истина — сохраняемый реквизит формы.

    Код:

    Реквизит = Новый РеквизитФормы("ПолеВводаСтроки",новый ОписаниеТипов(МассивТипов),, "Поле ввода строки", Истина);
    
  • Изменяем структуру реквизитов формы.
    ДобавляемыеРеквизиты.Добавить(Реквизит);
    ИзменитьРеквизиты(ДобавляемыеРеквизиты);
    

    Процедура ИзменитьРеквизиты(<ДобавляемыеРеквизиты>, <УдаляемыеРеквизиты>) предназначена для удаления и добавления реквизитов формы.

    Код для добавления реквизита формы целиком:

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

2. Элемент формы формы

  • Создаем элемент формы
    ЭтаФорма.Элементы.Добавить("ПолеВводаСтроки", Тип("ПолеФормы"), ЭтаФорма);
    

    Синтаксис:

    Добавить(<Имя>, <ТипЭлемента>, <Родитель>)
    

    Параметры:

    • <Имя> (обязательный). Тип: Строка. Уникальное имя добавляемого элемента.
    • <ТипЭлемента> (обязательный). Тип: Тип. Тип добавляемого элемента.
    • <Родитель> (необязательный). Тип: ГруппаФормы; ТаблицаФормы; УправляемаяФорма. Родитель для добавляемого элемента. Если не указан, то добавляется на верхний уровень.
    • Возвращаемое значение: Тип: ДекорацияФормы; ГруппаФормы; КнопкаФормы; ТаблицаФормы; ПолеФормы.
  • Настраиваем элемент формы
    ЭлементФормы.ПутьКДанным = "ПолеВводаСтроки";
    ЭлементФормы.Вид         = ВидПоляФормы.ПолеВвода;