|
![]() |
#1 |
Участник
|
Спасибо. Но решил обойти следующем образом
X++: queryBuildRangeType = queryBuildDataSource.findRange(fieldnum(InventTable,ItemGroupId)); if (!queryBuildRangeType) queryBuildRangeType = queryBuildDataSource.addRange(fieldnum(InventTable,ItemGroupId)); switch(planType) { case PlanType_REP::Production : queryBuildRangeType.value(strfmt( '((%10 == %1) || (%10 == %2) || (%10 == %3) || (%10 == %4) || (%10 == %5) || (%10 == %6) || (%10 == %7) || (%10 == %8) || (%10 == %9))', queryValue("БПА_J"),queryValue("БПО_J"),queryValue("БПС_J"),queryValue("БСБ_J"),queryValue("БСБП_J"),queryValue("БСМ_J"),queryValue("БСМат_J"),queryValue("БСО_J"),queryValue("БСП_J"),fieldstr(InventTable,ItemGroupId))); break; |
|
![]() |
#2 |
Участник
|
Вообще расширенный фильтр - очень глючная вещь.
А для вашего случая достаточно перечислить значения через запятую. Или, что ближе к ВР, воспользоваться методом queryRangeConcat в цикле по этим значениям (из справочника какого-то по определенному признаку) |
|
![]() |
#3 |
Дмитрий Ерин
|
Цитата:
Сообщение от longson
![]() X++: case PlanType_REP::Production : queryBuildRangeType.value(strfmt( '((%10 == %1) || (%10 == %2) || (%10 == %3) || (%10 == %4) || (%10 == %5) || (%10 == %6) || (%10 == %7) || (%10 == %8) || (%10 == %9))', queryValue("БПА_J"),queryValue("БПО_J"),queryValue("БПС_J"),queryValue("БСБ_J"),queryValue("БСБП_J"),queryValue("БСМ_J"),queryValue("БСМат_J"),queryValue("БСО_J"),queryValue("БСП_J"),fieldstr(InventTable,ItemGroupId))); X++: queryBuildRangeType.value(queryValue("*J")); ![]()
__________________
![]() |
|
![]() |
#4 |
Участник
|
Единственное, что так не сработает.
Нужно так: X++: queryBuildRangeType.value("*J"); |
|
![]() |
#5 |
Участник
|
|
|
![]() |
#6 |
Участник
|
Цитата:
![]() |
|
![]() |
#7 |
Участник
|
На отчёт наложены много фильтров таким же образом, и они работают, кроме того, о чём мы говорили. По-этому я думаю что проблема именно в этом фильтре.
![]() Цитата:
Я просто адаптировал отчёт ReqPO (метод Run) и поэтому на знал об этой функции. Последний раз редактировалось longson; 13.04.2007 в 16:43. |
|
![]() |
#8 |
Участник
|
X++: queryBuildRangeType = queryBuildDataSource.findRange(fieldnum(InventTable,ItemGroupId)); if (!queryBuildRangeType) queryBuildRangeType = queryBuildDataSource.addRange(fieldnum(InventTable,ItemGroupId)); X++: queryBuildRangeType.value(strfmt( '((%10 == %1) || (%10 == %2) || (%10 == %3) || (%10 == %4) || (%10 == %5) || (%10 == %6) || (%10 == %7) || (%10 == %8) || (%10 == %9))', queryValue("БПА_J"),queryValue("БПО_J"),queryValue("БПС_J"),queryValue("БСБ_J"),queryValue("БСБП_J"),queryValue("БСМ_J"),queryValue("БСМат_J"),queryValue("БСО_J"),queryValue("БСП_J"),fieldstr(InventTable,ItemGroupId))); break; Axapta: Библиотека: Поиск данных Axapta: Библиотека: Расширенный поиск данных 2. Про русские буквы вам уже сказали |
|
Теги |
query, range, фильтр |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|