Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

УФ. Поле со списком значений

УФ. Поле со списком значений
Я
   Slon747
 
23.02.21 - 17:26
Нужно в поле заполнять список значений справочника "Пользователи".
Создал на форме реквизит МенеджерДоговоров с типом "Список значений".
На закладке Объект указал тип значения "СправочникСсылка.Пользователи".
Добавил элемент формы Поле и указал ПутьКДанным - МенеджерДоговоров.
Но в режиме Предприятия при добавлении элемента в список значения вываливаются все типы (булево, число, документы и пр).
Почему так?
 
 Партнерская программа EFSOL Oblako
   ДедМорроз
 
1 - 23.02.21 - 19:47
Если на форме нужно заполнять список,то это таблица формы с источником данных список значений,а никак не поле.
   Fedor-1971
 
2 - 24.02.21 - 09:27
(0) Походу, СписокЗначений таки не имеет типа у элементов, вот тебя и плющит
Попробуй перезапустить 1С под отладчиком и посмотри на ОграничениеТипов у списка значений
   Slon747
 
3 - 24.02.21 - 09:58
(1)(2) Но в обычных формах можно добавить поле ввода с типом "Список значений", указать тип справочника и в него добавлять данные, уже с отбором по этому справочнику.
В УФ так нельзя?
   Федя Тяпкин
 
4 - 24.02.21 - 10:01
(0) В ПриСозданииНаСервере() как то так
ЭтаФорма.Отчет.Контрагент.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Контрагенты");
   Slon747
 
5 - 24.02.21 - 10:12
(4) Попробовал, не помогает:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    ЭтаФорма.МенеджерДоговоров.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Пользователи");
    
КонецПроцедуры

Также пробовал в ПриОткрытии на клиенте:
Элементы.МенеджерДоговоров.ОграничениеТипа = Новый ОписаниеТипов("СправочникСсылка.Пользователи");

Все равно нет ограничения типа.
   Федя Тяпкин
 
6 - 24.02.21 - 10:15
(5) код рабочий. попробуй не ЭтаФорма.ПолеСписка а ЭтаФорма.РеквизитФормы.ПолеСписка
   Slon747
 
7 - 24.02.21 - 10:23
(6) Не понял. У меня и Поле называется МенеджерДоговоров и реквизит формы тоже так называется.

Также пробовал НачалоВыбора:

&НаКлиенте
Процедура МенеджерДоговоровНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

    Элемент.ВыбиратьТип = Ложь;
    Элемент.ОграничениеТипа = Новый ОписаниеТипов("СправочникСсылка.Пользователи");    
    
КонецПроцедуры

Код отрабатывает, но отбора по типу нет.
   Федя Тяпкин
 
8 - 24.02.21 - 10:27
https://prnt.sc/105ftov
Для этого примера код такой:
ЭтаФорма.Отчет.Контрагент.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Контрагенты");
   Slon747
 
9 - 24.02.21 - 10:48
(8) Не пойму.
У меня основной реквизит Объект.
Но реквизит МенеджерДоговоров находится не в ветке Объект, а на том же уровне.
   Saval1986
 
10 - 24.02.21 - 11:19
(0) Вам нужно просто чтобы МенеджерДоговоров выбирался из списка?
   vicof
 
11 - 24.02.21 - 11:32
(9) Значит это реквизит формы, а не реквизит объекта.
   Slon747
 
12 - 24.02.21 - 11:51
Всё заработало.
Похоже, проблема была в том, что при открытии у меня восстанавливаются значения реквизитов формы из настроек.
Т.к. там был тип Справочник, а не СписокЗначений, то сбоило.

Список тем форума
 
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.