|
![]() |
#1 |
Участник
|
Во вложенном файле --- новая версия AxRepEditor.
Изменения: . Исправлена ошибка: Fontsize control'а не наследовался из его секции. . Исправлена ошибка: свойства активного control'а не обновлялись после 'align as table'. . Выделение control-ов перенесено с Shift-Click на CTRL-Click. . Добавлено: при нажатии ALT во время перемещения активного control-а перемещение происходит только по вертикали или по горизонтали от исходного положения. To Link: Вы не пробовали реализовать автоэкспорт отчета и вызов утилиты с параметром пути к файлу? To All: Вы не заметили каких-либо ошибок? Кто-нибудь попробовал работу с другими версиями Axapta? Последний раз редактировалось Ярослав Щекин; 18.08.2011 в 14:20. |
|
![]() |
#2 |
Сам.AX
|
Для четверочных отчетов у меня не заработало...
__________________
ѣ |
|
![]() |
#3 |
Участник
|
Так и пишет --- не работаю?
![]() Вы не могли бы выложить какой-нибудь (небольшой) отчёт из четвёрки? |
|
![]() |
#4 |
Участник
|
__________________
С уважением, Алексей. |
|
![]() |
#5 |
Участник
|
Пожалуйста, выложите отчёт (любой из отчётов), в котором происходит ошибка.
|
|
![]() |
#6 |
Сам.AX
|
Цитата:
invalid key "Thickness" for node "26"
invalid key "Thickness" for node "26" while executing "mytree get $sectnode Thickness" (procedure "CreateCanvasSection" line 17) invoked from within "CreateCanvasSection $cv $sectnode" invoked from within "mytree walk root -order both {cact cnode} { set NType [mytree get $cnode NODE_TYPE] if {$cact eq "enter"} { if {$NType in $G_SectionTyp..." (procedure "Tree2Canvas" line 6) invoked from within "Tree2Canvas $::G_Canvas" (procedure "C_LoadFile" line 9) invoked from within "C_LoadFile" (menu invoke)
__________________
ѣ |
|
![]() |
#7 |
Участник
|
Спасибо всем за присланные отчёты.
Выкладываю новую версию. Для загрузки отчётов Ax 4.0/5.0 нужно перед загрузкой в "File encoding" выбрать "utf-8". Тем не менее, отчёт из Report_InventTransferShip.xpo выглядит странно, наверное, в алгоритм автоматического размещения control-ов в Axapta 4.0 внесены какие-то изменения. Также необходимо проверить, будут ли загружаться отредактированные отчёты в Axapta (не забудьте сделать backup загружаемого отчёта). Последний раз редактировалось Ярослав Щекин; 01.09.2011 в 19:52. |
|
![]() |
#8 |
Участник
|
В 5.0 тоже не вышло.
__________________
С уважением, Алексей. |
|
![]() |
#9 |
Британский учённый
|
Цитата:
Реализовано через SysContextMenu, так же есть кнопочка для Табакса.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
|
За это сообщение автора поблагодарили: S.Kuskov (4), Ярослав Щекин (1). |
![]() |
#10 |
Участник
|
Спасибо. Но, когда я пытался адаптировать этот проект под свою Axapta 3.0, то выяснил, что отчёт экспортируется без меток (вызовом treeNodeExport). Вы не знаете, каким образом заставить Axapta экспортировать их?
|
|
![]() |
#11 |
Британский учённый
|
Цитата:
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. Ну а программистов будить нельзя вообще. |
|
![]() |
#12 |
Участник
|
Нет, метки всё равно не экспортируются.
|
|
![]() |
#13 |
Британский учённый
|
Проверил в 2009 - работает. Только нужно изменить код в \Classes\SysImportLabel\label2Xml для нужного языка иначе будет ошибка.
X++: setIterator = new SetIterator(_languageSet ? Set::create(_languageSet.pack()) : con2Set(['en-gb']));
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
![]() |
#14 |
Участник
|
А в Axapta 3.0 --- не работает. Интересно, в ней это вообще возможно сделать?
|
|
Теги |
xpo, xpo editor, законченный пример, полезное, редактор |
|
|