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

Подскажите как заполнить СписокВыбора в УФ

Подскажите как заполнить СписокВыбора в УФ
Я
   vfrcbv
 
03.07.19 - 10:28
Добрый день!

На форме УФ есть реквизит со списком выбора. На сервере запросом получаю необходимые данные, заполняю этими данными список значений и возвращаю на клиент.

На клиенте не получается заполнить СписокВыбора возвращенным СпискомЗначений.

>вылазит ошибка: Поле объекта недоступно для записи (СписокВыбора)

Подскажите как заполнить СписокВыбора, сформированным СпискомЗначений?
 
 
   exwill
 
1 - 03.07.19 - 10:29
(0) "=" или "Добавить()" ?
   aleks_default
 
2 - 03.07.19 - 10:32
А как делаешь покажи
   vfrcbv
 
3 - 03.07.19 - 10:38
(2)
...
НомераТелефонов = ПолучитьНомераТелефоновКЛ();
Элементы.НомерТелефона.СписокВыбора.Очистить();
Элементы.НомерТелефона.СписокВыбора = НомераТелефонов;

....


Функция ПолучитьНомераТелефоновКЛ()
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    ВЫБОР
    |        КОГДА КонтактныеЛицаКонтактнаяИнформация.НомерТелефона <> """"
    |            ТОГДА ПОДСТРОКА(КонтактныеЛицаКонтактнаяИнформация.Вид.Наименование, 1, 999) + "":    "" + ПОДСТРОКА(КонтактныеЛицаКонтактнаяИнформация.Представление, 1, 999)
    |    КОНЕЦ КАК НомерТелефона
    |ИЗ
    |    Справочник.КонтактныеЛица.КонтактнаяИнформация КАК КонтактныеЛицаКонтактнаяИнформация
    |ГДЕ
    |    КонтактныеЛицаКонтактнаяИнформация.Ссылка = &СсылкаНаКЛ";
    Запрос.УстановитьПараметр("СсылкаНаКЛ", Объект.КонтактноеЛицо);
    
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    //МассивТелефонов = Новый Массив;

    //Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

    //    ТекНомер = ВыборкаДетальныеЗаписи.НомерТелефона;

    //    Если ЗначениеЗаполнено(ТекНомер) Тогда

    //        МассивТелефонов.Добавить(ТекНомер);

    //    КонецЕсли;

    //КонецЦикла;

    //

    //Возврат МассивТелефонов; 

    
    СписокЗначений = Новый СписокЗначений;
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ТекНомер = ВыборкаДетальныеЗаписи.НомерТелефона;
        Если ЗначениеЗаполнено(ТекНомер) Тогда
            СписокЗначений.Добавить(ТекНомер, "1");
        КонецЕсли;
    КонецЦикла;
    
    Возврат СписокЗначений; 

    
    
КонецФункции// ПолучитьНомераТелефоновКЛ()
   Василий Алибабаевич
 
4 - 03.07.19 - 10:38
(1) Исключительно "Добавить()". Ему нельзя сказать ссылаться на другой список. Оно потому что привязано к элементу управления.
   Василий Алибабаевич
 
5 - 03.07.19 - 10:42
(3) Вот это вот низ-з-з-я :
Элементы.НомерТелефона.СписокВыбора = НомераТелефонов;

Нужно примерно так 

Элементы.НомерТелефона.СписокВыбора.ЗагрузитьЗначения(НомераТелефонов.ВыгрузитьЗначения());

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