|
Выпадающих список в условиях модальности | ☑ | ||
---|---|---|---|---|
0
Sandemus
04.03.15
✎
09:13
|
Здравствуйте друзья!
Как теперь в условиях модальности создать выпадающий список? Раньше код был таким: &НаКлиенте Процедура Поле1НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) список7 = Новый СписокЗначений; список7 = заполнениесписка(); РеквизитСВыпадающимСписком=ВыбратьИзСписка(список7, Элементы.ПолеСВыпадающимСписком); КонецПроцедуры функция заполнениесписка() Список8 = Новый СписокЗначений; выборка=справочники.Сотрудники.Выбрать(); пока выборка.Следующий() цикл Список8.Добавить(Выборка.Фамилия); КонецЦикла; Список7 =Новый СписокЗначений; список7=список8.ВыгрузитьЗначения(); возврат Список8; конецфункции Какого типа должен быть Реквизит. Какой обработчик использовать? |
|||
1
1Сергей
04.03.15
✎
09:15
|
избавляйся от модальности
|
|||
2
Sandemus
04.03.15
✎
09:16
|
ДА, каким образом?
|
|||
3
Sandemus
04.03.15
✎
09:21
|
Смутно описано про кнопку КнопкаВыпадающегоСписка. И про обработчик ПриСозданииНаСервере для добавления элементов.
|
|||
4
Sandemus
04.03.15
✎
09:22
|
Я хотел сказать, что хочу чтоб это таки заработало на вэб клиентах. Тобишь избавиться от модальности.
|
|||
5
ShoGUN
04.03.15
✎
09:27
|
(4) А чего смутно-то? Реквизит.СписокВыбора.ЗагрузитьЗначения(заполнениесписка());
Только правильно это писать не в "НачалоВыбора", а в "НачалоВыбораИзСписка". Ну и кнопку в поле ввода соответствующую включить. |
|||
6
ShoGUN
04.03.15
✎
09:29
|
А лучше вообще заполнениесписка() вызывать в ПриСозданииНаСервере(), чтобы не было серверного вызова при выборе(это лишние тормоза).
|
|||
7
banco
04.03.15
✎
09:30
|
(0) не модальный вариант ВыбратьИзСписка ПоказатьВыборИзСписка
|
|||
8
Sandemus
04.03.15
✎
10:41
|
А можно какой-нибудь пример? Бьюсь-бьюсь, всё по нулям =(
|
|||
9
banco
04.03.15
✎
10:54
|
(8) ставишь у элемента галочку РежимВыбораИзСписка, а в событии ПриСозданииНаСервере заполняешь списоквыбора у элемента.
|
|||
10
Feunoir
04.03.15
✎
10:59
|
(8) А разве твой код стандартный рефакторинг не сможет превратить в немодальный? там вроде никаких подводных камней нет.
|
|||
11
Sandemus
04.03.15
✎
11:24
|
Простите за глупый вопрос, а куда мне поместить результат заполнениесписка() для вызова его на клиенте?
|
|||
12
Гёдза
04.03.15
✎
11:26
|
ДанныеВыбора - это и есть список выбора
|
|||
13
Sandemus
04.03.15
✎
11:31
|
Гёдза, это понятно, от куда ему взять эти данные. Как мне ему их передать из процедуры заполнениесписка() вызванной ПриСозданииНаСервере()?
|
|||
14
ShoGUN
04.03.15
✎
11:41
|
(13) Элементы.Поле1.СписокВыбора.ЗагрузитьЗначения(заполнениесписка());
Не? Список заполняется и заполнение сохраняется, пока форма открыта. |
|||
15
Sandemus
04.03.15
✎
14:25
|
Всё получилось! Я был невнимателен. Спасибо вам всем большое. Если вдруг кому-нибудь понадобится выпадающиц список без модальности вот код:
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) элементы.Реквизит1.СписокВыбора.ЗагрузитьЗначения(заполнениесписка()); КонецПроцедуры &НаКлиенте Процедура Реквизит1НачалоВыбораИзСписка(Элемент, СтандартнаяОбработка) КонецПроцедуры функция заполнениесписка() Список8 = Новый СписокЗначений; выборка=справочники.Сотрудники.Выбрать(); пока выборка.Следующий() цикл Список8.Добавить(Выборка.Фамилия); КонецЦикла; Список7 =Новый СписокЗначений; список7=список8.ВыгрузитьЗначения(); возврат Список7; конецфункции //обработка выбора &НаКлиенте Процедура Реквизит1ОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) ///// КонецПроцедуры |
|||
16
banco
04.03.15
✎
15:23
|
(15) еще можешь убрать лишние списки и вместо выборки использовать запрос
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) запрос = Новый Запрос("Выбрать Ссылка, Фамилия из Справочник.Сотрудники"); выборка = запрос.выполнить().Выбрать(); пока выборка.Следующий() цикл элементы.Реквизит1.СписокВыбора.Добавить(Выборка.Ссылка, Выборка.Фамилия); КонецЦикла; КонецПроцедуры |
|||
17
Адский плющ
04.03.15
✎
15:41
|
Наркоманы! Читайте (12)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |