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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.01.2009, 14:50   #1  
Silphidae is offline
Silphidae
Участник
 
96 / 15 (1) ++
Регистрация: 17.11.2008
Статьи аналитик
Добрый день. Подскажите, пожалуйста, решение такой проблемы:

В описании класса пишу:
Dimension dimension;

Создаю диалог:
public Object dialog()
{
DialogRunbase dialog = super();
DialogField dialogBKNumber;
;

dialog.addGroup("Фильтры");
dialogBKNumber = dialog.addField(typeid(Dimension),"Статья БК","Выбор статьи БК");
dialogBKNumber.value(dimension);

return dialog;
}

В результате получаю на форме семь полей аналитик, а мне нужно только одно поле. Проблема в том, что Dimesion - это массив из семи аналитик. Как мне указать, что мне нужна конкретно 7-я аналитика в качестве типа dimension? Вариант Dimension[7] dimesion; не работает.

Спасибо.
Старый 27.01.2009, 14:58   #2  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Создать для нужной аналитики свой ЕДТ-наследние от SysDim и прописать соответствющий релейшн к таблице Dimensions. В диалог подставлять этот ЕДТ.

X++:
DepartmentId extends SysDim
DepartmentId == Dimensions.Num
0 = Dimensions.Code
За это сообщение автора поблагодарили: Silphidae (1).
Старый 27.01.2009, 14:58   #3  
ivas is offline
ivas
Участник
Аватар для ivas
 
252 / 68 (3) ++++
Регистрация: 22.12.2005
нужно создать расшитенный тип со ссылкой на аналитику кот вам нужна или используйте функцию extendedTypeName2Id_RU


з.ы упс попередили)
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy
За это сообщение автора поблагодарили: Silphidae (1).
Старый 27.01.2009, 15:16   #4  
petergunn is offline
petergunn
Участник
 
118 / 274 (10) ++++++
Регистрация: 30.08.2005
Адрес: Tyumen
? вариант без создания отдельных EDT
Посмотрите тему финансовые аналитики в диалог

Там в обсуждении был пример job'а в котором программно скрывались 'ненужные' поля финансовых аналитик в диалоге:
X++:
static void jobDimensionFields(Args _args)
{
    Dialog              dialog              ;
    DialogField         dialogFieldDimension;
    FormStringControl   formStringControl   ;
    Counter             idx                 ;
    ;
    
    dialog = new Dialog() ;
    dialogFieldDimension = dialog.addField(typeId(Dimension));
 
    for( idx=2; idx<=Dimensions::numOfDimensions(); idx++ )
    {
        formStringControl = dialogFieldDimension.fieldControl(idx) ;
        formStringControl.visible( false ) ;
    }
 
    dialog.run() ;
}
За это сообщение автора поблагодарили: Silphidae (1).
Старый 27.01.2009, 15:55   #5  
Silphidae is offline
Silphidae
Участник
 
96 / 15 (1) ++
Регистрация: 17.11.2008
Спасибо всем за помощь.
Извиняюсь, но мне непонятно, что значит строка в связях:
0 == Dimensions.DimensionCode
Почему 0? Объясните, пожалуйста.

Последний раз редактировалось Silphidae; 27.01.2009 в 16:41.
Старый 27.01.2009, 16:57   #6  
petergunn is offline
petergunn
Участник
 
118 / 274 (10) ++++++
Регистрация: 30.08.2005
Адрес: Tyumen
Цитата:
Сообщение от Silphidae Посмотреть сообщение
Извиняюсь, но мне непонятно, что значит строка в связях:
0 == Dimensions.DimensionCode
Почему 0? Объясните, пожалуйста.
Цитата:
Сообщение от oip
...
DepartmentId == Dimensions.Num
0 = Dimensions.Code
В основе поля таблицы Dimensions.DimensionCode лежит перечисление (base enum) SysDimension в котором 0 = SysDimension:: Department
В данном случае создана доп.связь (ограничение) типа 'Поле ссылки фиксировано' по таблице Dimensions с ограничением по полю Dimensions.DimensionCode = "Подразделение"

Если Вам необходим какой-либо другой вид аналитики, то смотрите числовое значение этого кода в enum SysDimension (например SysDimension::SomeValue = 10) и подставляете в связь вместо 0.

Последний раз редактировалось petergunn; 27.01.2009 в 17:22. Причина: орфография
Старый 27.01.2009, 17:13   #7  
Silphidae is offline
Silphidae
Участник
 
96 / 15 (1) ++
Регистрация: 17.11.2008
Цитата:
Сообщение от petergunn Посмотреть сообщение
В основе поля таблицы Dimensions.DimensionCode лежит перечисление (base enum) SysDimension в котором 0 = SysDimension:: Department

Создана доп.связь (ограничение) типа 'Поле ссылки фиксировано' по таблице Dimensions с ограничением по полю Dimensions.DimensionCode = "Подразделение"
Спасибо, petergunn. Я примерно так и думал. Просто меня удивило, что при любом другом значении, кроме 0 - я получаю тоже самое "Подразделение" (Например, при 2 должно быть "Тип производства", если верить перечислению SysDimension ).
Теги
edt, extended data type, dimensions

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблемы с отображением скл. аналитик ZVV DAX: Администрирование 22 09.01.2009 20:11
сопоставление по клиенту с учетом финансовых аналитик? Aquarius DAX: Функционал 3 20.12.2008 10:05
ALEG: Интересная статья про иерархию финансовых аналитик в Microsoft Dynamics AX 4.0 Blog bot DAX Blogs 0 09.11.2006 06:00
mazzy: Иерархия финансовых аналитик в Microsoft Dynamics AX 4.0 Blog bot DAX Blogs 0 28.10.2006 17:22
Добавление финансовых аналитик в Оракле.. MironovI DAX: Программирование 32 08.08.2006 13:02

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

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

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