Имя: Пароль:
1C
1С v8
Элементы формы программно
0 ГореПрогр
 
04.03.16
10:03
Привет всем! помогите разобраться нужно програмно добавить элементы формы. туплю не получается
1 Euguln
 
04.03.16
10:05
Подсмотреть в типовой не предлагать?
2 ГореПрогр
 
04.03.16
10:09
не понял вороса)
3 Euguln
 
04.03.16
10:10
Взять рабочий пример в типовой конфигурации и понять, почему твое творение не работает.
4 TeMochkiN
 
04.03.16
10:19
Элементы.Добавить(<Имя>, <ТипЭлемента>, <Родитель>)

Параметры:

<Имя> (обязательный)

Тип: Строка.
Уникальное имя добавляемого элемента.
<ТипЭлемента> (обязательный)

Тип: Тип.
Тип добавляемого элемента.
<Родитель> (необязательный)

Тип: ГруппаФормы; ТаблицаФормы; УправляемаяФорма.
Родитель для добавляемого элемента.
Если не указан, то добавляется на верхний уровень.
Возвращаемое значение:

Тип: ДекорацияФормы; ГруппаФормы; КнопкаФормы; ТаблицаФормы; ПолеФормы.

Описание:
Добавляет элемент в коллекцию.

Доступность:
Сервер, мобильное приложение(сервер).


Или что-то другое нужно?
5 ГореПрогр
 
04.03.16
10:25
Добавить на обычную форму
6 ГореПрогр
 
04.03.16
10:25
рамка группы и в ней две кнопки
7 ГореПрогр
 
04.03.16
10:26
Подразделение = ПараметрыСеанса.Пользователь.Подразделение;
    Запрос = новый Запрос("ВЫБРАТЬ
                          |    РегистрацияВходящегоТрафика.Наименование
                          |ИЗ
                          |    Справочник.РегистрацияВходящегоТрафика КАК РегистрацияВходящегоТрафика
                          |ГДЕ
                          |    РегистрацияВходящегоТрафика.Подразделение = &Подразделение");
    Запрос.УстановитьПараметр("Подразделение",Подразделение);
    Результат=Запрос.Выполнить().Выгрузить();
    Для каждого Стр из Результат Цикл
        ЭлементыФормы.Добавить(Тип("РамкаГруппы"),Стр.Наименование,Истина);
        
        //ЭлементыФормы.Добавить(Тип("Кнопка"),"Визит",Истина,Стр.Наименование);
        //ЭлементыФормы.Добавить(Тип("К
    КонецЦикла;
8 KirWas
 
04.03.16
11:26
Для каждого Ре из Что.Метаданные().Реквизиты Цикл
    //М.Добавить(Ре.Имя);

           //Сообщить( "Имя реквизита: " + Ре.Имя + " Тип реквизита: " + Ре.Тип  );
          Элемент=ЭлементыФормы.Добавить( Тип("Надпись"), Ре.Имя+"н",Истина,    );
               Элемент.Высота=20;
             Элемент.Ширина=100;
             Элемент.Лево=0+т;
             Элемент.Верх=10+в;
             Элемент.Заголовок= Ре.Имя;
            
        Элемент=ЭлементыФормы.Добавить( Тип("ПолеВвода"), Ре.Имя,Истина,    );
            
             Элемент.Высота=20;
             Элемент.Ширина=250;
             Элемент.Лево=10+ш+т;
             Элемент.Верх=10+в;
              к= Ре.Тип; //ЭлементыФормы.ПолеВвода1.ТипЗначения;
            Элемент.ТипЗначения=к;
    
             Элемент.ИзменяетДанные=Истина;
             Элемент.ВыбиратьТип=Истина;
             Элемент.КнопкаОчистки=Истина;
             Элемент.КнопкаВыбора=Истина;
               Элемент.Значение=Что[Ре.Имя];
          
           Если т=0 тогда
               т=450;
           Иначе
               т=0;
               в=в+25;

           КонецЕсли;      
     КонецЦикла;
        в=в+20;
        Для каждого Ре из Что.Метаданные().ТабличныеЧасти Цикл

             Элемент=ЭлементыФормы.Добавить( Тип("Надпись"), Ре.Имя+"н",Истина,    );
                       Элемент.Высота=20;
             Элемент.Ширина=200;
             Элемент.Лево=0;
             Элемент.Верх=10+в;
                 Элемент.Заголовок= Ре.Имя;
                  в=в+20;
            
             Элемент=ЭлементыФормы.Добавить( Тип("ТабличноеПоле"), Ре.Имя,Истина,    );
              

             Элемент.Высота=130;
             Элемент.Ширина=800;
             Элемент.Лево=10;
             Элемент.Верх=10+в;
                 в=в+140;
     //Элемент.Данные = "Документы."+строка(Что.Метаданные())+"."+  Ре.Имя;
    
               Элемент.Значение=   что[Ре.Имя].Выгрузить();
               Элемент.СоздатьКолонки();

            Элемент.ИзменяетДанные=Истина;
            Элемент.ТолькоПросмотр=Ложь;

     КонецЦикла;
9 ГореПрогр
 
04.03.16
12:44
может кто подскажет ошибку?

Процедура ПриОткрытии(ДействиеНажатиеЗвонок,ДейстивиеНажатиеВизит)
    Подразделение = ПараметрыСеанса.Пользователь.Подразделение;
    ДейстивиеНажатиеВизит = Новый Действие("Нажатие");
    ДейстивиеНажатиеЗвонок = Новый Действие("Нажатие");
    
    Запрос = новый Запрос("ВЫБРАТЬ
                          |    РегистрацияВходящегоТрафика.Наименование
                          |ИЗ
                          |    Справочник.РегистрацияВходящегоТрафика КАК РегистрацияВходящегоТрафика
                          |ГДЕ
                          |    РегистрацияВходящегоТрафика.Подразделение = &Подразделение");
    Запрос.УстановитьПараметр("Подразделение",Подразделение);
    Результат=Запрос.Выполнить().Выгрузить();
    Для каждого Стр из Результат Цикл
         РамкаГруппы=ЭлементыФормы.Добавить(Тип("РамкаГруппы"),Стр.Наименование,Истина);
        
        КнопкаВизит=ЭлементыФормы.Добавить(Тип("Кнопка"),"Визит",Истина);
        КнопкаЗвонок=ЭлементыФормы.Добавить(Тип("Кнопка"),"Звонок",Истина);
        //КнопкаВизит.УстановитьДействие("Нажатие",ДейстивиеНажатиеВизит);
        //КнопкаЗвонок.УстановитьДействие("Нажатие",ДейстивиеНажатиеЗвонок);
        ЭлементыФормы.КоманднаяПанель.Видимость = Истина;
    КонецЦикла;
    
    
                 
    
    
    
    
КонецПроцедуры
Функция ДействиеНажатиеЗвонок()
Регистрация = РегистрыСведений.Регистация.СоздатьМенеджерЗаписи();
Регистрация.Адресат = перечисления.ВидыСобытий.ТелефонныйЗвонок;
Регистрация.Подразделение = ПараметрыСеанса.Пользователь.Подразделение;
Регистрация.Период = ТекущаяДата();
Регистрация.Количество = Регистрация.Количество + 1;
Возврат Регистрация;
КонецФункции
Функция   ДейстивиеНажатиеВизит()
    
Регистрация = РегистрыСведений.Регистация.СоздатьМенеджерЗаписи();
Регистрация.Адресат = перечисления.ВидыСобытий.ЛичнаяВстреча;
Регистрация.Подразделение = ПараметрыСеанса.Пользователь.Подразделение;
Регистрация.Период = ТекущаяДата();
Регистрация.Количество = Регистрация.Количество + 1;
    
Возврат Регистрация;    
    
КонецФункции;
10 hhhh
 
04.03.16
13:03
что конкоетно не получается?
11 Мимохожий Однако
 
04.03.16
13:09
Включи отладчик
12 ГореПрогр
 
04.03.16
13:18
не показывает на форме.
13 Kondarat
 
04.03.16
13:35
Глянь (8) и сравни со своим кодом. Подсказка: размеры.
14 hhhh
 
04.03.16
13:39
(11) наверно показывает, просто длина и ширина рамки у вас = 0. Может с микроскопом посмотреть вам?
15 hhhh
 
04.03.16
13:39
(14) к (12)
16 ГореПрогр
 
04.03.16
14:00
Спасибо всем!)
17 ГореПрогр
 
04.03.16
14:42
еще ))) как изменить положение чтобы не накладывались а в каждом цикле преходил на новые координаты
18 EvgeniuXP
 
05.03.16
20:02
у каждого элемента есть свои "координаты" - отчитывай их от предыдущего отображенного элемента и ставь.