Имя: Пароль:
1C
1С v8
Как программно перемещаться по панели навигации? (Хак повторного вызова команды)
,
0 xintrea
 
08.11.12
15:18
Здравствуйте!

1С 8.2, управляемое приложение.


Кое-кто уже сталкивался с таким ограничением 1С: если разместить команду на панели навигации (вертикальная слева), то команда будет срабатывать только один раз. Повторный клик на пункт с командой ни к чему не приведет, так как не будет вызван обработчик ОбработкаКоманды. Нужно обязательно ткнуться на какой-нибудь другой пункт панели навигации, и после этого снова ткнуться на пункт с командой. Тогда она сработает.

Этот вопрос уже поднималься здесь:

http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=568443
http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=567695

Внятного решения небыло, съехали на обсуждение режимов открытия окон и рабочего стола.

А проблема видимо в том, что панель навигации служит для перемещения пользователя в пределах командного интерфейса. И если пользователь выбрал на панели навигации какой-то пункт, то при повторном клике на этом пункте ничего не будет происходить. Даже привязанная к пункту команда не будет вызываться.

Вот сижу и думаю, как бы это дело обойти.

Одно из вариантов решения - на момент завершения команды программно перемещаться на какой-нибудь другой пункт панели навигации. Но я искал какие-нибудь подступы к объекту панели навигации, ничего не нашел, максимум что можно - читать некоторые свойства.


Вопрос: как можно программно перепрыгнуть в какое-нибудь место командного интерфейса? Например, можно было бы сделать форму-пустышку, связать ее с каким-нибудь пунктом панели навигации (возможно, скрытым), и перейти туда. Тогда бы повторное нажатие на пункт с командой срабатывало бы нормально.
1 mikecool
 
08.11.12
15:20
а я вот подумал - а нафига повторно выполнять команду, если она только что выполнилась?
2 xintrea
 
08.11.12
15:36
Например, команда вызывает отчет (форму настройки отчета).

Нужно сделать несколько отчетов с разными параметрами.

Приходится несколько раз выполнять команду открытия отчета.