Показать сообщение отдельно
Старый 18.11.2003, 05:23   #12  
jan_psn is offline
jan_psn
Участник
 
6 / 10 (1) +
Регистрация: 15.10.2003
Опишу возникшую проблему.
Стандартная форма Axapta SalesQuickQuote работает не совсем корреектно в некоторых случаях.
Возникла необходимость в изменении поведения данной формы (создаю новую):
1. Данные отсортировать по номенклатурной группе, затем по наименованию
2. Подключить таблицу InventBatch (к примеру) и отсортировать по полю ProdDate
3. Выводить только товар имеющийся на определенном складе

Проблема с подключением InventBatch:
1. Объединяем с InventSum через Outer Join
2. Как установить условие InventBatch.ItemID==InventSum.ItemID ?
Сделал через AddDynaLink. Прошло - SQL запрос сформировался верным (смотрю через мониторинг)
Напрашивается решение через расширенный фильтр, но не получилось.

Следующая проблема - наложения условия на InventDim.InventLocationID
При выполнении AddRange условие добавляется в ON, а необходимо в WHERE.
В виду того что объединение внешнее, то записи все равно выводятся, но с пустым InventLocationID (если уловие не выполняется)
Решил проблему следующим образом - подключил через InnerJoin еще InventDim и объеденил с первым InventDim и на добавленный InventDim наложил условие по InventLocationId.


В результате получили

InventTable
-ij InventSum
--oj InventDim
---oj InventBatch
---ij InventDim

Криво все это. Чего то я не понимаю (не знаю).