02.06.2004, 10:48 | #1 |
Участник
|
AOTname
Доброго времени суток. Есть следующий код:
static void Job62(Args _args) { TreeNode treeNode = infolog.findNode('\\Forms'); ; treeNode = treeNode.AOTfirstChild(); while (treeNode) { if (! treeNode.AOTObjectNode()) continue; print "treeNodeName: " + treeNode.treeNodeName(); print "AOTName:" + treeNode.AOTName(); treeNode = treeNode.AOTnextSibling(); pause; } } В момент вызова treeNode.AOTName() axa вываливается с crash detection. Усли же таким же образом пролистывать ветку классов, то все нормально (\\Classes). Метод же treeNode.treeNodeName() работает нормально в обоихх случаях. Кто-нибудь с таким сталкивался и почему это происходит? Axapta 3.0 SP1 |
|
02.06.2004, 13:28 | #2 |
Участник
|
Это ошибка в кернеле, будет исправлена не ранее версии 4.0 или 3.0 SP4
Кроме того, лучше бегать по AOT с использованием итераторов. Например, так: PHP код:
|
|
|
За это сообщение автора поблагодарили: Logger (1). |
12.01.2006, 11:23 | #3 |
Участник
|
Через итератор при выборе форм аксапта все равно вылетает. Кто-нибудь знает как это можно обойти?
|
|
12.01.2006, 14:17 | #4 |
Участник
|
Если тебе нужен просто список всех существующих форм, то это можно получить примерно так:
select name from UtilIdElements group by name where UtilIdElements.recordType == utilElementType::Form Т.е. в AXAPTA есть служебная таблица UtilIdElements, которая содержит список вообще всех объектов на всех слоях (отсюда group by, чтобы убрать дубли) А вот если нужны еще какие-то реквизиты форм, то тут не знаю... |
|
16.01.2006, 15:56 | #5 |
Участник
|
Натыкался на такую проблему, пришлось пользоваться следующим методом treeNode.treeNodeName().
PHP код:
|
|
|
Похожие темы | ||||
Тема | Ответов | |||
Перечень пунктов меню и их свойств | 5 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|