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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.12.2002, 13:42   #1  
renat is offline
renat
Участник
Аватар для renat
 
142 / 12 (1) ++
Регистрация: 14.10.2002
ОПИСАНИЕ ТАБЛИЦ AXAPTA
Кто - нибудь знает в каких таблицах хранятся описание словаря AXAPTA?

я нашел таблицу SQLdictionary

А ЕЩЕ ХОТЕЛОСЬ БЫ найти русские описания таблиц и полей Они наверняка спрятаны в какой-то другой таблице...

Подскажите кто знает
Старый 11.12.2002, 13:55   #2  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Приложение
Приложения Аксапта хранятся в AX???.AOD, где ??? - название слоя (sys, dis и т.п.)
Вся стркутра и описания есть только там
Старый 11.12.2002, 15:29   #3  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
Русские описания таблиц и полей можно получить из DictTable, DictField - метод label
__________________
С уважением, Игорь Ласийчук.
Старый 15.12.2002, 05:31   #4  
renat is offline
renat
Участник
Аватар для renat
 
142 / 12 (1) ++
Регистрация: 14.10.2002
Что такое DictTable и DictField ?
Что это такое - это не таблицы.... (таких бблиц я не нашел)

А чем открывать файлы AXSYS.AOD и т.п. (если в них все храниться?)
Старый 15.12.2002, 08:52   #5  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Что это такое - это не таблицы.... (таких бблиц я не нашел)
Это классы, находятся здесь: АОТ-> SystemDocumentation->Classes

Цитата:
А чем открывать файлы AXSYS.AOD и т.п. (если в них все храниться?)
Аксаптой На самом деле эти файлы открывать никчем не надо. Вы работаете с АОТ, а Аксапта заботится о содержимом этих файлов.
Старый 15.12.2002, 09:27   #6  
renat is offline
renat
Участник
Аватар для renat
 
142 / 12 (1) ++
Регистрация: 14.10.2002
Пример использования DictTable DictField
Если можно пример ???

Вообще где можно найти разные примеры работы с MorphX и X++ ?

Хотелось бы научиться чему-нибудь полезному...
Старый 15.12.2002, 09:36   #7  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
Пример:

PHP код:
DictTable dictTable = new DictTable(tablenum(InventTable));
DictField dictField = new DictField(fieldnum(InventTable,ItemId));
;
box::info(dictTable.label());   // Русское название таблицы
box::info(dictField.lable());    // Русское название поля номенклатуры 
Примеры работы с X++ можно найти в AOT или здесь на форуме.
__________________
С уважением, Игорь Ласийчук.
Старый 15.12.2002, 11:14   #8  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Может немножко не в тему.

Есть такой тип данных Common. По идее, это предок всех таблиц. Кроме того, если его использовать, можно получить некоторые пряники. Как то, например, обращение к полю таблицы по его номеру. Пример можно посмотреть в \Classes\CCPrimaryKey::renamePrimaryKey. Вот отрывок оттуда:
PHP код:
Common    Common
...
while 
select forupdate KMAction
            index hint ConnectionTypeDateIdx
            where KMAction
.kmConnectionTypeId == KMConnectionType.kmConnectionTypeId
            
&&    KMAction.connection       == Common.(fieldId
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 15.12.2002, 11:40   #9  
renat is offline
renat
Участник
Аватар для renat
 
142 / 12 (1) ++
Регистрация: 14.10.2002
А можно так получить список всех таблиц и полей?
TABLE 1 - название
Filed 1.1 - название
Field 1.2 - название
.........

TABLE N - название
Filed N.1 - название
Field N.2 - название
Старый 15.12.2002, 11:47   #10  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Посмотри АОТ-> System Documentation -> Classes -> TreeNode

Там внизу есть пример - пишет название всех форм. Тебе маленько переделать и будет то, что тебе нужно.
Если не справишься, то когда будет побольше времени помогу
Старый 15.12.2002, 11:48   #11  
Andrew Besedin is offline
Andrew Besedin
Участник
 
121 / 15 (1) ++
Регистрация: 25.01.2002
2Renat:
А не проще ль Сервис/Разработка/Table Definitions(Extended)
Он же отчет SysTableApplCheck.
__________________
С уважением,
Андрей Беседин
Старый 15.12.2002, 11:57   #12  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Изначально опубликовано Андре
Посмотри АОТ-> System Documentation -> Classes -> TreeNode
Цитата:
Изначально опубликовано Andrew Besedin
отчет SysTableApplCheck
Два принципиально разных варианта. Между тем, оба имеют право на жизнь. Что использовать - решать вам.

TreeNode работает с описанием таблиц в файлах AOD.
В SysTableApplCheck фактически выполняется запрос к таблице UtilElements. Оттуда вытаскивают названия таблиц. А затем с помощью классов Dict* - описания полей.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 15.12.2002, 12:03   #13  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Кстати, по поводу принципиальной разницы был не совсем прав. В упомянутом отчете используют как одно, так и другое. Dict* классы используют для получения информации о полях, а TreeNode - для получения информации о Relation'ах (интересно, к чему бы это, при живом классе DictRelation-то?)
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 15.12.2002, 12:47   #14  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
Мы недавно переходили на новую структуру. По этому поводу был разработан некий АРМ.
Вот его урезанная версия. Полную нет времени приводить в "экспортный вид".
Если интересно - можете просмотреть что откуда можно брать. В частности закладка "поля таблицы" - то что вас интересовало.

PS. Может что забыл залить - обращайтесь.
PPS. Осторожней с нажиманиями на кнопочки - можно "слегка" данные попортить.
Вложения
Тип файла: xpo hb_structuresetuplights.xpo (637.8 Кб, 338 просмотров)
__________________
С уважением, Игорь Ласийчук.
Старый 16.12.2002, 09:05   #15  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
PS. Может что забыл залить - обращайтесь.
На самом деле форма не запускается, так как не хватает кучи EDT. Но все равно спасибо, было интересно взглянуть.


Цитата:
TABLE 1 - название
Filed 1.1 - название
Field 1.2 - название
Попробую подвести какую-то черту.

Вот вариант с TreeNode:

PHP код:
static void printTablesAndFields(Args _args)
{
  
treeNode treeNode;
  
treeNode fieldNode;
  
xInfo xInfo = new xInfo();
  ;
  
treeNode xInfo.rootNode();
  
treeNode treeNode.AOTfindChild("Data Dictionary");
  
treeNode treeNode.AOTfindChild("Tables");
  
treeNode treeNode.AOTfirstChild();
  while (
treeNode)
  {
    print 
treeNode.TreeNodeName();

    
fieldNode treeNode.findChild("Fields");
    
fieldNode fieldNode.firstChild();

    while (
fieldNode)
    {
       print 
"    " fieldNode.treeNodeName();
       
fieldNode fieldNode.nextSibling();
    }

    
treeNode treeNode.nextSibling();
  }

Вот вариант с DictTable:

PHP код:
static void printTablesAndFields2(Args _args)
{
    
Dictionary      dictionary      = new Dictionary();
    
TableId         refTableId;
    
FieldId         refFieldId;
    
DictTable       dictTable;
    
DictField       dictField;
    
int             ij;
    ;
    
startLengthyOperation();

    for (
i=1i<= dictionary.tableCnt(); i++)
    {
        
refTableId   dictionary.tableCnt2Id(i);
        
dictTable = new DictTable(refTableId);
        print 
dictTable.name();

        for (
j=1j<= dictTable.fieldCnt(); j++)
        {
           
refFieldId dictTable.fieldCnt2Id(j);
           
dictField = new DictField(refTableIdrefFieldId);
           print 
"    " dictField.name();
        }
    }

За это сообщение автора поблагодарили: aidsua (1), Aquarius (1).
Старый 27.01.2015, 15:27   #16  
Морковка is offline
Морковка
Участник
 
71 / 10 (1) +
Регистрация: 12.10.2014
из прочитанного выше самый доступный способ увидеть название таблицы на русском и ее полей это отчет "Сервис/Разработка/Table Definitions(Extended)
Он же отчет SysTableApplCheck
." ? ... а Как найти такой вот отчет в последней версии аксапты?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Структура таблиц axapta velk DAX: База знаний и проекты 46 27.07.2009 07:56
описание таблиц в Axapta 3.0 gyvenor DAX: Программирование 24 11.12.2006 14:40
Мастер таблиц (Axapta Table Wizard) vic_z DAX: База знаний и проекты 0 15.12.2005 18:23
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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