![]() |
#1 |
Участник
|
![]()
Как создать Realation для таблицы с помощью X++? Связь таблица - таблица, normal (по полю).
HELP! ![]() |
|
![]() |
#2 |
Юзовские
|
Поясни в репозитарии или в Query.
|
|
![]() |
#3 |
Участник
|
Поясняю в репозитарии
Если я правильно понял вопрос:
Я создаю две таблицы в АОТ, далее мне необходимо создать между ними связь по полю (т.е. в зависимой делаем связь: Relation [в нем: Normal] и соединяем два поля) - все! Таблицы связаны. Так вот вопрос, как это сделать средствами X++? Создать таблицу я могу при помощи treeNode, а связать не могу, связь как таковую treeNode создает, а ее параметры задать нельзя... ![]() |
|
![]() |
#4 |
Участник
|
Да, в репозитарии
Да, в репозитарии, в query я могу создать, есть пример
|
|
![]() |
#5 |
Юзовские
|
На сколько я знаю, такое делать не только не рекомендуется, но и нельзя. Да я, честно говоря и не могу представить ситуацию, где бы это могло понадобиться. Если есть необходимость динамически менять связи между таблицами (например для отчета), я использовал query.
|
|
![]() |
#6 |
Участник
|
Да в репозитарии
Столкнулись с проблемой, когда нужно создавать таблицы динамически, а какие таблицы без связей? Вот теперь голову ломаю
![]() |
|
![]() |
#7 |
Юзовские
|
Если такая проблема возникла, это говорит о том, что что-то не в порядке со структурой БД. Может попробовать как нибудь извратиться, свести проблему к созданию несколько таблиц, а потом вставлять в них записи?
|
|
![]() |
#8 |
NavAx
|
Цитата:
Если я правильно понял вопрос:
Я создаю две таблицы в АОТ, далее мне необходимо создать между ними связь по полю (т.е. в зависимой делаем связь: Relation [в нем: Normal] и соединяем два поля) - все! Таблицы связаны. Так вот вопрос, как это сделать средствами X++? Создать таблицу я могу при помощи treeNode, а связать не могу, связь как таковую treeNode создает, а ее параметры задать нельзя... ![]() Мы тоже сталкивались с необходимостью динамически создать из кода всего чего угодно ![]() Например при разработке конструктора отчётов. Не того который в Аксапте, в ГК, а универсального и более мощного. Вашу проблему можно решить двумя способами (лично я предпочитаю первый) : 1.) С помощью TreeNode. Вы создали таблицу Table. через treeNode можно выйти на Table\Relations Здесь TreeNode.add. Ну а потом пользуясь функцией TreeNode.setProperty и устанавливаете нужные свойства(Table, field и т.п.). 2.) С помощью экспорта-импорта. Можете воспользоваться функциями: PHP код:
PHP код:
__________________
С уважением, Игорь Ласийчук. |
|
![]() |
#9 |
Юзовские
|
Сомневаюсь, что такой фокус прокатит с Relation'сами
|
|
![]() |
#10 |
NavAx
|
Цитата:
Сомневаюсь, что такой фокус прокатит с Relation'сами
![]()
__________________
С уважением, Игорь Ласийчук. |
|
![]() |
#11 |
экс-модератор
|
ксатати, глюк есть небольшой в этих set / getTreeNodeProperty()
они, когда ищут свойство AllowEdit, натыкаются на AllowEditOnCreate надо заменить в обоих PHP код:
PHP код:
|
|
![]() |
#12 |
Lean Six Sigma
|
Извиняюсь, что немного не в тему, но никто не в курсе treeNode.AOTDrop() работает? Можно с помощью него новый узел в аоте создать?
|
|
![]() |
#13 |
экс-модератор
|
Ну, как минимум, его юзают в стандартном функционале.
См. \Classes\SysCompare |
|
![]() |
#14 |
Участник
|
создать relation не проблема. Вот проблема создать типы связей и их свойства. Кто нить может привести для 3-ки реальный живой пример который создает Relation на таблице с разными типами связей.
|
|
![]() |
#15 |
Участник
|
#define.NT_DBREFERENCE( 250)
#define.NT_DBNORMALREFERENCEFIELD( 251) #define.NT_DBTHISFIXEDREFERENCEFIELD( 252) #define.NT_DBEXTERNFIXEDREFERENCEFIELD( 253) я так понял значения из этой группы макросов как то нужно использовать |
|
|
|