This is a bug in Axapta. Outer join has to be before inner join. Which means the new joined table on 'InventTransOrder' will have to be between inventTrans and inventDim. Now you cannot do this unless you export the form and change the seqeuence of the datasource manuall by editing the xpo file.
Incidentally if you look at form inventTable, the table 'InventItemLocation' has an inner join on InventTable, logically (and practically) there is no need for records to be in 'InventItemLocation for each and every item. But because of the above limitation of outer join they had to make it an inner join. So the functionality is modified so that whenever you insert a record in item table, corresponding blank record is inserted into 'inventItemLocation'. (which is why the when one imports data in inventTable and forgets about InventItemLocation, the items in inventTable go bin-laden and you have play George Bush for a long time to find out what has happened)*s*
The reason why item name is not displayed on inventOnHandItem is different. If you put a debug on the form, you will see that the recId for the inventSum table is 0 (since this form shows records in a roundabout way). Since there is no record in inventOnHandTable (i think) the inner join on inventTable does not work, which is why the item name is not displayed.
You are correct, its not the newQuery() on inventSum table. The related method seems to be modifyQuery() on class InvnetDimCtrl_FrmOnHand.
regards
harry
-----Original Message----- From: Steeve Gilbert [mailto:[EMAIL PROTECTED] Sent: Tuesday, 7 October 2003 10:16 a.m. To: [EMAIL PROTECTED] Subject: RE : [development-axapta] Adding new dataSource to Form
I've looked and newQuery is not called when I launch InventOnHandItem. Anyway, I've got a similar modification to do on InventTransOnOrder and this form look less confusing so maybe you can help me complete the modification on this form and I'll have a better Idea on how to do it on InventOnHandItem.
So, on InventTransOnOrder I need to add the CustTable.NameAlias if the Reference is "Sales Order". Still, we must be able to use "Find..." and "Filter" function on the CustTable.NameAlias field. I did the same thing as on InventOnHandItem : Add a new dataSource CustTable with these properties:
JoinSource : InventTrans LinkType : InnerJoin Table : CustTable
Results : No NameAlias is displayed. InnerJoin is just for test purpose 'cause I'll eventually have to set it to OuterJoin to also list entries that don't have "Account Number". The problem is when I set it to OuterJoin the form literally crash with these errors message:
------ Cannot select a record in Customers (CustTable). The join does not contain any link between the joined tables in the where clause. (C) \Classes\QueryRun\next (C) \Classes\FormDataSource\executeQuery (C) \Forms\InventTransOnOrder\Data Sources\InventTrans\Methods\executeQuery - line 12 ------
I don't know why it doesn't crash with "InnerJoin".
Setting the LinkType to "Active" result in the NameAlias displaying only for the first and selected rows.
Thanks for reading my mess, just wanted to add has much detail as possible. Thanks for your fast response Harry.
Any ideas I can search on are welcomed! ;-)
Steeve...
-----Message d'origine----- De : Harry [mailto:[EMAIL PROTECTED] Envoyé : 6 octobre, 2003 16:16 À : [EMAIL PROTECTED] Objet : RE: [development-axapta] Adding new dataSource to Form
hi
InventOnHand form displays data by a very roundabout way! You will have to change the methods on inventsum table to return the namealias. I think the method is newQuery()
regards
harry
-----Original Message----- From: Steeve Gilbert [mailto:[EMAIL PROTECTED] Sent: Tuesday, 7 October 2003 9:12 a.m. To: [EMAIL PROTECTED] Subject: [development-axapta] Adding new dataSource to Form
Hello everyone,
I need to add the InventTable.NameAlias field to the InventOnHandItem form. The challenge is that the "Find..." and "Filter" (right-click) function must be available for this field. I add a new DataSource called "InventTable" to the InventOnHandItem form. Here's the properties of the new DataSource:
DelayActive : No JoinSource : InventSum LinkType : InnerJoin Table : InventTable
In the form's grid, I add the field and link it to this new DataSource.
(Doesn't seems to be of any help but...) I add a relation on InventSum so that InventSum and InventTable are linked by ItemId.
Results : The field NameAlias is always empty!
With so much try/failed attempt I did discovered that if I set "LinkType" to "Active". The first row and the selected row both have the good NameAlias. But all the others "NameAlias" fields are empty.
Got Tips?
Steeve...
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Yahoo! Groups Sponsor ADVERTISEMENT
Click Here!
Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.

