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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.12.2003, 16:07   #1  
a.kopytin is offline
a.kopytin
Участник
 
11 / 10 (1) +
Регистрация: 06.11.2003
Создание таблицы в X++
Уважаемые гуру!
Возникла необходимость создать несколько таблиц прямо из кода. Пожалуйста, научите!
Просто покажите пример создания таблицы NewBornTable с одним полем BirthDate типа TransDate.

спасибо,
Антон
Старый 03.12.2003, 16:36   #2  
Tony Green is offline
Tony Green
Участник
Аватар для Tony Green
 
184 / 25 (1) +++
Регистрация: 08.10.2002
Адрес: Москва
Как-то это не здорово... А какая задача вызвала такую необходимость?
__________________
С уважением,
Tony Green
Старый 03.12.2003, 18:38   #3  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
PHP код:
static void Job3(Args _args)
{
    
TreeNode    tablesRoot;
    
TreeNode    newTable;
    
AOTTableFieldList   newTableFields;
    
TreeNode    tableField;
    
int         edtPos;
    
str         properties;
;
    
tablesRoot TreeNode::findNode("\\Data Dictionary\\Tables");

    if (
tablesRoot) {
        
tablesRoot.AOTadd("NewBornTable");
        
newTable tablesRoot.AOTfindChild("NewBornTable");
        
        
newTableFields newTable.AOTfindChild("Fields");
        
newTableFields.addDate("BirthDate");
        
        
tableField newTableFields.AOTfindChild("BirthDate");
        
properties tableField.AOTgetProperties();

        
// Дальше надо крутиться с properties, чтобы выставить EDT TransDate
        // ..

        
tableField.AOTsetProperties(properties);
        
newTable.AOTsave();
    }

В любом случае, лучше обойтись без этого.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 03.12.2003, 19:51   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Изначально опубликовано Maxim Gorbunov
В любом случае, лучше обойтись без этого.
Однозначно!
Старый 04.12.2003, 15:29   #5  
DMA is offline
DMA
Участник
 
109 / 19 (1) ++
Регистрация: 30.09.2003
Программное создание таблиц
С трудом представляю себе задачу, которая будет решаться подобным образом.
Поделитесь идеей !

Кроме подхода, описанного выше, можно также программно генерировать файл экспорта, с описаниями всех создаваемых таблиц и потом его импортировать - синхронизация пройдет автоматически при импорте.
Старый 04.12.2003, 16:00   #6  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
Пожалуйста
Если использовать стандартный автоотчёт, то при довольно разветвлённой структуре запроса он будет работать очень медленно. Да и ограничений у него немало.

Нужно создать подобную вещь, с помощью которой можно конструировать отчёт подобным образом, сохранять его. Он должен работать приемлимо быстро, т.е. писать запросы к базе напрямую.
Нужно чтобы консультанты без программирования могли создаватть произвольные отчёты
Как оказалось в ходе разработки здесь очень нужно динамическое создание таблиц.


Согласен, что задачка извращённая, зато интересная
__________________
С уважением, Игорь Ласийчук.
Старый 04.12.2003, 16:08   #7  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Не понял, а дизайнер отчетов чем плох? И зачем создавать таблицы, когда делаются отчеты?
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 04.12.2003, 16:58   #8  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
Точно не могу сказать - я в этой задаче практически не учавствовал.
Это rumpleteaser (Паша) делал.
__________________
С уважением, Игорь Ласийчук.
Старый 05.12.2003, 23:19   #9  
a.kopytin is offline
a.kopytin
Участник
 
11 / 10 (1) +
Регистрация: 06.11.2003
Максиму Горбунову :

Спасибо за код! Честно говоря, я как раз надеялся узнать, как можно цивилизованно эти properties обработать. Не случайно привел пример с EDT. Не то чтобы лениво было писать небольшой метод разбора строки с хешами, но не может быть, чтобы такого функционала не было. С другой стороны понятно, что при импорте, единственной штатной задаче, этого разбора не требуется ибо строка со свойствами может передаваться и подхватываться целиком.


2 DMA :

A задача может быть такая:
перекинуть из одной логики в другую голые таблицы, без методов или только со статическими (типа find, exist), взятых с одного из слоев (скажем, var).

Оч. благодарен за идею с генерацией файла импорта. Гениально, т.к. просто, надежно и эффективно. По большому счету, такой подход более для решения задачи даже больше подходит.


2 Mazzy & Tony Green:

Почему нет? Есть какие-то объективные причины опасаться?


Еще раз спасибо всем!
Антон
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Пересоздание таблицы при синхронизации Serg16 DAX: Администрирование 1 26.08.2009 13:55
aEremenko: Создание сервера отчетности Blog bot DAX Blogs 3 06.07.2007 14:47
Создание объекта таблицы по ее имени demon46 DAX: Программирование 21 13.09.2006 16:17
Програмное создание таблицы Silence DAX: Программирование 4 29.12.2005 11:38
Получение из поля Map кода поля реальной таблицы, к ней привязанной (Mappings) vey DAX: Функционал 5 16.03.2005 11:16

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

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

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