Показать сообщение отдельно
Старый 29.11.2006, 18:24   #1  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,713 / 1201 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Как программно добавить DataSource в процессе работы формы
AXAPTA 2.5 SP3

Есть работающая форма. Отображает список артикулов и количество остатка по указанному складу. Т.е. запрос DataSource имеет примерно такой вид

PHP код:
SELECT ItemIdRTG_VendItemArticleItemName 
FROM InventTable 
GROUP BY InventTable
.ItemId ASC
    
InventTable.RTG_VendItemArticle ASC
    
InventTable.ItemName ASC 
WHERE 
...

JOIN SUM(AvailPhysical), SUM(ReservPhysical
FROM InventSum 
GROUP BY InventSum
.ItemId ASC 
WHERE InventTable
.ItemId InventSum.ItemId 

EXISTS JOIN 
FROM InventDim 
WHERE InventSum
.InventDimId InventDim.inventDimId 
    
&& InventDim.InventLocationId=... 
Это все работает.

Теперь, по запросу пользователя к этому DataSource надо добавить таблицу CustVendExternalItem (артикулы по классификации клиента). Разумеется, для указанного клиента. Т.е. в данном случае сделать связку по INNER JOIN

И добавить поле в Grid, отображающее код артикула у клиента.

Сам Query я сконструировал. Но форма не желает отбирать по нему данные (игнорирует подсунутый Query), и добавить табличку в DataSource формы не получается (для столбца Grid).

Дисплейные методы в данном случае не подходят, поскольку пользователи предполагают фильтровать список по этому дополнительному полю.

OUTER JOIN также не пройдет, поскольку есть группировка.


Может, конечно, в самой постановке задачи что-то не то. Но пока никаких "умных" мыслей в голову не приходит.


AXAPTA 2.5 SP3