AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.04.2003, 16:19   #10  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
Цитата:
Если я правильно понял вопрос:
Я создаю две таблицы в АОТ, далее мне необходимо создать между ними связь по полю (т.е. в зависимой делаем связь: Relation [в нем: Normal] и соединяем два поля) - все! Таблицы связаны. Так вот вопрос, как это сделать средствами X++? Создать таблицу я могу при помощи treeNode, а связать не могу, связь как таковую treeNode создает, а ее параметры задать нельзя...
Бывает
Мы тоже сталкивались с необходимостью динамически создать из кода всего чего угодно
Например при разработке конструктора отчётов. Не того который в Аксапте, в ГК, а
универсального и более мощного.
Вашу проблему можно решить двумя способами (лично я предпочитаю первый) :
1.) С помощью TreeNode.
Вы создали таблицу Table.
через treeNode можно выйти на Table\Relations
Здесь TreeNode.add.
Ну а потом пользуясь функцией TreeNode.setProperty и устанавливаете нужные свойства(Table, field и т.п.).

2.) С помощью экспорта-импорта.

Можете воспользоваться функциями:

PHP код:
//Описание: Установка свойства объекта репозитария
//
//Параметры: _tn            - изменяемый объект TreeNode
//           _sPropertyName - название свойства
//           _sPropertyValue - новое значение свойства


static void setTreeNodeProperty(TreeNode _tnstr _sPropertyNamestr _sPropertyValue)
{
    
str sValue;
    
str sProperties _tn.AOTgetProperties();
    
int iPropertyBegin;
    
int iValueBegin;
    
int iValueEnd;

    
//начало свойства
    
iPropertyBegin strscan(sProperties_sPropertyName,1strlen(sProperties) );
    
//начало значения свойства
    
iValueBegin =  strscan(sProperties,"#",iPropertyBegin,strlen(sProperties) );

    
iValueEnd strscan(sProperties,"\n",iValueBegin,strlen(sProperties));

    
sValue substr(sProperties,1,iValueBegin);
    
sValue +=_sPropertyValue;
    
sValue += substr(sProperties,iValueEnd,strlen(sProperties));

    
_tn.AOTsetProperties(sValue);

PHP код:
//Описание:  Получение свойства объекта репозитария
//
//Параметры: _tn            - объект TreeNode
//           _sPropertyName - название свойства

static str getTreeNodeProperty(TreeNode _tnstr _sPropertyName)
{
    
str sValue;
    
str sProperties _tn.AOTgetProperties();
    
int iPropertyBegin;
    
int iValueBegin;
    
int iValueEnd;


    
//начало свойства
    
iPropertyBegin strscan(sProperties_sPropertyName,1strlen(sProperties) );
    
//начало значения свойства
    
iValueBegin =  strscan(sProperties,"#",iPropertyBegin,strlen(sProperties) );

    
iValueEnd strscan(sProperties,"\n",iValueBegin,strlen(sProperties));

    
sValue substr(sProperties,iValueBegin+1,iValueEnd-iValueBegin-1);
    return 
sValue;

__________________
С уважением, Игорь Ласийчук.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Пересоздание таблицы при синхронизации Serg16 DAX: Администрирование 1 26.08.2009 13:55
Вставка строк в таблицы Аксапты сторонними средствами Андре DAX: База знаний и проекты 1 07.05.2009 16:49
Получение из поля Map кода поля реальной таблицы, к ней привязанной (Mappings) vey DAX: Функционал 5 16.03.2005 11:16
Две таблицы - один grid!? Kengo DAX: Программирование 3 01.11.2004 15:01
Как решить проблему с правами на вновь создаваемые записи таблицы. AY DAX: Прочие вопросы 4 02.10.2003 12:44

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 04:49.