Показать сообщение отдельно
Старый 29.02.2008, 18:22   #24  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Вопрос-то как-раз заключался в том, где же реализуются 3 абстрактных метода.
Я же уже ответил.
Еще разик:
X++:
\Classes\SysContextMenuAOT\first
\Classes\SysContextMenuAOT\new
\Classes\SysContextMenuAOT\next
У меня работает. Что сделал:
1. Добавил пункт меню \Menu Items\Action\Generator
2. Добавил его в \Menus\sysContextMenu\My MI
3. Дописал метод \Classes\SysContextMenu\verifyItem:

X++:
    TreeNode currentNode;
    boolean  typeMatch;
    int      SelectionIndex;
    int      currentNodeType;
..............................................

       case MenuItemType::Action:
            switch (menuItemName)
            {
//MY BLOCK
                case menuItemActionStr(Generator):

                    currentNode=firstNode;
                    typeMatch=true;
                    for(SelectionIndex=0;SelectionIndex<this.selectionCount();SelectionIndex++)
                    {
                        currentNodeType=currentNode.applObjectType();
                        typeMatch=(
                        currentNodeType==UtilElementType::Table          ||
                        currentNodeType==UtilElementType::TableField     ||
                        currentNodeType==UtilElementType::PrivateProject ||
                        currentNodeType==UtilElementType::SharedProject);
                        if(!typeMatch)return typeMatch;
                        currentNode=this.next();
                    }
                    return typeMatch;

                //MY BLOCK
Откомпилировал. Работает.
Попробуйте повторить с нуля. Может что не так во время экспериментов случилось.

ЗЫ На ax4 тестил.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0