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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.03.2005, 13:07   #1  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
? Каким образом можно получить значение поля, зная fieldId?
Пожалуйста подскажите, поиск, увы, ничего не дал. И если это нельзя сделать в пару строк, то хотя бы в каком направлении двигаться?
Старый 14.03.2005, 13:14   #2  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Из query, select или просто зная табличную переменную?

Поищите по common.

С Уважением,
Георгий.
Старый 14.03.2005, 13:24   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Недо знать таблицу.

PHP код:
MyTable myTable;
MyFieldID myFieldID smartFieldIDBuilder();

print 
myTable.(myFieldID); 
Старый 14.03.2005, 13:33   #4  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Да можно и не знать

PHP код:
    Common  record;
    
fieldId     fieldId;
    ;
    
record CustTable::find("Код моего клиента");
    
fieldid fieldnum(CustTableName);
    
info("Имя моего клиента:" record.(fieldId)); 
С Уважением,
Георгий.
Старый 14.03.2005, 13:38   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Изначально опубликовано George Nordic
Да можно и не знать

PHP код:
    record CustTable::find("Код моего клиента"); 
Все равно знать надо
Старый 14.03.2005, 13:55   #6  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
Спасибо всем!

Вот как раз то, что было нужно :

PHP код:
return myTable.(myFieldID); 
Старый 19.06.2006, 10:56   #7  
Кирилл
Гость
 
n/a
А если myFieldID ссылается на поле Dimension, то как быть?
Старый 19.06.2006, 11:00   #8  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
например так
myTable.(fieldid2ext(fieldnum(Table, Dimension), 2))
За это сообщение автора поблагодарили:  (1).
Старый 19.06.2006, 11:10   #9  
Кирилл
Гость
 
n/a
Спасибо, теперь осталось выяснить как по fieldId узнать является ли данное поле массивом или нет ;-)
Старый 19.06.2006, 11:18   #10  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
DictFIeld.ArraySize() > 1
PS DictField надо получить так
X++:
    dictField = new DictField(tableId, fieldExt2Id(fieldId)) ;
__________________
Axapta v.3.0 sp5 kr2

Последний раз редактировалось AndyD; 19.06.2006 в 11:29.
За это сообщение автора поблагодарили:  (1).
Старый 19.06.2006, 12:25   #11  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
X++:
static void FormData2container(Args _args)
{
    QueryRun                queryRun;
    Query                   query;
    Common                  common;
    int                     i, k, p;
    DictTable               dictTable;
    container               cnt;
    SysDictField            sysDictField,
                            field;
    FormRun                 formRun;
    QueryRun                formQueryRun;
    FormDataSource          formDataSource;
    ;

    formRun                 = _args.caller();
    formDataSource          = formRun.objectSet();
    formQueryRun            = formDataSource.queryRun();
    query                   = new Query(formQueryRun.query());
    queryRun                = new QueryRun(query);

    cnt                     = conNull();

    while (queryRun.next())
    {
        for (i = 1; i <= query.dataSourceCount(); i ++)
        {
            common     = queryRun.getNo(i);
            dictTable  = new DictTable(common.TableId);

            for (k = DictTable.fieldNext(0); k > 0; k = DictTable.fieldNext(k))
            {
                sysDictField             = DictTable.fieldObject(k);

                for(p = 1; p <= SysDictField.arraysize(); p++)
                {
                    field = new SysDictField(DictTable.id(),  k ,p);
                    cnt += [common.(field.id())];
                }
            }
        }
    }
}
__________________
С уважением, Вячеслав.
За это сообщение автора поблагодарили:  (1).
Теги
законченный пример, поле, программно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Каким образом можно в аксапте нарисовать график? HorrR DAX: Программирование 1 13.05.2008 12:30
WebComboBox - как получить выбранное значение? egorych DAX: Программирование 8 17.10.2007 22:44
Как зная название поля таблицы узнать текст, который прописан в Label? Hidden DAX: Функционал 1 03.06.2005 13:52
Как получить значения поля из lookup метода в WEB Dronas DAX: Программирование 5 13.01.2005 10:17
Получить значение поля таблицы по номеру (Id) поля Anais DAX: Программирование 2 15.04.2004 13:00

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

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

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