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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.08.2011, 19:37   #1  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от Ярослав Щекин Посмотреть сообщение
To Link: Вы не пробовали реализовать автоэкспорт отчета и вызов утилиты с параметром пути к файлу??
Готово. Сделана в 2009ой Аксапте.

Реализовано через SysContextMenu, так же есть кнопочка для Табакса.
Вложения
Тип файла: xpo SharedProject_DEV_ReportEditorExternal.xpo (59.8 Кб, 221 просмотров)
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
За это сообщение автора поблагодарили: S.Kuskov (4), Ярослав Щекин (1).
Старый 19.08.2011, 14:43   #2  
Ярослав Щекин is offline
Ярослав Щекин
Участник
 
78 / 174 (6) ++++++
Регистрация: 16.03.2009
Спасибо. Но, когда я пытался адаптировать этот проект под свою Axapta 3.0, то выяснил, что отчёт экспортируется без меток (вызовом treeNodeExport). Вы не знаете, каким образом заставить Axapta экспортировать их?
Старый 19.08.2011, 15:07   #3  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от Ярослав Щекин Посмотреть сообщение
Спасибо. Но, когда я пытался адаптировать этот проект под свою Axapta 3.0, то выяснил, что отчёт экспортируется без меток (вызовом treeNodeExport). Вы не знаете, каким образом заставить Axapta экспортировать их?
X++:
// >> DEV:mxk 18/08/11-16:09:19  DEV_ReportEditorExternal>>
/* System export flags
#define.noExport(0)                 // Do not export
#define.export(1)                   // Export
#define.expKeepIds(0x0100)          // Export with ID's
#define.expLables(0x0400)           // Export labels
#define.expProjectOnly(0x800)       // Export project only
#define.expLockOnExport(0x1000)     // Lock exported elements
#define.expDefaultValues(0x2000)    // Export default properties values
#define.expLayer(0x4000)            // Export current layer only*/
protected void export(  TreeNode _node      = reportNode,
                        FilePath _fileName  = xpoFile)
{
    int                     flag            = (#expKeepIds + #expLables + #expLockOnExport);
;
    if (_node)
    {
        _node.treeNodeExport(_fileName, flag);
    }
}
X++:
// >> DEV:mxk 18/08/11-16:09:19  DEV_ReportEditorExternal>>
/* System import flags
#define.impOk(0x0000)               // Element imported
#define.impError(0x0001)            // Element is not imported
#define.impReImport(0x0002)         // Reimport is needed
#define.impReImporting(0x0004)      // Reimporting
#define.impStopped(0x0008)          // Stop import
#define.impNeverOverwrite(0x0010)   // Do not overwrite elements
#define.impQueryOverwrite(0x0020)   // Display a dialog asking if you want to override or not
#define.impGetCompareNode(0x0040)   // Import into node not in tree
#define.impRemoveExcess(0x0080)     // Delete subelements not found in tree
#define.impKeepIds(0x0100)          // Keep ID's after import
#define.impFormCopyPaste(0x0200)    // Using import to copy and paste form-controls
#define.impLabels(0x0400)           // Import labels
#define.impOverrideLocks(0x0800)    // Override locks
#define.impAddToProject(0x2000)     // Import into project
#define.impIgnoreCheckStatus(0x8000)// Import even if object is checked in*/
protected void import(  TreeNode _importNode    = reportNode,
                        FilePath _fileName      = xpoFile)
{
    SysImportElements       import;
    SysCompilerOutput       compiler;
    TmpAotImport            tmpAotImport;

    TreeNode                treeNodeImport;
    int                     importId;
    int                     elements;
    int                     flag            = (#impKeepIds + #impOverrideLocks + #impLabels + #impIgnoreCheckStatus + #impRemoveExcess);
    boolean                 importOk
;
    try
    {
        // Import file and compile it
        import = new SysImportElements();
        import.newFile(xpoFile);

        import.parmAddToProject(false);
        import.parmImportAot(true);
        import.parmImportWithIds(false);
        import.import(#impRemoveExcess | #impIgnoreCheckStatus);

        // retrieve the compilation log and use it to produce the external log
        tmpAotImport = import.getTmpImportAot();
        compiler = infolog.compilerOutput();

        info(strfmt("Report %1 successfully imported.", _importNode.treeNodeName()));
    }
    catch(Exception::Error)
    {
        error(strfmt("@SYS97044", xpoFile));
    }
}
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
Старый 19.08.2011, 15:28   #4  
Ярослав Щекин is offline
Ярослав Щекин
Участник
 
78 / 174 (6) ++++++
Регистрация: 16.03.2009
Нет, метки всё равно не экспортируются.
Старый 19.08.2011, 16:15   #5  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от Ярослав Щекин Посмотреть сообщение
Нет, метки всё равно не экспортируются.
Проверил в 2009 - работает. Только нужно изменить код в \Classes\SysImportLabel\label2Xml для нужного языка иначе будет ошибка.

X++:
    setIterator = new SetIterator(_languageSet ? Set::create(_languageSet.pack()) : con2Set(['en-gb']));
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
Старый 19.08.2011, 16:27   #6  
Ярослав Щекин is offline
Ярослав Щекин
Участник
 
78 / 174 (6) ++++++
Регистрация: 16.03.2009
А в Axapta 3.0 --- не работает. Интересно, в ней это вообще возможно сделать?
Старый 19.08.2011, 16:36   #7  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от Ярослав Щекин Посмотреть сообщение
А в Axapta 3.0 --- не работает. Интересно, в ней это вообще возможно сделать?
Как минимум можно сделать через стандартную форму экспорта, но это уже отдельная песня )
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
Теги
xpo, xpo editor, законченный пример, полезное, редактор

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Альтернативные конструкторы отчетов в Axapta Jox DAX: Программирование 22 25.04.2009 22:02
Просмотр отчетов Axapta через WEB OliaM DAX: Функционал 17 24.01.2005 23:46
Target - новый инструментарий формирования отчетов для Axapta?! OliaM DAX: Программирование 35 15.01.2005 11:09
Отчеты: стандартные средства Axapta или сторонние генераторы отчетов? ArturK DAX: Функционал 6 14.08.2003 13:54
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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