Re: Фильтр в Windows-Клиенте



Posted by Владимир Секретев, Клуб Любителей Бухгалтерского Учета on February 23, 1999 at 12:21:02:

In Reply to: Фильтр в Windows-Клиенте posted by Шарин Леонид on February 23, 1999 at 01:30:32:

...как можно организовать подсчет сумм для отфильтрованных позиций?

Никак. Это связано с тем, что фильтр F9 налагается на уже выполненную сервером форму (то есть в ней все итоги подсчитаны на "полном" наборе данных), а после применения F9 перевыполнения формы сервером не происходит.

В этом смысле можно воспользоваться предусмотренными в программе средствами - Аргументы и фильтры (см. документацию). Недостаток метода заключается в том, что набор аргументов и фильтров ограничен и пользователь не имеет возможности ввести произвольный фильтр. (Признаться, вообще никогда не пользовался этими фильтрами. Аргументами же пользуюсь активно.)

Я применяю следующий метод обхода этого недостатка.

Отчетные формы, в которых предполагается использование фильтра, снабжаются дополнительным вопросом типа [is 'Фильтр', ' ', 20], который и появляется каждый раз, когда пользователь запускает форму. Если пользователь ничего не ввел в поле, ([length] < 2) оставил его пустым, то принимается, что он хочет видеть все. Если в поле фильтра что-то появилось, то алгоритм формы пропускает на печать и в суммирование итогов только то, что "подходит" ([ps]).

Недостатком данного метода можно считать необходимость дополнительного программирования и то, что пользователю лишний раз приходится нажимать на Enter, даже если он не хочет применять фильтр.

P.S. Идея принадлежит Якову Легину



Пpишедшие ответы: