Показать сообщение отдельно
Старый 31.07.2015, 12:09   #8  
Ruff is offline
Ruff
Дмитрий Ерин
Аватар для Ruff
1C
 
475 / 396 (14) ++++++
Регистрация: 18.09.2003
Адрес: Тула
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Иначе количество во View должно быть посчитано по уже отфильтрованным категориям!
Поэтому View либо нужно каким-то образом строить на лету(?), либо фильтровать View при помощи вспомогательной таблицы...
Мне кажется, тут поможет HAVING. Группируем кросстаблицу по поставщику, считаем число категорий и сравниваем с числом выбранных категорий (оно по идее должно быть известно из интерфейса).
Что то типа такого :
X++:
qbdsVendor = query.addDataSource(...);
...
qbdsVendCat = qbdsVendor.addDataSource(...);
...
qbdsVendCat.addGroupByField(fieldNum(VendCategory, VendorId));
qbdsVendCat.addSelectionField(fieldNum(VendCategory, CategoryId),SelectionField::Count);
...
query.addHavingFilter(qbdsVendCat, "Category", AggregateFunction::Count).value(strfmt("==%1", _selectedCatNum));
За это сообщение автора поблагодарили: gl00mie (5), S.Kuskov (5).