Вход | Регистрация
 
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 или кнопку "Обновить" в браузере.