|
|
|
|
#1 |
|
Участник
|
Цитата:
Сообщение от Orwell
Я в подобных случаях использую темповые рекорды. Там, где наложение гигантского фильтра неприемлемо и можно немного потерять на производительности посредством прямого сравнения обрабатываемого в данный момент кода склада с массивом складом в темповом рекорде (этих массивов может быть много, в зависимости от того, какой из них отвечает тем или иным условиям) - используйте эту технику. Не слишком эстетично, не спорю, но спасало много-много раз...
Не формируйте фильтр в параметрах отчета. Попробуйте использовать FILTERGROUP в период выполнения... Но я не соображу сходу как их "скрестить" с фильтрами ... Как темповый рекорд позволяет обойти использование длинного фильтра? Возможно, где-то это описывалось? Наверно, ваше предложение это то, что надо. |
|
|
|
|
#2 |
|
Участник
|
Цитата:
Temp2: Черный, Красный, Белый..... и так еще 150 складов, которые вполне пересекаются с Temp1, но составляют свой массив складов - оборот по которым минимум 2 млн. Предварительно выполнив выборку нужных складов по разным кейсам, можете составить десяток-другой таких темповых "массивов". И используйте их в дальнейше логике, сравнивая с обрабатываемыми данными. Ибо фильтр из 150 складов вам выдаст ошибку. А сравнение с предварительным набором складов, отобранных по той же самой логике, ошибки не выдаст. Я может что-то недопонял в вашей проблеме, но вы filtergroup использовать не пробовали? |
|
|
|
|
#3 |
|
Участник
|
Цитата:
Т.е. я программно накладываю фильтры (например, в целях безопасности) и юзер не может их отменить и заглянуть дальше, чем ему разрешено... Например.. Так? Т.е. filtergroup испольуется если есть иерархия фильтров: фильтра разработчика, фильтры юзера ... А как мне это поможет? У меня один "одноранговый" длииииииинный фильтр Как я его по группам раскидаю? И зачем? |
|
|
|
|
#4 |
|
Участник
|
Цитата:
Сообщение от Orwell
Temp1: Белый, Синий, Зеленый, Голубой, Оранжевый..... и так еще 100 складов - склады, по которым оборот 3 млн.
Temp2: Черный, Красный, Белый..... и так еще 150 складов, которые вполне пересекаются с Temp1, но составляют свой массив складов - оборот по которым минимум 2 млн. Предварительно выполнив выборку нужных складов по разным кейсам, можете составить десяток-другой таких темповых "массивов". И используйте их в дальнейше логике, сравнивая с обрабатываемыми данными. Ибо фильтр из 150 складов вам выдаст ошибку. А сравнение с предварительным набором складов, отобранных по той же самой логике, ошибки не выдаст. Я может что-то недопонял в вашей проблеме, но вы filtergroup использовать не пробовали? Отрабатываю каждый "подфильтр" и запихиваю результаты в темпы. Потом из разных темпов сливаю в отчет. Так? Orwell, это непохоже на какое-то принципиально иное решение, которое "не видит" длины фильтра. А я надеялась))) Получается, у нас болезнь роста. Надо делать тоже самое, что делали раньше, только два раза..потом три раза .. Спасибо за совет! |
|
|