|
15.02.2017, 14:47 | #1 |
Участник
|
Вызов статического метода, зная UtilElementType, имя объекта и имя метода
Добрый день!
Можно ли выполнить статический метод, зная UtilElementType объекта (например, UtilElementType::Table или UtilElementType::Class), имя этого объекта и имя нужного статического метода? не предлагать SysDictClass и SysDictTable - варианты не годятся. SysDictMethod подходит по смыслу, но метод из него вызвать видимо нельзя буду благодарен за любую наводку |
|
15.02.2017, 15:21 | #2 |
Участник
|
Почему не годятся?
Посмотрите как работает RunBase.getDescription(). DictClass.callStatic DictTable.callStatic
__________________
// no comments |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
15.02.2017, 15:30 | #3 |
Участник
|
это олимпиадные задачи? )
метод callStatic существует в Аксапте в 5 классах - DictClass, DictTable, DictView, SysDictClass, SysDictTable. штатно вызвать только через них. можно конечно извратиться, достать текст метода при помощи treeNode и выполнить через runbuf. Но зачем это? можете объяснить почему вам штатные классы не годятся? |
|
15.02.2017, 16:01 | #4 |
Участник
|
Метод класса еще можно вызвать через
X++: runas (....) X++: new RunAsPermission(runAsUser).assert(); // BP deviation documented result = runas(runAsUser, _classId, _staticMethodName, _args, _company); CodeAccessPermission::revertAssert();
__________________
-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. Последний раз редактировалось Pustik; 15.02.2017 в 16:10. |
|
|
За это сообщение автора поблагодарили: mazzy (5), Ace of Database (3), dech (3). |
15.02.2017, 15:56 | #5 |
Участник
|
SysDictTable, SysDictClass являются наследниками DictTable и DictClass. По сему 5 классов сужаются до 3.
Также можно снаружи вызвать на C# через AxSession.AxaptaAdapter
__________________
// no comments |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
16.02.2017, 06:22 | #6 |
Участник
|
я походил-подумал, в принципе мне сгодится вариант с SysDictClass и SysDictTable, не буду мудрить, а то получится как в "хотел как лучше, а получилось как всегда"
|
|