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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.10.2005, 15:27   #1  
sergy is offline
sergy
Участник
 
62 / 10 (1) +
Регистрация: 12.02.2004
Адрес: Воронеж
Ошибка в запросе
Обычный запрос, с одной особенностью ( выделено красным ). Выдается сообщение об ошибке. Точно такой же запрос построенный на форме через источники данных работает прекрасно. Почему?

QueryRun queryRun;
QueryBuildDataSource dsCT;
QueryBuildDataSource dsID;
QueryBuildDataSource dsIS;
;
queryRun = new QueryRun( '' );

dsCT = queryRun.query().addDataSource( TableNum( ConfigTable ) );
dsIS = dsCT.addDataSource( TableNum( InventSum ) );
dsID = dsIS.addDataSource( TableNum( InventDim ) );

dsIS.joinMode( JoinMode::InnerJoin );
dsIS.addLink( FieldNum( ConfigTable, ItemId ), FieldNum( InventSum, ItemId ) );

dsID.joinMode( JoinMode::InnerJoin );
dsID.addLink( FieldNum( InventSum, InventDimId ), FieldNum( InventDim, InventDimId ) );
dsIS.addRange( FieldNum( InventDim, RecId ) ).value( '( ( ConfigTable.ConfigId = InventSum.ConfigId ) )' );

box::info( dsCT.toString() );

while ( queryRun.next() ) {}

Текст ошибки
Ошибка расширенного диапазона запроса: ConfigTable.ConfigId не является корректной парой datasource.field рядом с 28.
Старый 18.10.2005, 15:34   #2  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
В условии должно стоять ==
__________________
Axapta v.3.0 sp5 kr2
Старый 18.10.2005, 15:48   #3  
sergy is offline
sergy
Участник
 
62 / 10 (1) +
Регистрация: 12.02.2004
Адрес: Воронеж
увы, не помогло. У меня СП4
Старый 18.10.2005, 15:53   #4  
sergy is offline
sergy
Участник
 
62 / 10 (1) +
Регистрация: 12.02.2004
Адрес: Воронеж
Прошу прощения, проблемная строчка еще раз

dsID.addRange( FieldNum( InventDim, RecId ) ).value( '( ( ConfigTable.ConfigId = InventDim.ConfigId ) )' );

Текс запроса:
SELECT * FROM ConfigTable JOIN * FROM InventSum WHERE ConfigTable.ItemId = InventSum.ItemId JOIN * FROM InventDim WHERE InventSum.InventDimId = InventDim.inventDimId AND ((( ( ConfigTable.ConfigId = InventDim.ConfigId ) )))
Старый 18.10.2005, 16:17   #5  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Поможет добавление названия для QueryBuildDatasource:
Код:
dsCT = queryRun.query().addDataSource( TableNum( ConfigTable ), "ConfigTable" );
__________________
Андрей.
Старый 18.10.2005, 16:23   #6  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
И еще:
Код:
dsID.addRange( FieldNum( InventDim, RecId ) ).value( '( ( ConfigTable.ConfigId == ConfigId ) )' );
__________________
Андрей.
Старый 18.10.2005, 16:38   #7  
sergy is offline
sergy
Участник
 
62 / 10 (1) +
Регистрация: 12.02.2004
Адрес: Воронеж
Немного поэкспериментировал, заработало в исходном виде, только с добавлением имен источников данных!
Всем спасибо!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Не запускается Axapta. Общая ошибка сети. Lucky13 DAX: Администрирование 3 25.09.2007 13:02
Ошибка в формате числа. 36AC DAX: Программирование 7 19.10.2006 10:04
Ошибка при обработке С-Ф Sergo DAX: Программирование 7 20.01.2006 11:56
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
ошибка в запросе mick_777 DAX: Программирование 3 10.07.2002 10:40

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

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

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