Цитата:
Вопрос-то как-раз заключался в том, где же реализуются 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 тестил.