Имя: Пароль:
1C
1С v8
Динамическое контекстное меню списка в управляемой форме
0 Лкфае гтв Дшсре
 
25.06.19
17:55
Доброго времени суток!
Возникла такая проблема. Управляемая форма, на ней динамический список, который выводит данные некого регистра.
У динамического списка есть контекстное меню, в котором созданы 5 кнопок, им назначены команды.
В событии "ПриАктивизацииСтроки" этого списка получаем из бд выборку из связанного регистра. В выборке несколько строк - максимум 5. Включаем видимость у нескольких из этих кнопок. Т.е. выбрали из связанного регистра 3 записи - включили 3 кнопки, выбрали 5 строк - включили 5 кнопок. Делается это с помощью подключения обработчика ожидания.
Теперь суть. Щелкаем левой кнопкой мыши по строке списка - подгружаются связанные данные - включаются пункты контекстного меню. Щелкаем правой кнопкой по той же строке - видим правильный список кнопок (например 3 шт). Но, если теперь щелкнуть правой кнопкой мыши по другой строке списка, в которой 5 связанных строк, то сначала мы увидим старое меню, в котором 3 строки, потом сработает обработчик "ПриАктивизацииСтроки" и обновит меню. Только после этого, если еще раз нажать правую кнопку мыши мы увидим актуальное меню, в котором 5 кнопок. Как сделать, чтобы сразу после первого правого щелчка мыши показывалось актуальное меню?
1 Cyberhawk
 
25.06.19
18:06
1С не особо подходит для изысков с системными действиями (хоткеи, ПКМ и прочее). Смирись.
2 Вафель
 
25.06.19
18:08
делай не видимомть, а доступность
хоть не будет прыгать меню
3 Лкфае гтв Дшсре
 
25.06.19
18:13
(2) Суть остается - при ПКМ сначала показывается не обновленное меню, а потом только происходит обновление и нужен еще один ПКМ
4 Лкфае гтв Дшсре
 
25.06.19
18:14
(1) Это да) Но вдруг кто-то уже поборол похожую беду)
5 singlych
 
25.06.19
18:20
делайте не обработчиком ожидания
6 Вафель
 
25.06.19
18:22
если без обработчика, то первое меню просто не откроется.
не супер но вполне сойдет
7 palsergeich
 
25.06.19
19:05
Изменение состава контекстного меню делает неявный серверный вызов.
Используя динамическое контекстное меню форма и ользователь будут страдать изза постоянных перерисовок
8 palsergeich
 
25.06.19
19:07
Если прям ну очень надо - думай как прикрутить ПоказатьВыборИзСписка
9 Лкфае гтв Дшсре
 
26.06.19
10:32
Спасибо всем! В итоге забил и сделал в меню одну фиксированную кнопку - при нажатии открывается список из элементов связанного регистра с помощью метода списка "ВыбратьЭлемент". Если список пуст, выдается сообщение что список пуст)