Имя: Пароль:
1C
1С v8
Как в тонком клиенте в текстовом поле установить СписокВыбора
0 john_ddd
 
11.03.14
10:17
&НаКлиенте
Процедура УстановитьСписок()
     Строка = Элементы.ТаблицаПокупок.ТекущиеДанные;
     СтрокаТаблицы = Строка.Номенклатура;
     Элементы.ПокупокЦена.СписокВыбора = СписокЦенНоменклатуры(СтрокаТаблицы);
КонецПроцедуры

&НаСервере
Функция  СписокЦенНоменклатуры(СтрокаТаблицы)
            
    Запрос = Новый Запрос;
    Запрос.Текст =  "ВЫБРАТЬ
                    |   ЦеныНоменклатуры.Номенклатура,
                    |   ЦеныНоменклатуры.Цена КАК Цена
                    |ИЗ
                    |   РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
                    |ГДЕ
                    |   ЦеныНоменклатуры.Номенклатура = &СтрокаТаблицы";

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

Выдает ошибку: Поле объекта недоступно для записи (СписокВыбора)
    Элементы.ПокупокЦена.СписокВыбора = СписокЦенНоменклатуры(СтрокаТаблицы);
1 john_ddd
 
11.03.14
10:18
Выдает ошибку: Поле объекта недоступно для записи (СписокВыбора)
    Элементы.ПокупокЦена.СписокВыбора = СписокЦенНоменклатуры(СтрокаТаблицы);
2 Wobland
 
11.03.14
10:23
>ЦеныНоменклатуры.Номенклатура = &СтрокаТаблицы
это предполагается, что номенклатура иногда равна целой строке?
3 john_ddd
 
11.03.14
10:25
снимаю вопрос.
Элементы.ПокупокЦена.СписокВыбора.ЗагрузитьЗначения(Массив);
4 Wobland
 
11.03.14
10:26
это просто альтернативные имена переменных. вон Итог.Цена ещё..