25.05.2007, 13:47 | #1 |
Участник
|
Банальная вроде бы задача, но я чего-то не могу разобраться.
Существует несколько карточных форм (фильтруют записи по значению одного поля) и табличная форма, ссылающиеся на одну и ту же таблицу. Задача на карточных формах сделать кнопку вызова табличной формы (чтобы в табличной форме при этом применялся такой же фильтр). Ну и RunFormOnRec соответственно тоже. Ну это не сложно - просто ставишь Run Form и указываешь RunFormView с такими же значениями как и в картотечной форме. НО нужно еще на табличной форме сделать меню с фильтрами. Делаю фильтры с помощью SETVIEW. Но у мнея складываеца такое впечатление, что SETVIEW фильтрует записи таблицы, а в то же время сама табличная форма продолжает фильтровать записи для отображения с теми параметрами, что были указаны в RunFormView при ее вызове. Чтобы это обойти стал делать по другому: RunFormView в картотечных формах не заполнять, а этот же фильтр ставить в OnAfterGetCurrRecord ориентируясь на значение поля, в текущей записи, т.к. она соответствует записи в карточной форме. Фильтры взаимоисключающие. И получается следущее. Вызываю табличную форму из первой карточной - все отлично. Закрываем ее, но фильтр то на источнике данных остается. ( в этом месте описания я понял, что его надо убирать перед закрытием формы OnQueryCloseForm() SETVIEW('') ) Обидно. Так долго писал, грамотно излагая. Как, все таки, верно говорится: "Правильно сформулированный вопрос уже содержит 80% ответа." |
|