Заказчик хочет такую вещь - в браузере около 15 полей,
1. по любому полю он хочет делать сортировку и
2. практически для каждого поля хочет иметь возможность указать диапазон значений (в fill-in на том же браузере), для которого нужно выводить записи.
3. часто ситуация осложняется тем, что запись просто так не выберешь, для отбора используется довольно сложные процедуры с поиском по нескольким таблицам.
Недавно сделали один браузер, который у заказчика открывается около получаса
1. Сделали несколько фраз open-query используя free-form и case с именем поля по которому сортируем
2. Сделали фильтрацию примерно так
for each MyTable where MyFilter = "" OR MyTable.MyField > MyFilter
3. Внутри цикла, в котором отфильтровали все что можно было вызываем процедуру, если та возвращает что запись не подходит под наши сложные условия делаем next
Может быть кто подскажет как можно что-нибудь оптимизировать, чтобы хоть как то сократить время работы запроса.
Мы изначально были против таких тяжелых форм и запросов, но мы можем только заниматься реализацией, а проектирование интерфейса в наши задачи не входит, о чем нам вежливо напомнили когда мы хотели хоть как-нибудь все упростить
Сейчас работаем на Progress 8.3, поэтому именно для этой версии хотелось бы услышать мнения. Правда в ближайшее время планируется переход на 9.1, так что мнения касающиеся этой версии тоже принимаются
Очень надеюсь на помощь, заранее спасибо.