|
04.12.2024, 10:51 | #1 |
Участник
|
Как искать элементы в Projects\Shared из кода
Всем привет.
Подскажите вот что: Допустим есть проект, расположенный по пути \Projects\Shared\MyProject В коде пишу так: X++: path = @"\Projects\Shared\MyProject";
TreeNode::findNode(path); У кого-нибудь есть примеры как искать такие узлы через код? Последний раз редактировалось oleggy; 04.12.2024 в 10:55. |
|
04.12.2024, 11:03 | #2 |
Участник
|
Посмотрите, был метод на SysTreenode и на Info
|
|
04.12.2024, 14:06 | #3 |
Участник
|
\Classes\SysTreeNode\getSharedProject
\Classes\SysTreeNode\getPrivateProject для них уже искать дочерний по имени |
|
06.12.2024, 23:13 | #4 |
Участник
|
Как предположение, поскольку не все видно
1. переменная path слишком короткая. Например, длиной 10 символов. И часть пути отбрасывается 2. Использовали в константе русские буквы, похожие на латинские. Этого можно избежать, используя функцию identifierStr() Кроме того, есть макрос с именем AOT, в котором записаны все стандартные пути доступа. Поэтому можно так X++: str path; TreeNode node; #AOT path = #ProjectSharedPath + '\\' + identifierStr(MyProject); node = TreeNode::findNode(path); if (!node) { info('error'); } else { info(node.AOTname()); } Внутри identifierStr() имя объекта пишется без кавычек
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
10.12.2024, 09:41 | #5 |
Участник
|
|
|
11.12.2024, 11:44 | #6 |
Участник
|
Цитата:
PS: Поиск узлов AOT - стандартная задача с самых первых версий Axapta. Ошибки могут быть связаны только с тем, что указали не существующий путь доступа или не существующий объект
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
10.12.2024, 13:04 | #7 |
Участник
|
А так ?
X++: treeNode = SysTreeNode::getSharedProject().AOTfindChild("MyProject"); |
|
|
|