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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.07.2006, 07:04   #1  
Antant is offline
Antant
Участник
 
82 / 17 (1) ++
Регистрация: 03.12.2005
Проблема с addLink
PHP код:
static void Job152(Args _args)
{
    
Query                       _query = new Query();
    
QueryBuildDataSource        qbdsVendAssort;
    
QueryBuildDataSource        qbdsInventTable;
    ;

    
qbdsVendAssort _query.addDataSource(tableNum(VendAssort));
    
qbdsVendTable.fetchMode(0);

    
qbdsInventTable qbdsVendAssort.addDataSource(tableNum(InventTable), 'tInventTable');
    
qbdsInventTable.joinMode(JoinMode::InnerJoin);
    
qbdsInventTable.fetchMode(0);
    
qbdsInventTable.relations(true);

    
qbdsInventTable.addLink(fieldNum(VendAssortAccountNum), fieldNum(InventTableprVendor));

info(qbdsInventTable.toString());

получается:

SELECT * FROM InventTable WHERE InventTable.ItemId = VendAssort.ItemId AND InventTable.ItemGroupId = VendAssort.prVendor
__________________
И почему никто меня не любит?
Да, я надоедливый
Старый 07.07.2006, 09:09   #2  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Сдается мне дело в fetchmode(), но могу и ошибаться.
Старый 07.07.2006, 10:24   #3  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Antant
PHP код:
static void Job152(Args _args)
{
......
    
qbdsInventTable.relations(true);

    
qbdsInventTable.addLink(fieldNum(VendAssortAccountNum), fieldNum(InventTableprVendor));

info(qbdsInventTable.toString());

получается:

SELECT * FROM InventTable WHERE InventTable.ItemId = VendAssort.ItemId AND InventTable.ItemGroupId = VendAssort.prVendor
Во-первых, определится нужно, используете ли вы ручное указание полей связи (addLink), или оставляете это системе (relations(true))

Если же вручную, то addLink() - попробуйте может поменять местами поля (в смысле, первым написать поле из inventTable.

Но вначале стоит попробовать просто с relations(true);
Вот еще по теме ссылочка:
Помогите новичку в создании Query
За это сообщение автора поблагодарили: Antant (1).
Старый 07.07.2006, 13:09   #4  
Antant is offline
Antant
Участник
 
82 / 17 (1) ++
Регистрация: 03.12.2005
Цитата:
Сообщение от kashperuk
Во-первых, определится нужно, используете ли вы ручное указание полей связи (addLink), или оставляете это системе (relations(true))

Если же вручную, то addLink() - попробуйте может поменять местами поля (в смысле, первым написать поле из inventTable.
пробовал и первый совет, и второй

Цитата:
Сообщение от kashperuk
И что вообще такое

qbdsVendTable.fetchMode(0);

в job нет такого датасорса
вместо qbdsVendTable нужно было qbdsVendAssort

Цитата:
Сообщение от Link
Может так:
_query.addDataSource(tableNum(VendAssort)).fetchMode(0);
или
_query.dataSourceNo(1).fetchMode(1);
пробовал и это

Всем спасибо, у меня так этого и не получилось, пришлось пойти другим путем
__________________
И почему никто меня не любит?
Да, я надоедливый
Старый 07.07.2006, 10:32   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
И что вообще такое

qbdsVendTable.fetchMode(0);

в job нет такого датасорса
Старый 07.07.2006, 11:09   #6  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Может так:
_query.addDataSource(tableNum(VendAssort)).fetchMode(0);
или
_query.dataSourceNo(1).fetchMode(1);

Where fetchMode determine whether the data sources should be related through a 1:1 or a 1:n relation.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема с единицей измерения longson DAX: Программирование 4 16.07.2007 14:35
Проблема с составлением Query axaLearner DAX: Программирование 10 01.12.2005 15:00
Проблема с созданием объекта Lelya DAX: Администрирование 33 27.06.2005 16:38
проблема с query EreminIgor DAX: Программирование 7 11.10.2004 16:57
Проблема: русские шрифты в отчетах, формируемых на сервере. Anais DAX: Администрирование 3 17.11.2003 13:20

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

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

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