Еще раз о фильтре

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Еще раз о фильтре

Сообщение savov »

Прошу прощения, что повторяюсь, но проблема не решена.
Я писал уже, что при создании таблицы в памяти и наложении на нее фильтра средствами "Галактики" (через кнопу создания фильтра в интерфейсе) фильтр накладывается только после дополнительного пересоздания таблицы памяти. Поясню. Есть интерфейс, содержащий ТАБл1 (в памяти), список карт учета выработки. Из него вызываю спецификацию карты - другой фейс (Табл2 в памяти). Аналог в стандартной Галактике - накладные и спецификации к ним. При выходе из второго фейса Табл1 пересоздается и делается Rescan. Если ставлю фильтр на Табл1, то чтобы он заработал, надо войти в спецификацию карты учета выработки, а потом выйти из этого фейса, тогда фильтр срабатывает, иначе - нет. Как сделать, чтобы фильтр срабатывал сразу, без открытия интерфейса спецификации? На Форуме было предлдожение - работать с синонимом таблиц, я попробовал это сделать, но результата не получил. Очень нужно, помогите разобраться.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

1. Попробуйте нарисовать вывод например отчета - в нем фильтр отработает? Если да то в дополнение к rescanpanel сделайте getfirst
еще нужно попробовать rereadrecords
2. можно попробовать динамически подымать фильтры
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Сообщение savov »

А что значит динамически? Поясните, пожалуйста.
Еще поясню. У меня в Init происходит перезаполнение (Delete начала, затем Insert) таблицы памяти. т.е. после выхода из фейса 2 в фейсе 1 сначала таблица пямяти очищается. потом заполняется и делается Rescan по ней. Именно это , наверно, и приводит к установке фильтра.
Каков механизм накладывания фильтра Гал-кой?
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Сообщение Max_Fin »

А где описание таблицы в памяти содержиться
в проекте или в каждом интерфейсе отдельно?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

динамически значиться
PushBounds и PushCondition
вообще Rereadrecords, getfirst , затем RescanPanel обычно срабатывает. Getfirst необязателен но иногда тоже нужен .
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Сообщение savov »

Описание Табл1 в памяти в 1 фейсе, Табл2 - во втором.
PushBounds - это же в самом фейсе ставить надо кнопки с фильтрами, это сработает, думаю, но мне хочется средствами Гал-ки стандартной (ведь пользователю может в голову прийти любая комбинация полей в фильтре!)
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Еще раз о фильтре

Сообщение savov »

Короче, пришлось написать таки кнопку и обработку фильтра, причем использовал PushCondition, но перед прорисовкой таблы в памяти снимаю ограничения, а после снова ставлю, иначе корректно не работает!
Ответить