Имя: Пароль:
1C
1С v8
Программное создание выпадающего списка
,
0 TheEluzive
 
08.12.19
11:12
Интересует как создать программно выпадающий_список и предопределить ему значения, так как примеров я найти не могу.
Так что если кто-то сможет скинуть пару строчек для примера, буду благодарен)
Для флажков и текстовых полей, нашел, а вот с выпадающим списком сложнее
1 TheEluzive
 
08.12.19
11:57
и могу ли я как-то получить список реквизитов формы или ...

в коде генерирую названия реквизитов\полей и мне надо обращаться потом к ним

К примеру
Реквизит1 = Новый РеквизитФормы("ВводНазвания" + НазваниеКолонки, ОписаниеТипа);
...
Элемент1 = ЭтаФорма.Элементы.Добавить("ВводНазвания" + НазваниеКолонки, Тип("ПолеФормы"), ГруппаФормы);
Элемент1.Вид = ВидПоляФормы.ПолеВвода;
Элемент1.ПутьКДанным = "ВводНазвания" + НазваниеКолонки;
    

??????ЭтаФорма.Элементы.Найти("ВводНазвания" + НазваниеКолонки) ???

Интересует как получить\изменить текст отсюда потом
2 RomanYS
 
08.12.19
12:04
что такое "текст отсюда потом"? Значения реквизитов или заголовки/имена элементов?
3 Cthulhu
 
08.12.19
12:09
ЭтаФорма.Элементы[ИмяРеквизитаФормы]
4 TheEluzive
 
08.12.19
12:09
(2) ответом на мой вопрос было ЭтаФорма["созданной_мной_в_коде_название"], но спасибо
остался лишь вопрос   как создать программно выпадающий_список и предопределить ему значения
5 Cthulhu
 
08.12.19
12:10
(3)+: в любом месте - брейк, на останове - Shift+F9, в открытом окне - в строку вычисляемого выражения этот текст, "вычислить", и гулять по дереву до полного просветления...
6 RomanYS
 
08.12.19
12:39
(4)
    Элементы.Реквизит1.КнопкаСпискаВыбора = Истина;
    Элементы.Реквизит1.СписокВыбора.Добавить("Какое то значение");
7 TheEluzive
 
08.12.19
13:22
(6) спасибо
(5) окей, я в целом знаю как работает отладка, но у меня максимально экстремальное программирование и знакомство с 1с)
8 ДенисЧ
 
08.12.19
13:33
(7) @максимально экстремальное программирование@
Без документации, отладки и запуска? Ещё без конфигуратора... На доске, мелом...
9 TheEluzive
 
09.12.19
06:40
Реквизит5 = Новый РеквизитФормы("ТипЗначения" + НазваниеКолонки, ОписаниеТипаСтрока);
МассивРеквизитов.Добавить(Реквизит5);
    ИзменитьРеквизиты(МассивРеквизитов);


Элемент5 = ЭтаФорма.Элементы.Добавить("ТипЗначения" + НазваниеКолонки, Тип("ПолеФормы"), ГруппаФормы);
    Элемент5.Вид = ВидПоляФормы.ПолеВвода;
    Элемент5.ПутьКДанным = "ТипЗначения" + НазваниеКолонки;
//создал и отобразил
Элементы["ТипЗначения" + НазваниеКолонки].СписокВыбора.Добавить("Какое то значение");
    Элементы["ТипЗначения" + НазваниеКолонки].СписокВыбора.Добавить("Какое то значение123");

Необходимо сделать как на картинке, но не могу найти подходящие свойства\их набор

https://c.radikal.ru/c21/1912/cc/6cfd344538d2.png
10 TheEluzive
 
09.12.19
10:17
ап
11 D_E_S_131
 
09.12.19
10:18
Создай элемент руками как нужно и посмотри его свойства. Потом программно пропиши такие же.
12 RomanYS
 
09.12.19
10:21
(9) первая строка в (6)
13 TheEluzive
 
09.12.19
11:30
(12) у меня так стоит, но получается выпадающий список, а не так как на скрине

возможно надо задать параметр
Элементы["ТипЗначения" + НазваниеКолонки].ОтображениеКнопкиВыбора = "В поле ввода";
но я не могу найти где эти значения предопределены, а установить строкой нельзя.
14 TheEluzive
 
10.12.19
00:29
ап

Элементы["ТипЗначения" + НазваниеКолонки].КнопкаРегулирования= ИСТИНА;


осталось узнать, как предопределить сюда варианты, либо обработать события
15 lenkavovka
 
10.12.19
07:06
Для реквизита формы «ВыпадающийСписок».

В обработчике события формы ПриОткрытии() заполним значения списка, чтобы пользователю было из чего выбирать:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
    
     ВыпадающийСписок.Добавить(0, "Создать документ"); //первый параметр – значение, можно число, "строку", булёво и т.д., второй параметр – представление значение, представление может отличаться от значения как угодно
     ВыпадающийСписок.Добавить(1, "Редактировать документ");
     ВыпадающийСписок.Добавить(2, "Удалить документ");
    
КонецПроцедуры