|
как изменить состав команд у программно создаваемого элемента? | ☑ | ||
---|---|---|---|---|
0
vde69
23.09.21
✎
10:45
|
создаю на форме элемент (при создании на сервере)
ЭлементТаб = Форма.Элементы.Добавить("ИспользуемыеФильтры", Тип("ТаблицаФормы"), ГруппаФильтров); ЭлементТаб.ПутьКДанным = "ИспользуемыеФильтры"; ЭлементТаб.Высота = ТипыФильтров.Количество(); ЭлементТаб.ИзменятьСоставСтрок = Ложь; ЭлементТаб.ИзменятьПорядокСтрок = Истина; ЭлементТаб.Шапка = Ложь; ЭлементТаб.УстановитьДействие("ПриИзменении", "Подключаемый_ЭлементНавигацииПриИзменении"); Нужно изменить типовой список команд у этого элемента, мне нужно оставить только стрелочки сортировки. Интерактивно это делается здесь https://infofront.su/wp-content/uploads/2020/08/1c-sostav-komandnoi-paneli-tablichnoy-chasti.png а как это сделать программно? ЭлементТаб.ПодчиненныеЭлементы - там команд нет ЭлементТаб.КоманднаяПанель.ПодчиненныеЭлементы - то же пусто Форма.Команды - там искал |
|||
1
vde69
23.09.21
✎
12:44
|
up
|
|||
2
серый КТУЛХУ
23.09.21
✎
14:15
|
Для Каждого ЭлементКоманднойПанели Из Элементы.ЭлементТабКоманднаяПанель.ПодчиненныеЭлементы Цикл
Если ЭлементКоманднойПанели.Имя <> "ТоШоНадо" Тогда ЭлементКоманднойПанели.Видимость = Ложь; ЭлементКоманднойПанели.Доступность = Ложь; КонецЕсли; КонецЦикла; |
|||
3
polosov
23.09.21
✎
14:18
|
(2) Да нет там подчиненных.
|
|||
4
серый КТУЛХУ
23.09.21
✎
14:44
|
(3): глаза разуй. там не ЭлементТаб.КоманднаяПанель.ПодчиненныеЭлементы.
ну и - сначала попробуй потом голоси. |
|||
5
polosov
23.09.21
✎
14:53
|
(4) Ты пробовали или просто так в лужу пукнул?
|
|||
6
vde69
23.09.21
✎
14:54
|
(4) ЭлементТабКоманднаяПанель - не найден
|
|||
7
серый КТУЛХУ
23.09.21
✎
14:56
|
(5): (6): извини. рам имя составняется из имени элемента (таблицы) и "КоманднаяПанель"
если у тебя мя элемента (таблицы формы) ИспользуемыеФильтры - то нужно не ЭлементТабКоманднаяПанель, а ИспользуемыеФильтрыКоманднаяПанель |
|||
8
серый КТУЛХУ
23.09.21
✎
14:57
|
(по shift-F9 бы в коллекцию Элементы слазил бы да проверил))
|
|||
9
vde69
23.09.21
✎
14:58
|
короче я понял в чем проблема:
эти кнопки создаются позже... то есть в процедуре "ПриСозданииНаСервере" это сделать невозможно... видимо надо делать отложеную перерисовку |
|||
10
серый КТУЛХУ
23.09.21
✎
14:59
|
(9): есс-но, я наклиенте все это проверяд.
в приоткрытии можно например |
|||
11
polosov
23.09.21
✎
15:02
|
(7) Да я то в курсе.
(10) Да, получается, что так |
|||
12
серый КТУЛХУ
23.09.21
✎
15:12
|
(11): нет, (2) с учетом (7) работает и в ПриСозданииНаСервере.
|
|||
13
серый КТУЛХУ
23.09.21
✎
15:16
|
//(12)+ рабочий тестовый кусок кода (на форме есть таблицаформы с именем "ДдсДанныеДляИмпорта", на комндную панель была добавлена своя кнопка с именем "КнопкаДдсДанныеЗаполнить"):
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Для Каждого ЭлементКоманднойПанели Из Элементы.ДдсДанныеДляИмпортаКоманднаяПанель.ПодчиненныеЭлементы Цикл Если ЭлементКоманднойПанели.Имя <> "КнопкаДдсДанныеЗаполнить" Тогда ЭлементКоманднойПанели.Видимость = Ложь; ЭлементКоманднойПанели.Доступность = Ложь; КонецЕсли; КонецЦикла; КонецПроцедуры //ПриСозданииНаСервере // результат - в командной панели осталась только кнопка с именем "КнопкаДдсДанныеЗаполнить" |
|||
14
vde69
23.09.21
✎
15:25
|
(13) у тебя элемент статический, то есть НЕ программный
|
|||
15
vde69
23.09.21
✎
15:28
|
кроме того решение (13) закрывает не команды а кнопки, еще остается контекстное меню и горячие клавиши.
|
|||
16
серый КТУЛХУ
23.09.21
✎
15:30
|
(15): нет, НЕ "остается". ибо доступность = ложь
|
|||
17
серый КТУЛХУ
23.09.21
✎
15:32
|
ЗЫ: вообще - нормальный такой диалог получается. разжевали, в рот положили... а теперь не "спасибо" - теперь еще сцуки еще уговорите меня...
))) |
|||
18
polosov
23.09.21
✎
15:52
|
(17) Да ты вообще не то писал.
|
|||
19
vde69
23.09.21
✎
16:05
|
(17) да ничего ты не разжевал, банально ЭлементТаб.КоманднаяПанель.ПодчиненныеЭлементы так-же работает как и поиск по длинному наименованию.
Изначально проблема была именно в программном создании и установки видимости при создании формы, что сделать не возможно... Подключение данного кода в "при открытии" не совсем верно так как возможно повторное открытие уже открытого окна. Короче сабж в правильном ключе пока выглядит не решаемым... |
|||
20
pechkin
23.09.21
✎
16:21
|
если у тебя ЭлементТаб.ИзменятьСоставСтрок = Ложь;
то удалить и так команды не будет |
|||
21
серый КТУЛХУ
23.09.21
✎
16:43
|
(19): "проблема была именно в программном создании и установки видимости при создании формы, что сделать не возможно..." - враньё. установка видимости и доступности - возможна (с оговоркой: свойства элемента должны это позволять, как, например, в (20), или смещение строк и сортировка - при установленном свойстве "изменение порядка строк")
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |