|
УФ. Поле со списком значений |
☑ |
0
Slon747
23.02.21
✎
17:26
|
Нужно в поле заполнять список значений справочника "Пользователи".
Создал на форме реквизит МенеджерДоговоров с типом "Список значений".
На закладке Объект указал тип значения "СправочникСсылка.Пользователи".
Добавил элемент формы Поле и указал ПутьКДанным - МенеджерДоговоров.
Но в режиме Предприятия при добавлении элемента в список значения вываливаются все типы (булево, число, документы и пр).
Почему так?
|
|
1
ДедМорроз
23.02.21
✎
19:47
|
Если на форме нужно заполнять список,то это таблица формы с источником данных список значений,а никак не поле.
|
|
2
Fedor-1971
24.02.21
✎
09:27
|
(0) Походу, СписокЗначений таки не имеет типа у элементов, вот тебя и плющит
Попробуй перезапустить 1С под отладчиком и посмотри на ОграничениеТипов у списка значений
|
|
3
Slon747
24.02.21
✎
09:58
|
(1)(2) Но в обычных формах можно добавить поле ввода с типом "Список значений", указать тип справочника и в него добавлять данные, уже с отбором по этому справочнику.
В УФ так нельзя?
|
|
4
Федя Тяпкин
24.02.21
✎
10:01
|
(0) В ПриСозданииНаСервере() как то так
ЭтаФорма.Отчет.Контрагент.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Контрагенты");
|
|
5
Slon747
24.02.21
✎
10:12
|
(4) Попробовал, не помогает:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ЭтаФорма.МенеджерДоговоров.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Пользователи");
КонецПроцедуры
Также пробовал в ПриОткрытии на клиенте:
Элементы.МенеджерДоговоров.ОграничениеТипа = Новый ОписаниеТипов("СправочникСсылка.Пользователи");
Все равно нет ограничения типа.
|
|
6
Федя Тяпкин
24.02.21
✎
10:15
|
(5) код рабочий. попробуй не ЭтаФорма.ПолеСписка а ЭтаФорма.РеквизитФормы.ПолеСписка
|
|
7
Slon747
24.02.21
✎
10:23
|
(6) Не понял. У меня и Поле называется МенеджерДоговоров и реквизит формы тоже так называется.
Также пробовал НачалоВыбора:
&НаКлиенте
Процедура МенеджерДоговоровНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Элемент.ВыбиратьТип = Ложь;
Элемент.ОграничениеТипа = Новый ОписаниеТипов("СправочникСсылка.Пользователи");
КонецПроцедуры
Код отрабатывает, но отбора по типу нет.
|
|
8
Федя Тяпкин
24.02.21
✎
10:27
|
Для этого примера код такой:
ЭтаФорма.Отчет.Контрагент.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Контрагенты");
|
|
9
Slon747
24.02.21
✎
10:48
|
(8) Не пойму.
У меня основной реквизит Объект.
Но реквизит МенеджерДоговоров находится не в ветке Объект, а на том же уровне.
|
|
10
Saval1986
24.02.21
✎
11:19
|
(0) Вам нужно просто чтобы МенеджерДоговоров выбирался из списка?
|
|
11
vicof
24.02.21
✎
11:32
|
(9) Значит это реквизит формы, а не реквизит объекта.
|
|
12
Slon747
24.02.21
✎
11:51
|
Всё заработало.
Похоже, проблема была в том, что при открытии у меня восстанавливаются значения реквизитов формы из настроек.
Т.к. там был тип Справочник, а не СписокЗначений, то сбоило.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший