AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 27.08.2004, 14:43   #1  
rohlenko is offline
rohlenko
Участник
 
24 / 10 (1) +
Join Date: 23.07.2004
Location: Frankfurt
Виды Relations в Axapta
Уважаемые дамы и господа,

что может означать на EDT вот такого рода Relation

1 == someTable.someID

Спасибо!
Old 27.08.2004, 15:18   #2  
George Nordic is offline
George Nordic
Модератор
George Nordic's Avatar
Злыдни
 
4,480 / 1255 (50) ++++++++
Join Date: 17.12.2003
Location: Moscow
Blog Entries: 9
Этот EDT - от BaseEnum. Означает, что при значении 1 он связан с SomeTable.FieldId, а при зачении 2 - SomeOterTable.OterFieldId. Связь типа "Поле фиксированно".

С Уважением,
Георгий
Old 30.08.2004, 16:36   #3  
Ruff is offline
Ruff
Дмитрий Ерин
Ruff's Avatar
1C
 
475 / 396 (14) ++++++
Join Date: 18.09.2003
Location: Тула
Небольшие уточнения
Quote:
Этот EDT - от BaseEnum.
Совсем необязательно. Связь "Поле фиксированно" может быть и на других EDT (см. тот же Dimension). То есть связь в большинстве случаев идет по Enum-у, а сам EDT, на котором стоит такой relation, может быть любого типа.
Quote:
Означает, что при значении 1 он связан с SomeTable.FieldId, а при зачении 2 - SomeOterTable.OterFieldId
Я бы еще добавил, что при этом он фильтрует таблицу SomeTable, выбирая записи с (Fieldid == 1) и таблицу SomeOterTable по полю (OterFieldId == 2).
__________________
Old 30.08.2004, 16:50   #4  
George Nordic is offline
George Nordic
Модератор
George Nordic's Avatar
Злыдни
 
4,480 / 1255 (50) ++++++++
Join Date: 17.12.2003
Location: Moscow
Blog Entries: 9
Спасибо за уточнение, Дмитрий! Просто в связке "от BaseEnum" пропало "скорее всего" - при редактировании убил

С Уважением,
Георгий
Old 30.08.2004, 16:52   #5  
Ruff is offline
Ruff
Дмитрий Ерин
Ruff's Avatar
1C
 
475 / 396 (14) ++++++
Join Date: 18.09.2003
Location: Тула
Re: Небольшие уточнения
Quote:
Изначально опубликовано Ruff

Я бы еще добавил, что при этом он фильтрует таблицу SomeTable, выбирая записи с (Fieldid == 1) и таблицу SomeOterTable по полю (OterFieldId == 2).
Соврал!
Фильтрует она, кажется, только если кроме типа "Поле фиксированно" существует еще и нормальный relation. Например в аналитике (Dimension):

Dimension == Dimensions.Num
0 == Dimensions.DimensionCode

Это значит, что из таблицы Dimensions выбирается поле Num с фильтром по полю DimensionCode == 0.

В остальных случаях - как написал George Nordic. Вроде так.
__________________
Old 31.08.2004, 13:05   #6  
rohlenko is offline
rohlenko
Участник
 
24 / 10 (1) +
Join Date: 23.07.2004
Location: Frankfurt
Спасибо всем огромное!
Теперь понятно, это фильтр, только визуально так сказать настроеный.
Удобно ничего не скажешь.

А можно ли иметь 2 EDT c разными значениями и обрабатывать программно.
Ну что то вроде

[это только схемотично!]

if (something)
{
queryBuildDataSource.addRange(SomeEDT_ID(SomeEDT1))
}
else
{
queryBuildDataSource.addRange(SomeEDT_ID(SomeEDT2))
}
SomeEDT1 и SomeEDT2 отличаются значениями в Relation к примеру
1 == someTable.someID
2 == someTable.someID

Спасибо!
Old 31.08.2004, 13:16   #7  
George Nordic is offline
George Nordic
Модератор
George Nordic's Avatar
Злыдни
 
4,480 / 1255 (50) ++++++++
Join Date: 17.12.2003
Location: Moscow
Blog Entries: 9
Хм.. дело в том, что можно пользоваться, так сказать, "интелектуальней":
1) создать relation на связанную таблицу
2) вызвать форму, где одна основная таблица - в качестве дс
3) допустим, по клавише открываем форму со связанной таблицей
Так вот, во второй таблице данные будут только связанные с текущим значением в 1й. И в query датасорса этой таблицы уже будет необходимый range... Иногда это, наоборот, приходиться выковыривать

С Уважением,
Георгий.
Old 31.08.2004, 14:17   #8  
rohlenko is offline
rohlenko
Участник
 
24 / 10 (1) +
Join Date: 23.07.2004
Location: Frankfurt
Да конечно вы правы, этот вариант как бы стандарт.
Но если необходимо более гибкий вариант фильтра, надо програмировать.
Вот мне и пришло на ум, а вдруг это возможно. Просто решение элегантней,
можно многие условия фильтра визуально настроить, а не писать "непонятный для других" аля С++ код. Но мне кажется это невозможно
Old 31.08.2004, 14:32   #9  
George Nordic is offline
George Nordic
Модератор
George Nordic's Avatar
Злыдни
 
4,480 / 1255 (50) ++++++++
Join Date: 17.12.2003
Location: Moscow
Blog Entries: 9
Хм.. насколько я знаю, в Axapte это встречается довольно часто..
PHP Code:
    priceDiscTable_ds.query().dataSourceTable(tableNum(PriceDiscTable)).clearRanges();
    
priceDiscTable_ds.query().dataSourceTable(tableNum(PriceDiscTable)).clearDynalinks();

    
blockPriceType priceDiscTable_ds.query().dataSourceTable(tablenum(PriceDiscTable)).addRange(fieldNum(PriceDiscTablerelation));
    
blockPriceType.status(RangeStatus::HIDDEN);

    switch(
module)
    {
        case 
ModuleInventCustVend::Invent :
            
blockCode       priceDiscTable_ds.query().dataSourceTable(tableNum(PriceDiscTable)).addRange(fieldnum(PriceDiscTableitemCode));
            
blockCode.status(RangeStatus::HIDDEN);
            
blockRelation   priceDiscTable_ds.query().dataSourceTable(tableNum(PriceDiscTable)).addRange(fieldnum(PriceDiscTableitemRelation));
            
blockRelation.status(RangeStatus::HIDDEN);
            break;

        default :
            
blockCode       priceDiscTable_ds.query().dataSourceTable(tableNum(PriceDiscTable)).addRange(fieldnum(PriceDiscTableaccountCode));
            
blockCode.status(RangeStatus::HIDDEN);
            
blockRelation   priceDiscTable_ds.query().dataSourceTable(tableNum(PriceDiscTable)).addRange(fieldnum(PriceDiscTableaccountRelation));
            
blockRelation.status(RangeStatus::HIDDEN);
            break;
    } 
Это, насколько я понимаю, как раз то, о чем Вы говорите...

С Уважением,
Георгий
Old 01.09.2004, 14:21   #10  
rohlenko is offline
rohlenko
Участник
 
24 / 10 (1) +
Join Date: 23.07.2004
Location: Frankfurt
Не совсем.
Тут в AddRange пихается поле таблицы.
А я хотел туда EDT запихнуть.Ну уже понял что много хотел.
Спасибо вам за роддержку!
 

Similar Threads
Thread Thread Starter Forum Replies Last Post
axaptabuilder: How to build Axapta application from XPO files stored in Visual Source Safe. Blog bot DAX Blogs 0 12.04.2007 16:10
axaptabuilder: How to build Axapta application from XPO files stored in Visual Source Safe. Blog bot DAX Blogs 0 22.11.2006 15:20
axaptabuilder: How to setup Axapta batch server running as user defined windows service Blog bot DAX Blogs 0 28.10.2006 16:47
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 11:25.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.