|
Как задать фокус на новом созданном элементе отбора в настройках СКД | ☑ | ||
---|---|---|---|---|
0
vasmedv
02.10.12
✎
09:11
|
В форме настроек скд на вкладке "Отбор" сделал новую кнопку - новый элемент.
(Стандартная не устраивает - там выбор из подменю. А стандартное действие новый элемент- не устраивает- там нельзя выбрать картинку для кнопки. ) сделал ей обработку нажатия Процедура КоманднаяПанельОтборНовыйЭлемент(Кнопка) новэл=КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(тип("ЭлементОтбораКомпоновкиДанных")); новэл.ЛевоеЗначение= Новый ПолеКомпоновкиДанных(""); КонецПроцедуры элемент добавляется, но не выбирается. А если отбор был пустой, то он даже не открывается. Просто + в представлении. Как сделать чтобы фокус был на левом значении нового элемента отбора? |
|||
1
чувак
02.10.12
✎
09:15
|
Новый ПолеКомпоновкиДанных("???")
|
|||
2
vasmedv
02.10.12
✎
09:25
|
(1) незнаю что вы имели ввиду, чувак. Но это не работает.
|
|||
3
чувак
02.10.12
✎
09:27
|
Новый ПолеКомпоновкиДанных("Сдезь должна быть имя поле компоновки данных")
|
|||
4
vasmedv
02.10.12
✎
09:31
|
Действие дожно быть аналогично кнопке "Новый элемент".
Там нет имени. так как имя еще не выбрано. Пользователь должен сам выбрать имя поля. |
|||
5
чувак
02.10.12
✎
09:36
|
Примерно так:
ЭлОтбора = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлОтбора.ВидСравнения = Стр.ВидСравнения; ЭлОтбора.Использование = Стр.Использование; ЭлОтбора.ЛевоеЗначение = Стр.ЛевоеЗначение; ЭлОтбора.ПравоеЗначение = Стр.ПравоеЗначение; |
|||
6
vasmedv
02.10.12
✎
09:40
|
а где "стр" взять?
|
|||
7
vasmedv
02.10.12
✎
09:46
|
а как правому значению присвоить тип, который у значения "Левого значения"?
|
|||
8
чувак
02.10.12
✎
09:53
|
Левый - это поле компоновки данных ( ЭлОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент");
) А правое - это значение этого поля . Например, справочники.Контрагенты.НайтиПоНаименованию("БлаБла") |
|||
9
vasmedv
02.10.12
✎
09:58
|
сделал при открытии формы добавление полей отбора:
Если не ЗначениеЗаполнено(КомпоновщикНастроек.Настройки.Отбор.Элементы) Тогда Для каждого элОтб Из КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.Элементы Цикл Если не элОтб.Заголовок="Параметры" Тогда новэл=КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(тип("ЭлементОтбораКомпоновкиДанных")); новэл.ЛевоеЗначение=Новый ПолеКомпоновкиДанных(стрзаменить(элОтб.Заголовок," ","")); новэл.Использование=Ложь; новэл.ПравоеЗначение= элОтб.Тип.ПривестиЗначение(элОтб.Тип); КонецЕсли; КонецЦикла; КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |