|
Помогите разобраться с полем ввода и режимом выбора из списка | ☑ | ||
---|---|---|---|---|
0
Adeha
22.11.16
✎
11:50
|
Уже сломал голову.
Есть форма, на ней поле ввода - ИмяПользователя, данные одноименные. У поля стоит птичка РежимВыбораИзСписка. При запуске процедуры ЗаполнитьИменаПоУмолчанию() список выбора заполняется значениями по умолчанию. Но установить первый элемент из этого списка в само поле ввода не получается, что я только не перепробовал. Самое интересное что ИмяПользователя= СокрЛП(Элементы.ИмяПользователя.СписокВыбора.Получить(0).Значение); Сообщить(ИмяПользователя); //выводит мне имя Но если я обращаюсь после к этим данным, к примеру из другой процедуры, Сообщить(ИмяПользователя) уже выдает пустое значение, хотя к примеру Сообщить(Элементы.ИмяПользователя.ТекстРедактирования) выдает значение нужное... Что я делаю не так, 2 дня ломаю голову уже. Не может же быть что программно нельзя установить значение в поле вводу с имеющимся списком выбора. P.S. Если отключить список выбора все записывается и считывается как по маслу. |
|||
1
catena
22.11.16
✎
11:54
|
(0)Убрать "птичку" РежимВыбораИзСписка, поставить "птичку" КнопкаСпискаВыбора.
|
|||
2
Adeha
22.11.16
✎
12:02
|
Спасибо, помогло. Как оно работает тогда при птичке РежимВыбораИзСписка? Почему не дает программно работать с полем ввода?
|
|||
3
catena
22.11.16
✎
12:25
|
(2)А вы списко в какой момент заполняете?
|
|||
4
catena
22.11.16
✎
12:27
|
при установленной галке "РежимВыбораИзСписка" сохраненные данные при отображении подвязываются к списку, т.е. значение реквизита ищется в списке и найденный элемент списка отображается в поле ввода. Если галка не установлена, то список существует как-бы сам по себе.
Поэтому заполнять его надо ДО того, как будет произведен вывод данных, например в процедуре ПередОткрытием(), а не перед выбором из списка. |
|||
5
RomaH
naïve
22.11.16
✎
12:35
|
типы не совпадают
у вас вообще все смешалось локальные переменные, реквизиты объекта и типы |
|||
6
RomaH
naïve
22.11.16
✎
12:36
|
ИмяПользователя= СокрЛП(Элементы.ИмяПользователя.СписокВыбора.Получить(0).Значение);
Сообщить(ИмяПользователя);//выводит мне имя естественно - потому-что вы объявили переменную и присвоили ей значение |
|||
7
Adeha
22.11.16
✎
12:43
|
Эта переменная - в реквизитах формы и указана как данные для одноименного элемента формы "поле ввода".
Я ее не объявляю а записываю в нее значение первого элемента из списка выбора, что б данные из этой переменной отобразились в форме. Заполняю я нажатием кнопки, после того как список заполнился хочу взять первый элемент из него и установить в поле ввода как умолчание. |
|||
8
Adeha
22.11.16
✎
12:45
|
В рамках одной процедуры
|
|||
9
d546
22.11.16
✎
13:08
|
&НаКлиенте
Процедура Команда1(Команда) Элементы.Имя.СписокВыбора.Очистить(); Элементы.Имя.СписокВыбора.Добавить("Сергей"); Элементы.Имя.СписокВыбора.Добавить("Иван"); Элементы.Имя.СписокВыбора.Добавить("Петр"); Имя = Элементы.Имя.СписокВыбора.Получить(0).Значение; КонецПроцедуры |
|||
10
d546
22.11.16
✎
13:09
|
Имя - реквизит формы - строка(0)
|
|||
11
Adeha
22.11.16
✎
13:13
|
Да, и такая конструкция не работала, поле ввода оставалось пустым, а должно быть Сергей.
|
|||
12
d546
22.11.16
✎
13:16
|
у элемента стоит галка "Режим выбора из списка"?
типы реквизита формы = строка? если все так, я не знаю чем помочь, попробуй нарисовать форму заново. |
|||
13
Adeha
22.11.16
✎
13:36
|
Поставил режим КнопкаСпискаВыбора, в нем все так как нужно. Список заполняется, в поле ставится первый элемент.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |