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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.12.2002, 09:11   #1  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Доступ к исходным текстам Аксапты
Добрый день.

Вот решил поделиться с человечеством.

Данный Job заполняет таблицу dem_tst_.... имеющую вид (Class, Method, Code) соответствующей информацией.
Ничего особенного, но для ачинающих может оказаться полезным. Сразу предупреждаю, что job будет работать
долго, поэтому запускайте лучше на ночь.

Вот собствено сам код Job'а:

PHP код:
static void dem_tst_Job(Args _args)
{
    
dem_tst_CodeArchiv codeArchiv;
    
TreeNode treeNode;                  
    
TreeNode methodNode;
    
xInfo xinfo = new xInfo();
    
int i;
    
str source;
    ;
    
treeNode xinfo.rootNode();
    
treeNode treeNode.AOTfindChild("Classes");
    
treeNode treeNode.AOTfirstChild();

    while (
treeNode)
//    for (i=1; i<10; i++)
    
{
       print 
treeNode.treeNodeName();

       
methodNode treeNode.AOTfirstChild();
       while (
methodNode)
       {
          print 
"   -- " methodNode.treeNodeName();
          
source methodNode.getSource();
          print 
source;

          
codeArchiv.cls treeNode.treeNodeName();
          
codeArchiv.mthd methodNode.treeNodeName();
          
codeArchiv.code source;
          
codeArchiv.insert();

          
methodNode methodNode.nextSibling();
       }

       
treeNode treeNode.nextSibling();
    }

    
pause;

Также прилагаю проект, в котором находится сам job, и таблица, которую он заполняет.

Возможные применения:

1. Например построение диаграммы классов(например в Rational Rose). Я думаю теперь это не составит труда.
2. Система контроля версий. Тут уж все зависит от правил, принятых у вас на работе. Мне лично здорово не хватает в Аксапте системы контроля версий. Да, заблокировать объект я могу. А посмотреть предыдущую версию данного класса ? А конкретного метода ? А показать различие между этими двумя версиями ? А откатить класс к предыдущей версии ? А конкретный метод ?

Как одно из решений - слегка модифицируем job, дабы он сохранял тексты классов не в БД, а в текстовом файле(а еще лучше файлах), полученные файлы закачиваем в SourceSafe(или кому, что больше нравится).
Вложения
Тип файла: zip dem_tst_codearchiver.zip (1.4 Кб, 294 просмотров)
Старый 03.12.2002, 11:05   #2  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Если в текстовый файл, почему бы тогда обычный экспорт из AOT не использовать? А получившийся XPO-файл в SS и толкать?
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 03.12.2002, 11:23   #3  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Если в текстовый файл, почему бы тогда обычный экспорт из AOT не использовать? А получившийся XPO-файл в SS и толкать?
XPO файл все таки будет отличаться от полученного тектового. Причем в том виде, в каком информация присутствует в моем текстовом файле, мне гораздо удобнее с ней работать.
А в общем, согласен. Можно анализировать xpo файл.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
документооборот и доступ к файлам ivas DAX: Программирование 34 18.05.2012 11:00
Как сильно модифицировано ваше приложение Аксапты? mazzy DAX: Прочие вопросы 30 14.04.2011 17:26
Вставка строк в таблицы Аксапты сторонними средствами Андре DAX: База знаний и проекты 1 07.05.2009 16:49
Доступ к MySQL базе из Аксапты Falcon DAX: Программирование 2 04.05.2006 19:26
Экспорт / импорт Help topics и запуск второй сессии Аксапты из-под себя DmitrySt DAX: Программирование 0 25.11.2004 00:22

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 05:35.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.