AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 17.07.2006, 08:37   #21  
Ихъ бин программикеер ist offline
Ихъ бин программикеер
Участник
 
23 / 10 (1) +
Registriert seit: 12.07.2006
Zitat:
Zitat von AndyD
...
query = new Query(VendContractItem_ds.query());
qbd1 = query.DataSourceTable(TableNum(VendContractItem));
...
qbd2.joinMode(JoinMode::InnerJoin);
qbd2.fetchMode(QueryFetchMode::One2One);
...
Один фиг не обновляется ... Попробую туториал слегка испортить чтобы протестировать это вопрос....

Вот еще один вопросец появился:

SELECT * FROM VendContractItem
WHERE RContractTable.RContractAccount=VendContractItem.RContractAccount
JOIN * FROM VendItemPrice
WHERE VendContractItem.PriceLineId = VendItemPrice.PriceLineId AND ((IsPrimary = Да))
JOIN ItemName FROM InventTable
USING INDEX ItemName_idx
WHERE VendContractItem.ItemId = InventTable.ItemId

Там еще несколько строк, не суть. вопрос вот в чем - вроде как строки в первую очередь выбираются из
VendContractItem, сджойненный с VendItemPrice? а следующий джойн, InventTable - он с VendItemPrice или с VendContractItem или с результатом предыдущего джойна?
Alt 17.07.2006, 13:19   #22  
Ихъ бин программикеер ist offline
Ихъ бин программикеер
Участник
 
23 / 10 (1) +
Registriert seit: 12.07.2006
Для чистоты эксперимента сделал пробную форму (туториал испоганивать не стал) с одним гридом и 2 сджойненными табличками.

Работает! Но попытка сменить linkType для подчиненной таблички провалилась с нулевым эффектом
PHP-Code:
void clicked()
{
VendContractSelectedItem_ds.linkType(JoinMode::NoExistsJoin);
VendContractItem_ds.executeQuery();
VendContractItem_ds.queryRun();
VendContractItem_ds.research();
VendContractItem_ds.refresh();
VendContractItem_ds.reread();
super();

Мне лично непонятно, что это за куча хитрых методов research, refresh и reread, поэтому на всякий пожарный решил испробовать все . Не работает. Так и должно быть?
Alt 17.07.2006, 13:55   #23  
Ned ist offline
Ned
Lean Six Sigma
 
680 / 99 (5) ++++
Registriert seit: 29.12.2002
Ort: самолёт
VendContractItem_ds.queryRun(); в этом контексте абсолютно не в тему. Метод возвращает указатель на инстанс класса и больше ничего не делает.
__________________
Viacheslav Nefedov, http://www.nefedov.net, http://restock.guru/
Alt 17.07.2006, 14:34   #24  
Ихъ бин программикеер ist offline
Ихъ бин программикеер
Участник
 
23 / 10 (1) +
Registriert seit: 12.07.2006
Zitat:
Zitat von Ned
VendContractItem_ds.queryRun(); в этом контексте абсолютно не в тему. Метод возвращает указатель на инстанс класса и больше ничего не делает.
Ок, а что по поводу смены типа джойна?
Alt 17.07.2006, 16:18   #25  
Link ist offline
Link
Британский учённый
Benutzerbild von Link
Соотечественники
 
568 / 523 (19) +++++++
Registriert seit: 25.11.2005
Ort: UK
Blog-Einträge: 9
Code:
    Query                   q;   
    QueryBuildDataSource    qB;
    QueryBuildDataSource    qB2; 
    QueryBuildDataSource    qB3;
    ;
    qB  = q.addDataSource(tablenum(AssetBookTable));
    qB.addRange(Fieldnum(AssetBookTable,CurrentOperationsTax)).value(enum2value(currentOperationsTax));
    qB2 = qB.addDataSource(tablenum(AssetBook));
    qB2.addLink(FieldNum(AssetBookTable,BookId),fieldNum(AssetBook,BookId));
    qB2.addRange(Fieldnum(AssetBook,AssetId)).value(assetId);
    qB2.joinMode(JoinMode::OuterJoin); 
//(а так же NoExistsJoin, InnerJoin, EXISTSJOIN);
    qB3 = qB2.addDataSource(tablenum(AssetBookTable));
    qB3.addLink(FieldNum(AssetBook,BookId),fieldNum(AssetBookTable,BookId));
Alt 17.07.2006, 16:44   #26  
kashperuk ist offline
kashperuk
Участник
Benutzerbild von kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4.361 / 2084 (78) +++++++++
Registriert seit: 30.05.2004
Ort: Atlanta, GA, USA
Изменять это, меняя свойство датасорса формы не получится.
Нужно менять это же свойство, только на запросе этого датасорса.

Посмотрите код Linkа выше для понимания, как работают классы QueryBuild*.
Достучаться к ним с датасорса - через DataSourceName.query() или DataSourceName.queryRun().query()
Alt 17.07.2006, 20:45   #27  
wb ist offline
wb
Участник
 
86 / 16 (1) ++
Registriert seit: 26.01.2004
Ort: Краснодар
Zitat:
Zitat von Ихъ бин программикеер
Факт, были, см. форму VendContractItem. Задачка у меня на самом деле простая - позволить пользователю ставить галочки на элементах номенклатуры (форма вызывается через Работа с поставщиками/Договоры/Ассортимент) и показать отдельно (сортировка, отдельная вкладка и пр.) те элементы номенклатуры, которые не были выбраны. Способ показывания на отдельной вкладке тех, которые выделены, типа не подходит (такая уж постановка), поэтому надо извращаться.
номеклатуру показывать с учетом аналитики хранения?
может в качестве примера посмотрите на форму SalesQuickQuote (вызывается из заказов по функции создание строк)
This post has been rated by: Ихъ бин программикеер (1).
Alt 18.07.2006, 10:24   #28  
Ихъ бин программикеер ist offline
Ихъ бин программикеер
Участник
 
23 / 10 (1) +
Registriert seit: 12.07.2006
В общем, исследование вопроса дало следующий результат:

1. Разнообразные баги и глюки были, как оказалось, прежде всего связаны с тем, что связка датасорсов в понимании аксапты - это, видимо, связка датасорсов. Она, видимо, принципиально не должна выполнять 2 функции одновременно. Т.е., я так понимаю, какие-то внутренние связи (а в той форме их довольно-таки много) не давали мне вытавить "NotExistJoin" на нужном датасорсе или просто добавить его . Однако заведение дополнительного комплекса датасорсов (посмотрел согласно указаниям wb SalesQuickQuote) дало как раз нужный мне эффект. Там еще, правда, есть небольшие глючки, но думаю, что это решаемый вопрос.

2. Link и kashperuk, спасибо, попробую обязательно, хоть это уже и неактуально в смысле решения текущей задачи, хотя, если честно, есть некоторые сомнения в стопроцентности получения результата .

3. kashperuk, если честно, вот нифига пока не понимаю как они, классы эти, работают... Чем отличаются принципиально указанные запросы? Т.е. зачем к ним такой разный доступ?
Alt 18.07.2006, 10:57   #29  
Link ist offline
Link
Британский учённый
Benutzerbild von Link
Соотечественники
 
568 / 523 (19) +++++++
Registriert seit: 25.11.2005
Ort: UK
Blog-Einträge: 9
Zitat:
Zitat von Ихъ бин программикеер
Т.е., я так понимаю, какие-то внутренние связи (а в той форме их довольно-таки много) не давали мне вытавить "NotExistJoin" на нужном датасорсе или просто добавить его .
Функции для работы со связями
Code:
        queryBuildDataSource.clearDynalinks();
        queryBuildDataSource.clearLinks();
        queryBuildDataSource.addDynalink();
        queryBuildDataSource.addLink();
И еще: связи можно менять в Init() датасорса, после super(),
и в linkActive() датасорса перед super()
Вот еще ссылка:
Как узнать Alignment у элемента в Grid'е
Alt 19.07.2006, 14:01   #30  
Ихъ бин программикеер ist offline
Ихъ бин программикеер
Участник
 
23 / 10 (1) +
Registriert seit: 12.07.2006
Ха, ну тогда это не мой случай :-) а что, по желанию пользователя никак?
Alt 19.07.2006, 18:45   #31  
kashperuk ist offline
kashperuk
Участник
Benutzerbild von kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4.361 / 2084 (78) +++++++++
Registriert seit: 30.05.2004
Ort: Atlanta, GA, USA
Вот, кстати, инфы немного про эти самые "загадочные" классы
http://axgeek.spaces.msn.com/PersonalSpace.aspx
Stichworte
datasource, query, датасорс (datasource), запрос (query), форма, crm2011

 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
DeniZone: Invoking a method on a field in a form's datasource Blog bot DAX Blogs 0 13.02.2009 14:05
jinx: Zugriff auf die Query, QueryRun und DataSource in einer Form Blog bot DAX auf Deutsch 0 14.04.2008 18:05
axaptafreak: Getting new table fields into your form datasource Blog bot DAX Blogs 2 24.01.2008 22:51
Axapta Lessons: Trapping keystrokes in a Form Blog bot DAX Blogs 13 01.11.2006 18:16
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 02:32 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.