|
|
|
|
#1 |
|
----------------
|
Программно добавить пункт меню
Подскажите, как программно добавить пункт меню в подменю одного из главных меню, например Администрирование.
Добавить просто пункт меню можно так X++: Menu m = New Menu(menustr(Administration)); MenuFunction mf = new MenuFunction(menuitemdisplaystr(MyMenuItem), MenuItemType::Display); ; m.addMenuitem(mf); m.AOTcompile(); m.AOTsave(); Последний раз редактировалось Wamr; 20.10.2006 в 14:30. |
|
|
|
|
#2 |
|
Участник
|
вот так
Код: Menu m = New Menu(menustr(Administration));
MenuFunction mf = new MenuFunction(menuitemdisplaystr(MyMenuItem), MenuItemType::Display);
Menu m2;
;
m2 = m.AOTfindChild("Запросы");
m2.addMenuitem(mf);
m.AOTcompile();
m.AOTsave();Последний раз редактировалось Косых Артём; 20.10.2006 в 15:10. |
|
|
|
|
#3 |
|
Участник
|
А я только что так убил Аxапту - именно меню `Администрация` - делает крэш, если пытаешся открыть или редактировать в АОТ
|
|
|
|
|
#4 |
|
Участник
|
|
|
|
|
|
#5 |
|
Участник
|
3.0 SP3
Придется вырывать весь УСР слой кроме того меню... Странно |
|
|
|
|
#6 |
|
----------------
|
Вроде, работает. Спасибо.
А как теперь создать свое подменю? |
|
|
|
|
#7 |
|
Участник
|
|
|
|
|
| За это сообщение автора поблагодарили: Wamr (2). | |
|
|
#8 |
|
Участник
|
Только вот не совсем понимаю - зачем создавать это программно?
Расскажите, если не секрет |
|
|
|
|
#9 |
|
----------------
|
Артем. я пробовал - не работает
Иван. Как еще можно перенести пункты главного меню на заранее неизвестную конфигурацию Аксапты? |
|
|
|
|
#10 |
|
Участник
|
|
|
|
|
|
#11 |
|
Участник
|
|
|
|
|
|
#12 |
|
Lean Six Sigma
|
Тем, что главное меню - только одно. Импортируешь - перезапишешь.
|
|
|
|
|
#13 |
|
Участник
|
Так есть же функция сравнения, чтобы сравнить, а в процессе сравнения можно вставить только то, что нужно. У меня правда при нажатие на стрелочку для внесения изменений, открывается (about:blank#Insert-1) - списываю это на SP1.
|
|
|
|
|
#14 |
|
Lean Six Sigma
|
А так можно инсталляшку для модуля сделать. Получается почти коробка - поставил и вроде работает. На новые сервис-паки удобно переходить. Для кого это - реальность
|
|
|
|
|
#15 |
|
Участник
|
Ned, в Аксапта сервис паки также инсталируются - сначала ставится новые DIS,DIP..etc, потом инсталятор предлагает сделать проект изменений АОТ... вот потом то и надо вручную пройти и все проверить... Если ето отделный модуль, конечно меньше гемороя, но все равно, хоть это и менюшка - надо делать это осторожно.. При импорте, перед нажатием ОК можно также сравнить XРО и любой уровень, вплоть до УСР...
Я даже так иногда импортирую из XРО, не нажимая на ОК... xватает только нажать стрелочьки в броузере
|
|
|
|
|
#16 |
|
Участник
|
X++: static void addSubMenu(str _menu, str _subMenu) { Menu sysContextMenu=new Menu(_menu); Menu subMenu=new Menu(_subMenu); ; sysContextMenu.AOTDrop(subMenu); sysContextMenu.AOTsave(); sysContextMenu.AOTrestore(); sysContextMenu.AOTrefresh(); } |
|
|
|
| За это сообщение автора поблагодарили: Wamr (2), Косых Артём (1). | |
|
|
#17 |
|
Участник
|
Это я пытался плагинменеджер для аксапты сделать
![]() X++: static void removeSubMenu(str _menu, str _subMenu) { Menu sysContextMenu=new Menu(_menu); Menu myMenu=new Menu(_subMenu); TreeNode node; ; node=sysContextMenu.AOTfindChild(myMenu.label()); if(node) { node.AOTdelete(); sysContextMenu.AOTsave(); } else warning("Submenu not found: "+myMenu.label()); } |
|
|
|
|
#18 |
|
Участник
|
фигня какая-то с этими подменю. Получается метод addSubMenu класса Menu вообще не работает?
Если использовать методы addSubMenu, removeSubMenu, которые выложил Максим, то такой код: Код: addSubMenu("Administration","Test");
removeSubMenu("ADministration","Test");Если создавать подменю вручную и не добавить в него никаких пунктов меню, после сохранение и востановления это подменю уже не видно. В результате программно подменю добавить можно в меню с помощью метода AOTDrop, только если в это подменю заранее добавить все необходимые пункты меню. Но имя у этого подменю все равно почему-то пустое ![]() У меня Axapta 3.0 SP3. Максим, а как у тебя эти методы работают? |
|
|
|
|
#19 |
|
Участник
|
именно так. заранее создаешь подменю со всеми методами, а оно вставляется
|
|
|
|
|
#20 |
|
Участник
|
|
|
|
| Теги |
| меню, программно |
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| пользовательское меню программно | 17 | |||
| Как добавить пункт меню в портале? | 2 | |||
| Работа с главным меню в Axapta | 0 | |||
|