|
27.06.2007, 15:40 | #1 |
Участник
|
MorphXplorer
Может кто нибудь уже переделывал форму VisualExplorer. Хочется чтоб накидал таблицы. Ну кнопочка какая нибудь была "Создать связи". Сейчас таблицы перетаскиванием добавляются, но сязи по ним не создаются. А когда правой кнопкой связи делаешь, то создаются. Есть класс VisualExplorer в нём метод createLink, который создаёт связи. Пытаюсь найти способ перебрать узлы на схеме и ищу метод который бы определил есть ли между ними вообще связи.. Может кто-то уже возился.
|
|
27.06.2007, 15:45 | #2 |
Участник
|
|
|
27.06.2007, 15:52 | #3 |
Banned
|
Цитата:
Сообщение от miklenew
Может кто нибудь уже переделывал форму VisualExplorer. Хочется чтоб накидал таблицы. Ну кнопочка какая нибудь была "Создать связи". Сейчас таблицы перетаскиванием добавляются, но сязи по ним не создаются. А когда правой кнопкой связи делаешь, то создаются. Есть класс VisualExplorer в нём метод createLink, который создаёт связи. Пытаюсь найти способ перебрать узлы на схеме и ищу метод который бы определил есть ли между ними вообще связи.. Может кто-то уже возился.
|
|
27.06.2007, 15:55 | #4 |
Участник
|
|
|
27.06.2007, 15:56 | #5 |
Banned
|
Изучать БД можно и в четвертой версии, модель данных не менялась. А получить демо-версию 4.0 не составляет труда.
|
|
27.06.2007, 16:09 | #6 |
Участник
|
|
|
27.06.2007, 16:12 | #7 |
Участник
|
Очень даже имеет смысл.
Основная схема данных не изменилась, сильно изменился механизм рисования (вместо MorphXplorer в 4ке Reverse Engineering). Если человек разберется как рисуются связи, есть шанс, что он разберется, как эти связи вообще образуются в Аксапте. В общем, не согласен. В демоверсии средства разработки выключены. |
|
27.06.2007, 16:38 | #8 |
Участник
|
На второй вопрос нашёл ответ класс VeTableNode метод buildPopupMenu(). Два первых while. Найти бы ещё как по всем узлам на палитре пробежать.
|
|
27.06.2007, 17:47 | #9 |
Участник
|
На самом деле поддерживаю EVGL в этом вопросе.
Между таблицами там связей может быть дюжинами. И что, вы хотите все их отобразить сразу?? ИМХО, безсмысленное занятие. Разве что в целях изучения. Но и в этом случае, эта функциональность последняя, что я бы изучал |
|
28.06.2007, 08:34 | #10 |
Участник
|
Сделал.
Накидываете таблицы из репозитария перетаскиванием. Кликаете в свободном месте. Выбираем последний пункт "Проставить связи таблиц". И счастье. Да и дополнение, мож кому пригодиться: Если связь стоит +. То соединение по relation таблиц. За плюсом имя relation. Если связь по расширенному типу, то просто имя поля в таблице в которую данные идут. Т.е. например таблица InventDim и InventJournalTrans, связь по полю ToInventDimId в таблице InventJournalTrans. Конечно лучше если бы ещё писался расширенный тип под полем. Очень хочется чтоб связи тоже можно было выделить и удалять, как таблицы. Но чёто упёрся. Связь создается через DLLFunction _createLink. А узел через DLLFunction _createNode в классе xVarChart. Вроде не должно ведь быть, что люди делали две похожие dll и в одной предусмотрено выделение, а в другой нет. Мож кто знает что такое ExtTypes. И для чего он здесь используется X++: _createNode = new DLLFunction(_DLL,'vcCreateNode'); _createNode.returns(ExtTypes::DWORD); _createNode.arg(ExtTypes::DWORD); _createNode.arg(ExtTypes::DWORD); _createNode.arg(ExtTypes::DWORD); _createNode.arg(ExtTypes::POINTER); Последний раз редактировалось miklenew; 28.06.2007 в 11:08. |
|
|
За это сообщение автора поблагодарили: mazzy (5). |
28.06.2007, 11:10 | #11 |
Участник
|
Во немного ещё переделал. Обновил присоединённый файл. Теперь если правой кнопкой щёлкнуть на связи, её можно удалить.
|
|
|
За это сообщение автора поблагодарили: 3oppo (1). |
29.06.2007, 07:18 | #12 |
Участник
|
Мне Понравилось!
В VisualExplorer если название таблицы больше 23 символов окончание не влазит. Это очень не удобно, но это лечится. Подсказал AndyD. Класс VisualExplorer, метод Init(). Для таблиц увеличьте значение в одном из параметров X++: vc.setFieldAttr(tableFmtHdl, 'f', #VC_MIN_FIELD_WIDTH, 3000->5000); X++: classFmtHdl = vc.createFmt(vc.chart(), #VC_NODE_FMT); /*добавить*/ vc.setFieldAttr(classFmtHdl, 'a', #VC_MIN_FIELD_WIDTH, 5000); __________________ Добавьте в свой проектик, полезно (ИМХО).
__________________
PS. Сложно приехать в Москву, но ещё сложнее уехать отсюда. |
|
Теги |
morphx, relation, таблица, ax3.0 |
|
Похожие темы | ||||
Тема | Ответов | |||
MorphXplorer - имя больше 25 символов не влазит! | 2 | |||
Использование MorphXplorer | 2 | |||
MorphXplorer не могу найти | 6 | |||
Вопрос про MorphXplorer | 1 | |||
Шрифт при печати из MorphXplorer | 0 |
|