03.03.2004, 18:05 | #1 |
Участник
|
Создание EDT в X++
Необходимо создать ExtendedDataType в X++ (программно). Чего-то не получается через treeNode.AOTadd (по аналогии с созданием таблиц или меню-итемов), например:
static void Job1(Args _args) { TreeNode rootEDTNode; TreeNode treeNode; ; rootEDTNode = treeNode::findNode("\\Data Dictionary\\Extended Data Types"); rootEDTNode.AOTadd('AAA_NewEDT'); treeNode = rootEDTNode.AOTfindChild('AAA_NewEDT'); treeNode.AOTsave(); } Не создает (объект treeNode не инициализируется)! Есть мысли, что не создает потому, что EDT могут быть разных типов (Strind, Date, ...), и системе не понятно, какой тип создавать. Кроме того, не нашел в системных и обычных классах класса-потомка от TreeNode, который отвечал бы за EDT. Как же создать EDT программно? |
|
03.03.2004, 19:13 | #2 |
Участник
|
Можно создать файл, аналогичный получающемуся при экспорте объекта, затем его импортировать. Не самый красивый способ, зато работает
|
|
04.03.2004, 15:17 | #3 |
Участник
|
Искал, как все таки создать EDT в Х++, решения не нашел, но вот то, с чем столкнулся
Ощущение, когда нашел было такое, что кто то решил пошутить, и скопировал с TechNet текущие вопрос и ответ Вопрос: How to add a new EDT by x++? Adding Extended Data Types to the AOT-tree does not work in quite the same way as adding e.g. Tables. How to specify the Extended Data Type to be a string or an integer etc.? Is it a tree-node level or a property? Thanks in advance… Anders Warncke HOB Business Software __________________________ Ответ: Export, replace and import How about exporting it to a xpo file, replace the name the right places in the file with TextBuffer and then import it? I don't think there's any other ways to do it. Regards, Lars PS Таки, никто и не знает как это сделать? Вроде как надо AOTSetProperties делать, но у меня пока не получается( |
|
04.03.2004, 16:09 | #4 |
Участник
|
Через экспорт/импорт - реальная идея (обязательно попробую). Спасибо! Хотя и кривоватая, конечно, по-своему.
Еще есть мысль: в UtilElements добавить из X++ запись для нового EDT, но, во-первых, не знаю как Id объекта инициализировать, а, во-вторых, опасная это вещь будет, наверное. |
|
30.04.2004, 12:40 | #5 |
Участник
|
Я еще попробовал
1. dictionary 2. AOTinsert - создает новую веточку едт, но дублирующую уже имеющийся тип ( Безуспешно. Еще идеи? |
|
30.04.2004, 12:53 | #6 |
Участник
|
Не ясно мне только одно: на кой все это извращение нужно?
Или это чисто спортивный интерес? |
|
30.04.2004, 13:08 | #7 |
Участник
|
Некоторые люди думают не только о себе...
и о клиенте... но еще и о других людях, подобных себе. Так вот. Наверно не только у меня возникла мысль автоматизировать некоторые операции по программированию в Ахарте. Ну что-то типа Мастера Мастеров :)) Что-то серьезное без создания своего расширенного типа данных сделать невозможно. Все объекты АОТа создаются влет! Легко и просто. А вот с ЕДТ - облом. Нет нигде в исходниках. Нет нигде в хелпах. Нет нигде на форумах. Технет молчит как партизан. Даже проекты! Проекты, которые отдельно стоят от АОТа, создаются легко и просто. Но не ЕДТ. |
|
05.05.2004, 14:15 | #8 |
Участник
|
Кстати...
Та же беда и с Relation-ами на расширенном типе данных. :( |
|
14.10.2005, 13:27 | #9 |
Участник
|
у кого-нибудь получилось создать EDT, ща пробую - ну никак не хочет создаваться
|
|
14.10.2005, 13:48 | #10 |
Участник
|
|
|
Теги |
edt, x++ |
|
|