Показать сообщение отдельно
Старый 25.05.2007, 13:47   #1  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
Банальная вроде бы задача, но я чего-то не могу разобраться.
Существует несколько карточных форм (фильтруют записи по значению одного поля) и табличная форма, ссылающиеся на одну и ту же таблицу.
Задача на карточных формах сделать кнопку вызова табличной формы (чтобы в табличной форме при этом применялся такой же фильтр). Ну и RunFormOnRec соответственно тоже.
Ну это не сложно - просто ставишь Run Form и указываешь RunFormView с такими же значениями как и в картотечной форме.

НО нужно еще на табличной форме сделать меню с фильтрами. Делаю фильтры с помощью SETVIEW. Но у мнея складываеца такое впечатление, что SETVIEW фильтрует записи
таблицы, а в то же время сама табличная форма продолжает фильтровать записи для отображения с теми параметрами, что были указаны в RunFormView при ее вызове.
Чтобы это обойти стал делать по другому: RunFormView в картотечных формах не заполнять, а этот же фильтр ставить в OnAfterGetCurrRecord ориентируясь на значение поля, в текущей
записи, т.к. она соответствует записи в карточной форме.

Фильтры взаимоисключающие. И получается следущее. Вызываю табличную форму из первой карточной - все отлично. Закрываем ее, но фильтр то на источнике данных остается.
( в этом месте описания я понял, что его надо убирать перед закрытием формы OnQueryCloseForm() SETVIEW('') )

Обидно. Так долго писал, грамотно излагая.
Как, все таки, верно говорится: "Правильно сформулированный вопрос уже содержит 80% ответа."