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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.03.2005, 14:13   #1  
rohlenko is offline
rohlenko
Участник
 
24 / 10 (1) +
Регистрация: 23.07.2004
Адрес: Frankfurt
JOIN программно на форме не работает
Уважаемые коллеги,

Почему то JOIN программно на форме не работает.
Если установить в свойствах , то все работает коректно.

Что сдесь неправильно?

PHP код:

public void executeQuery()
{
  
Query q;
  
querybuilddatasource dsGIPJourLoadDiscIH;
  
querybuilddatasource dsGIPJourPremIH;

   ;

    
= new query();

    
dsGIPJourPremIH q.addDataSource(tablenum(GIPJourPremIH),"Prem");
    
dsGIPJourPremIH.relations(false);

    
dsGIPJourLoadDiscIH dsGIPJourPremIH.addDataSource(tablenum(GIPJourLoadDiscIH),"Load");
    
dsGIPJourLoadDiscIH.joinMode(JoinMode::InnerJoin);
    
dsGIPJourLoadDiscIH.fetchMode(0);
    
dsGIPJourLoadDiscIH.relations(false);
    
dsGIPJourLoadDiscIH.addRange(fieldnum(GIPJourLoadDiscIHGIPJourIHPremId)).value("Prem.GIPJourIHPremId == Load.GIPJourIHPremId");
    
this.query(q);

    
super();

Вот етот JOB работает и выдает то что надо

PHP код:
static void Job3(Args _args)
{
       
GIPJourPremIH aGIPJourPremIH;
       
GIPJourLoadDiscIH aGIPJourLoadDiscIH;

while 
select aGIPJourPremIH
   join aGIPJourLoadDiscIH
    where aGIPJourPremIH
.GIPJourIHPremId ==  aGIPJourLoadDiscIH.GIPJourIHPremId
        
print aGIPJourPremIH.GIPJourIHPremId;
pause;


Таблици связаны как


GIPJourPremIH ---------------- 1:N---------------> GIPJourLoadDiscIH
по PK GIPJourIHPremId


Что может быть не так?

Спасибо!
Старый 31.03.2005, 14:31   #2  
Hezl is offline
Hezl
Участник
Аватар для Hezl
 
138 / 16 (1) ++
Регистрация: 21.04.2004
Адрес: Moscow, Russia
Вместо
PHP код:
dsGIPJourLoadDiscIH.addRange(fieldnum(GIPJourLoadDiscIHGIPJourIHPremId)).value("Prem.GIPJourIHPremId == Load.GIPJourIHPremId"); 
используйте
PHP код:
dsGIPJourLoadDiscIH.addLink(fieldnum(GIPJourPremIHGIPJourIHPremId),fieldnum(GIPJourLoadDiscIHGIPJourIHPremId)); 
Старый 31.03.2005, 15:41   #3  
rohlenko is offline
rohlenko
Участник
 
24 / 10 (1) +
Регистрация: 23.07.2004
Адрес: Frankfurt
Thumbs up
Спасибо вам большое,
вы были абсолютно правы! Так работает!

Все не могу привыкнуть с к синтаксису и семантике X++
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как join'ить временную таблицу и query на форме IvanS DAX: Программирование 1 07.05.2008 09:49
Как в форме CustTrans через query отобрать записи у которых AmountCur != 0 ( когда в QueryBuildRange ставишь value(strFmt('!0')); - не работает!) rkorchagin DAX: Программирование 12 02.04.2007 17:58
событее на форме losctfocus() - не работает! rohlenko DAX: Программирование 2 03.06.2005 16:38
Как программно изменить к-во в строке заказа в форме SalesTable BorDark DAX: Программирование 2 13.01.2005 17:02
Не работает стандартный фильтр на форме Julietta DAX: Прочие вопросы 4 06.12.2004 13:30
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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