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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.04.2014, 10:58   #1  
АртемМелихов is offline
АртемМелихов
Участник
Аватар для АртемМелихов
 
120 / 10 (1) +
Регистрация: 18.12.2013
Адрес: Samara
:( Разработки своей команды запуска
Добрый день. Решил попробовать создать свою команду запуска аксапты 3.0. Создал класс, наследовал его от SysStartupCmd. Информация в лог выводится, а запуск формы не происходит. В чем может быть проблема?
X++:
class TestAuto extends SysStartupCmd
{
}
void infoRun()
{
    FormRun formRun;
    ;
    info("!");
    super();
    info("!!ok");
    formRun = new MenuFunction(menuItemDisplayStr(Tabax), MenuItemType::Display).create();
    formRun.run();
    info("!!!");
}

Причина: P.S: при запуске не выводиться только последний инфолог, ну и форма не запускается. Пробовал этот же код в джобе, все ок - форма открылась

Последний раз редактировалось АртемМелихов; 11.04.2014 в 11:00. Причина: наадо
Старый 11.04.2014, 11:11   #2  
michel1971 is offline
michel1971
Участник
 
78 / 78 (3) ++++
Регистрация: 14.01.2011
В вашем случае думаю поможет
X++:
formRun.detach();
а вообще проще делать видимо так
X++:
MenuFunction menuFunction;\
;
menuFunction= new MenuFunction(menuItemDisplayStr(Tabax), MenuItemType::Display);
menuFunction.run()
Старый 11.04.2014, 11:18   #3  
АртемМелихов is offline
АртемМелихов
Участник
Аватар для АртемМелихов
 
120 / 10 (1) +
Регистрация: 18.12.2013
Адрес: Samara
Цитата:
Сообщение от michel1971 Посмотреть сообщение
В вашем случае думаю поможет
X++:
formRun.detach();
а вообще проще делать видимо так
X++:
MenuFunction menuFunction;\
;
menuFunction= new MenuFunction(menuItemDisplayStr(Tabax), MenuItemType::Display);
menuFunction.run()
Это на сервере выполняется. Меню Функцион тут бесполезны
Старый 11.04.2014, 11:35   #4  
michel1971 is offline
michel1971
Участник
 
78 / 78 (3) ++++
Регистрация: 14.01.2011
Цитата:
Сообщение от АртемМелихов Посмотреть сообщение
Это на сервере выполняется. Меню Функцион тут бесполезны
сделал ради интереса новый класс, как вы описали, под новую команду
перекрыл метод
X++:
void infoRun()
{
    MenuFunction menuFunction;

    super();

    menuFunction= new MenuFunction(menuItemDisplayStr(InventTable), MenuItemType::Display);
    menuFunction.run();
}
форма открылась. Tabax, не использую, не могу проверить.
Старый 11.04.2014, 11:42   #5  
АртемМелихов is offline
АртемМелихов
Участник
Аватар для АртемМелихов
 
120 / 10 (1) +
Регистрация: 18.12.2013
Адрес: Samara
Цитата:
Сообщение от michel1971 Посмотреть сообщение
сделал ради интереса новый класс, как вы описали, под новую команду
перекрыл метод
X++:
void infoRun()
{
    MenuFunction menuFunction;

    super();

    menuFunction= new MenuFunction(menuItemDisplayStr(InventTable), MenuItemType::Display);
    menuFunction.run();
}
форма открылась. Tabax, не использую, не могу проверить.
У вас клиент стоит?
Старый 11.04.2014, 11:44   #6  
michel1971 is offline
michel1971
Участник
 
78 / 78 (3) ++++
Регистрация: 14.01.2011
Цитата:
Сообщение от АртемМелихов Посмотреть сообщение
У вас клиент стоит?
Да клиент Ах 4.0
Старый 11.04.2014, 11:20   #7  
АртемМелихов is offline
АртемМелихов
Участник
Аватар для АртемМелихов
 
120 / 10 (1) +
Регистрация: 18.12.2013
Адрес: Samara
Цитата:
Сообщение от michel1971 Посмотреть сообщение
В вашем случае думаю поможет
X++:
formRun.detach();
а вообще проще делать видимо так
X++:
MenuFunction menuFunction;\
;
menuFunction= new MenuFunction(menuItemDisplayStr(Tabax), MenuItemType::Display);
menuFunction.run()
formRun.detach(); не помогло, это не стандартная форма. Видимо вы не сталкивались с Tabax )))
Старый 11.04.2014, 11:40   #8  
michel1971 is offline
michel1971
Участник
 
78 / 78 (3) ++++
Регистрация: 14.01.2011
Цитата:
Сообщение от АртемМелихов Посмотреть сообщение
formRun.detach(); не помогло, это не стандартная форма. Видимо вы не сталкивались с Tabax )))
подсмотрел как табакс у нас тут запускается
X++:
TreeNode::findNode(@'\Forms\TabaxLite').AOTrun();
попробовал, запускается
За это сообщение автора поблагодарили: lev (5).
Старый 11.04.2014, 13:03   #9  
АртемМелихов is offline
АртемМелихов
Участник
Аватар для АртемМелихов
 
120 / 10 (1) +
Регистрация: 18.12.2013
Адрес: Samara
Напоминаю, что форму я запускаю через параметры запуска Аксапты. Наследник класса "SysStartupCmd". Все преложенные вами методы может и срабатывают в запущенной, когда вы делаете вызов вручную, но если их использовать в момент иницилизации Аксапты при запуске, то они не срабатывают
Старый 11.04.2014, 13:12   #10  
michel1971 is offline
michel1971
Участник
 
78 / 78 (3) ++++
Регистрация: 14.01.2011
Цитата:
Сообщение от АртемМелихов Посмотреть сообщение
Напоминаю, что форму я запускаю через параметры запуска Аксапты. Наследник класса "SysStartupCmd". Все преложенные вами методы может и срабатывают в запущенной, когда вы делаете вызов вручную, но если их использовать в момент иницилизации Аксапты при запуске, то они не срабатывают
еще раз....
делаем класс
X++:
class SysStartupCmdTabax extends SysStartupCmd
в нем метод
X++:
void infoRun()
{
    super();

    TreeNode::findNode(@'\Forms\TabaxLite').AOTrun();
}
в \Classes\SysStartupCmd\construct добавляем
X++:
            case 'tabax':
            sysStartupCmd = new SysStartupCmdTabax(s,parm);
            break;
в конфигурационной утилите в поле Command to run at application statup
пишем tabax.
Запускаме аксапту
Результат открытая форма TabaxLite
Старый 11.04.2014, 13:24   #11  
АртемМелихов is offline
АртемМелихов
Участник
Аватар для АртемМелихов
 
120 / 10 (1) +
Регистрация: 18.12.2013
Адрес: Samara
Цитата:
Сообщение от michel1971 Посмотреть сообщение
еще раз....
делаем класс
X++:
class SysStartupCmdTabax extends SysStartupCmd
в нем метод
X++:
void infoRun()
{
    super();

    TreeNode::findNode(@'\Forms\TabaxLite').AOTrun();
}
в \Classes\SysStartupCmd\construct добавляем
X++:
            case 'tabax':
            sysStartupCmd = new SysStartupCmdTabax(s,parm);
            break;
в конфигурационной утилите в поле Command to run at application statup
пишем tabax.
Запускаме аксапту
Результат открытая форма TabaxLite
могу записать стрим видео. Если вы не верите. У меня Аксапта 3.0. И запуск я делаю через bat файл. Остальное , аналогично указанному вами коду. Не запускается ни табакс, ни какая либо другая форма.
Старый 11.04.2014, 13:45   #12  
michel1971 is offline
michel1971
Участник
 
78 / 78 (3) ++++
Регистрация: 14.01.2011
Цитата:
Сообщение от АртемМелихов Посмотреть сообщение
У меня Аксапта 3.0.
видимо это ключевое отличие. У меня работает всеми 3-мя описанными способами.
Старый 11.04.2014, 13:55   #13  
АртемМелихов is offline
АртемМелихов
Участник
Аватар для АртемМелихов
 
120 / 10 (1) +
Регистрация: 18.12.2013
Адрес: Samara
Цитата:
Сообщение от michel1971 Посмотреть сообщение
видимо это ключевое отличие. У меня работает всеми 3-мя описанными способами.
печаль на мою голову =( Вот странность, вывод в инфо лог срабатывае, а вызов форм нет =(
Старый 11.04.2014, 14:33   #14  
АртемМелихов is offline
АртемМелихов
Участник
Аватар для АртемМелихов
 
120 / 10 (1) +
Регистрация: 18.12.2013
Адрес: Samara
Кому интересно, плюнул я и вписал вызов формы напрямую в класс Info. Работает =)
Теги
sysstartupcmd

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Супер-утилита для запуска Dynamics AX Kabardian DAX: База знаний и проекты 7 16.01.2012 16:40
ax2009 demo vpc: полностью настроенная виртуальная машина со средствами разработки mazzy DAX: База знаний и проекты 76 27.12.2010 11:16
mazzy: Команды загрузки (Startup Command) в Dynamics AX4 Blog bot DAX Blogs 0 12.01.2009 20:05
mazzy: Команды загрузки (Startup Command) Blog bot DAX Blogs 0 30.12.2008 18:05
Минимальный пакет для разработки LTA DAX: Программирование 2 30.01.2003 14:04

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

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

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