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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.09.2011, 13:42   #1  
KingPeas is offline
KingPeas
Участник
Аватар для KingPeas
 
163 / 35 (2) +++
Регистрация: 09.01.2007
Адрес: Россия, Новосибирск
Thumbs up Плагин к Tabax DEV_RegisterChange
Делалось достаточно давно еще когда работал на прежнем месте работы изначально под 3.0, потом переделывал под 4.0. Для работы необходим Tabax. Инструкцию, иконки и сам проект прикладываю в архиве (пока к сожалению версия только под 4).
Единственное что требуется для вмешательство в систему дописать в Editor один метод и дополнить один существующий. Свой исключил из проекта, поскольку у нас много мусора в нем.

Создаем
PHP код:
void DevelopersComment(Editor e)
{
    
int startLine e.selectionStartLine();
    
int endLine   e.selectionEndLine();
    
int startCol;
    
str startStr;

    
// >> GEV() 25 Авг 2009 GEV_NewProjectWithComment Создание новых проектов
    
boolean         header startLine == && endLine == && e.selectionStartCol() == e.selectionEndCol();
    ;
     if (
header)
     {
        
DEV_Scripts::commentCreateMethod(e);
     }
     else
     {
        
DEV_Scripts::commentChangeMethod(e);
     }


Исправляем getApplicableScripts и добавляем то что стоит между тегами
PHP код:
 // >> GEV() 29 Сен 2009
 
...
    
// << GEV() 29 Сен 2009 
В итоге должно получиться что то вроде такого кода.
PHP код:
// Use this method to control what scripts are shown on the scripts popup menu in the editor
container getApplicableScripts(Editor e)
{
    
classId id classnum(EditorScripts);
    
TreeNode AOTNode EditorScripts::getVersionControllableNode(e);
    
DictClass dc = new DictClass(id);
    
int i;
    
container scripts;
    
str methodName;

    
boolean applicableMethod (int offset)
    {
        
DictMethod mi dc.objectMethodObject(offset);
        if (
mi.noParms() != 2)
            return 
false;
        if (
mi.name() == methodstr(EditorScriptsshowScripts))
            return 
false;
        if ((
mi.name() == methodstr(EditorScriptsversionControl_checkOut) ||
            
mi.name() == methodstr(EditorScriptsversionControl_getLatest)) &&
            (!
versioncontrol.parmSysVersionControlSystem() || !AOTNode ||
            
versioncontrol.allowEdit(AOTNode)))
                return 
false;
        if ((
mi.name() == methodstr(EditorScriptsversionControl_undoCheckOut) ||
            
mi.name() == methodstr(EditorScriptsversionControl_checkIn)) &&
            (!
versioncontrol.parmSysVersionControlSystem() || !AOTNode ||
            !
versioncontrol.allowEdit(AOTNode)))
                return 
false;
        if (
mi.parameterType(1) == Types::Class)
            return 
mi.returnType() == Types::void;
        return 
false;
    }

    
// >> GEV() 29 Сен 2009
    
;

    
// > AxAssist, 10.10.2007
      
if(DEV_AxAssistSingleton::getThisClass().parmAltMEmulate())
    {
        
DEV_AxAssistSingleton::getThisClass().parmEditor(e);
        
DEV_AxAssistSingleton::getThisClass().parmAltMEmulate(false);
        return 
connull();
    }
    
// < AxAssist, 10.10.2007
    // << GEV() 29 Сен 2009

    // Insert menu items.
    
for (1<= dc.objectMethodCnt(); i++)
    {
        if (
applicableMethod (i))
        {
            
methodName dc.objectMethodObject(i).name();
            
scripts += methodName;
        }
    }

    return 
scripts;

Ну а дальше читаем инструкцию и пользуемся). Будут проблемы пишите постараюсь помочь.
Вложения
Тип файла: zip DevRegister.zip (520.2 Кб, 103 просмотров)
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ.
За это сообщение автора поблагодарили: mazzy (2).
Теги
tabax, законченный пример

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вспомогательные классы проверки условий и утверждений gl00mie DAX: Программирование 19 07.07.2017 07:18
axcoder: Tabax successor as an illustration of new dev features of Ax 2012 Blog bot DAX Blogs 0 01.07.2011 02:12
dynamics-ax-dev: Copying a Production Environment into a Development/Test Environment Blog bot DAX Blogs 0 02.12.2010 00:11
Kashperuk Ivan: Tool: DEV_SysTableBrowser and DEV_CreateNewProject tools now on AX 2009 Blog bot DAX Blogs 1 05.05.2010 17:35
Tabax VS AxAssist KingPeas DAX: Программирование 4 06.10.2009 14:28

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

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

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