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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.02.2013, 08:11   #1  
morza is offline
morza
Участник
 
18 / 10 (1) +
Регистрация: 13.02.2013
dictTable = new SysDictTable(tableName2Id('Address'));
if (dictTable)
{
for (i = 1; i <= dictTable.fieldCnt(); i++)
{
dictField = dictTable.fieldObject(dictTable.fieldCnt2Id(i));

if (!dictField.isSystem())
info (dictField.name());

вот я сделал через dicttable, но тут он берет ту таблицу которую мы ему напишем,а можно ли как то сделать,чтобы он брал таблицу из Grid'a,даже точнее из источника
Старый 15.02.2013, 08:16   #2  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
Аватар для pedrozzz
MCBMSS
Лучший по профессии 2015
 
164 / 218 (8) ++++++
Регистрация: 18.02.2010
Адрес: Краснодар
В вашем варианте не корректно будут выводиться поля-массивы (например набор фин. аналитик), более правильно будет так:
X++:
static void testFields(Args _args)
{
    InventTable                 inventTable;
    DictTable                   dt;
    SysDictField                df;
    SysDictField                dfExt;
    Counter                     idx;
    Counter                     arrayIdx;
    ;

    select firstonly inventTable;
    
    dt = new DictTable(tablenum(InventTable));

    for (idx = 1; idx <= dt.fieldCnt(); idx++)
    {
        df = new SysDictField(dt.id(), dt.fieldCnt2Id(idx));

        if (df.isSql())
        {
            for (arrayIdx = 1; arrayIdx <= df.arraySize(); arrayIdx++)
            {
                dfExt = new SysDictField(dt.id(), df.id(), arrayIdx);

                info(strFmt("%1: %2", dfExt.label(), inventTable.(dfExt.id())));
            }
        }
    }
}
Насчет передачи таблицы из грида, если используете для кнопки MenuItem смотрите его свойство DataSource и класс Args, на что-то подобное уже отвечал тут
__________________
Кононов Пётр
За это сообщение автора поблагодарили: morza (1).
Старый 15.02.2013, 08:24   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,444 / 1781 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от morza Посмотреть сообщение
тут он берет ту таблицу которую мы ему напишем,а можно ли как то сделать,чтобы он брал таблицу из Grid'a,даже точнее из источника
X++:
dt = new DictTable(FormDataSource.table())
За это сообщение автора поблагодарили: morza (1).
Старый 15.02.2013, 08:32   #4  
morza is offline
morza
Участник
 
18 / 10 (1) +
Регистрация: 13.02.2013
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
X++:
dt = new DictTable(FormDataSource.table())
почему он пишет нет такого поля?
Старый 15.02.2013, 08:48   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,444 / 1781 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от morza Посмотреть сообщение
почему он пишет нет такого поля?
Вы вместо FormDataSource поставили имя своего датасурса?
Старый 15.02.2013, 09:15   #6  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
648 / 352 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Цитата:
Сообщение от morza Посмотреть сообщение
dictTable = new SysDictTable(tableName2Id('Address'));
if (dictTable)
{
for (i = 1; i <= dictTable.fieldCnt(); i++)
{
dictField = dictTable.fieldObject(dictTable.fieldCnt2Id(i));

if (!dictField.isSystem())
info (dictField.name());

вот я сделал через dicttable, но тут он берет ту таблицу которую мы ему напишем,а можно ли как то сделать,чтобы он брал таблицу из Grid'a,даже точнее из источника
вместо tableName2Id('Address') используйте tablenum(Address). Если нужна таблица датасорса, пишите Address_ds.table()
__________________
// no comments
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Помогите!!!!!Обработка вх.НДС в SP4 lila DAX: Функционал 4 15.02.2006 16:41
Помогите пожалуйста с запросом... velk DAX: Программирование 18 20.10.2004 08:44
Пожалуйста, помогите с запросом chel DAX: Программирование 19 12.07.2004 11:53
Помогите пожалуйста! dunno DAX: Функционал 16 23.02.2004 16:56
Помогите аргументировать выбор Axapta пожалуйста... Die MC DAX: Прочие вопросы 48 16.01.2004 20:04

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

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

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