8.х Как программно добавить реквизит в форму

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Azamat, 5 дек 2011.

  1. TopicStarter Overlay
    Azamat
    Offline

    Azamat Опытный в 1С

    Регистрация:
    29 июл 2011
    Сообщения:
    271
    Симпатии:
    0
    Баллы:
    26
    Нужно добавить реквизит в форму с типом справочник.ссылка. Написал такой код, но он выдает такую ошибку "Ошибка при установке значения атрибута контекста (Данные)", что не так?
    Код:
    МоеПоле=ЭлементыФормы.Добавить(Тип("ПолеВвода"), "Бригады", Истина,); 
    МоеПоле.Данные = "СправочникСсылка.Бригады";
    МоеПоле.Заголовок = "Бригады";
    МоеПоле.Верх = 110;
    МоеПоле.Лево =350;
    МоеПоле.Ширина = 100;
    МоеПоле.Высота =  5;
    
    Попробовал еще так
    Код:
    МоеПоле=ЭлементыФормы.Добавить(Тип("Справочник.Ссылка.Бригады"), "Бригады", Истина,); 
    МоеПоле.Заголовок = "Бригады";
    МоеПоле.Верх = 110;
    МоеПоле.Лево =350;
    МоеПоле.Ширина = 100;
    МоеПоле.Высота =  5;
    
    но выходит "Ошибка при вызове метода контекста (Добавить)"
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Потому что надо в поле Данные передать не просто ссылку, а реквизит формы, который будет хранить данные.
  3. TopicStarter Overlay
    Azamat
    Offline

    Azamat Опытный в 1С

    Регистрация:
    29 июл 2011
    Сообщения:
    271
    Симпатии:
    0
    Баллы:
    26
    а можно поподробнее, как это реализовать
  4. TopicStarter Overlay
    Azamat
    Offline

    Azamat Опытный в 1С

    Регистрация:
    29 июл 2011
    Сообщения:
    271
    Симпатии:
    0
    Баллы:
    26
    все понял, что вы имели ввиду. Добавил реквизит на вкладке данные и изменил код
    Код:
    МоеПоле=ЭлементыФормы.Добавить(Тип("ПолеВвода"), "Бригады", Истина,); 
    МоеПоле.Данные = "ДокументОбъект.Бригады";
    МоеПоле.КнопкаОткрытия = Истина;
    МоеПоле.Верх = 105;
    МоеПоле.Лево = 424;
    МоеПоле.Ширина = 220;
    
    
    
    и все работает
  5. TopicStarter Overlay
    Azamat
    Offline

    Azamat Опытный в 1С

    Регистрация:
    29 июл 2011
    Сообщения:
    271
    Симпатии:
    0
    Баллы:
    26
    Еще вопрос.
    Как добавить событие "При изменении" для программно созданного элемента?
  6. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Посмотрите методы элемента управления - там все есть :)

Поделиться этой страницей