|
1C 8.2 Обычное приложение. Не работает список выбора | ☑ | ||
---|---|---|---|---|
0
KizerSoze
16.10.13
✎
00:17
|
Здравствуйте,
Пытаюсь программно определить список выбора для реквизита табличной части. Почему - то не получается. В отладке посмотрел, "Элемент.СписокВыбора" в процедуре программно заполняется, но на форме почему - то выпадает пустая строка. Процедура ТчКатегорииПерсоналаСсылкаНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка) Элемент.СписокВыбора.Очистить(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗначенияСвойствОбъектов.Значение |ПОМЕСТИТЬ Вт |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов |ГДЕ | ЗначенияСвойствОбъектов.Свойство = &Свойство |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Вт.Значение |ИЗ | Вт КАК Вт | |СГРУППИРОВАТЬ ПО | Вт.Значение"; Запрос.УстановитьПараметр("Свойство", ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Категории персонала")); РезультатЗапроса = Запрос.Выполнить(); Если не РезультатЗапроса.Пустой() тогда Выборка=РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() цикл Элемент.СписокВыбора.Добавить(Выборка.Значение); КонецЦикла; КонецЕсли; СтандартнаяОбработка=Ложь; КонецПроцедуры |
|||
1
Apokalipsec
16.10.13
✎
00:37
|
СтандартнаяОбработка=Ложь;
в начало перенеси. и в элемент.СписокВыбора запихни готовый список значений. |
|||
2
Apokalipsec
16.10.13
✎
00:41
|
а вообще смотри в типовой как сделан выбор, в куче форм есть.
|
|||
3
mistеr
16.10.13
✎
02:15
|
Без стандартной обработки список нужно и показывать самому, с помощью ВыбратьИзСписка().
А СписокВыбора для стандартной обработки. |
|||
4
KizerSoze
16.10.13
✎
07:02
|
Вот так сработало нормально:
СтандартнаяОбработка=Ложь; Элемент.СписокВыбора.Очистить(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗначенияСвойствОбъектов.Значение |ПОМЕСТИТЬ Вт |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов |ГДЕ | ЗначенияСвойствОбъектов.Свойство = &Свойство |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Вт.Значение |ИЗ | Вт КАК Вт | |СГРУППИРОВАТЬ ПО | Вт.Значение"; Запрос.УстановитьПараметр("Свойство", ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Категории персонала")); РезультатЗапроса = Запрос.Выполнить(); Если не РезультатЗапроса.Пустой() тогда Выборка=РезультатЗапроса.Выбрать(); Список=Новый СписокЗначений; Пока Выборка.Следующий() цикл Список.Добавить(Выборка.Значение); КонецЦикла; КонецЕсли; Элемент.Значение=ВыбратьИзСписка(Список, Элемент).Значение; Mister, Apokalipsec, спасибо Вам. |
|||
5
PaulBC
16.10.13
✎
07:16
|
(0) Убери вообще СтандартнаяОбработка=Ложь;
|
|||
6
Повелитель
16.10.13
✎
07:31
|
(0) Мне не понятно зачем тут изврат с временными таблицами?
Достаточно просто: Запрос.Текст = "ВЫБРАТЬ Различные | ЗначенияСвойствОбъектов.Значение |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов |ГДЕ | ЗначенияСвойствОбъектов.Свойство = &Свойство |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |