AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.08.2008, 09:17   #1  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
You can copy-paste the code for the script from axaptapedia.com (There is a problem with copying over the code from blogger site directly)
Пилюля: можно сначала скопировать код с сайта в Excel, а затем из Excel в редактор X++.
Эстеты могут еще в Excel выключить "Выравнивание по центру", но это не обязательно
Старый 13.08.2008, 09:32   #2  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Иван молодец! Спасибо
Старый 13.08.2008, 18:23   #3  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Немножко присоседюсь к Ивану
Показалось напряжным запускать пиклист заново, когда хочется посмотреть реализацию метода сразу в нескольких классах. Внёс небольшую модификацию, использовав SysInfoAction_Editor. По ходу получилось своеобразное инфолог-меню, которое можно подержать на экране, щелкая по строчкам. Ну, и добавил заодно доступ и к самим классам в целом (а не только к конкретному методу).
X++:
switch (descendents.elements())
{
    case 0:
        info(strFmt(@"The method '%1' is not overridden in any of the %2 descendent classes", methodName, descendentsCount));
        break;
    case 1:
        descendentsEnumerator = descendents.getEnumerator();
        if (descendentsEnumerator.moveNext())
            treeNode = TreeNode::findNode(descendentsEnumerator.currentKey());
        break;
    default:
// Gustav -->
        //treeNode = TreeNode::findNode(pickList(descendents, "@SYS24724", @"Pick required class to go to method definition"));
        info(strRep('-', 100));
        info(' Double click required string to go to method or class definition: ' );
        info(strRep('-', 100));

        descendentsEnumerator = descendents.getEnumerator();
        while (descendentsEnumerator.moveNext())
        {
            treeNode = TreeNode::findNode(descendentsEnumerator.currentKey());

            info( strFmt('CLASS: %1', subStr( treeNode.AOTparent().treeNodePath(),10,100 )),
                  '', SysInfoAction_Editor::newOpen( treeNode.AOTparent().treeNodePath() ));

            info( strFmt('%1 METHOD: %2', strRep('-', 50), treeNode.treeNodeName() ),
                  '', SysInfoAction_Editor::newOpen( treeNode.treeNodePath() ));
        }
}
if(descendents.elements()<=1)
{
    if (treeNode && SysTreeNode::hasSource(treeNode))
        treeNode.AOTedit();
}
// Gustav <--
Проверить можно, например, открыв метод AssetId класса InventMovement и выполнить для него этот скрипт.
За это сообщение автора поблагодарили: kashperuk (5), aidsua (1), alex55 (1).
Теги
editor script, полезное, ax2009, ax4.0, axapta

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Kashperuk Ivan: SysMultiTableLoookup - dynamic lookups based on multiple tables Blog bot DAX Blogs 11 16.10.2008 12:26
Kashperuk Ivan: 3 great Tabax Plugins Blog bot DAX Blogs 2 15.05.2007 11:55
Kashperuk Ivan: Buy MorphX IT in Russian Blog bot DAX Blogs 6 13.04.2007 17:48
Kashperuk Ivan: Adding Menu ReferencesMany developers often find... Blog bot DAX Blogs 0 26.01.2007 05:51

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:43.