Фильтр на Browse

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Здравствуйте (Hello) clalist,

с6.1 ABC tps
Знаю много писАли о фильтрах, но все по моему не ABC
Хочу организовать фильтр (под abc) на tps файл.
Предварительно в tps файле определил составной ключ куды ввел все поля, имеющие право попасть в тело фильтра. Делаю стандартный Browse по этому ключу и организовываю вставку в Browse.

Код: Выделить всё

          ApplyFilterProcedure Virtual
     ...
    if l:PAC >0 AND L:P1=0
          if l:fl <> '' then l:fl = clip(l:fl) & ' and ' .
          l:fl =  clip(l:fl)  & ' '  &  'TAL:KL = KODPAC'
          end
          IF L:US=0
            if l:fl <> '' then l:fl = clip(l:fl) & ' and ' .
            l:fl =  clip(l:fl)  & ' '  &  'TAL:D1 => TODAY() '
          END
       SELF.VIEW{Prop:Filter}= L:FL
       brw1.SetFilter('<39>' & CLIP(L:FL) & '<39>')
   ...
Т.е. в зависимости от выбора лок.переменных (L:..) формирую фильтр
Все забиндовано
Первое поле составного ключа пихал по Range Limit
Долго особенно при открытии самого Browse
Сидя в самом Browse и накладывая ограничения через L:.. все работает довольно шустро.
Так и должно быть ? Не хотелось -бы переписывать весь Browse ручками в виде очереди ...

--
С уважением,
Талгат mailto:talgat@omsknet.ru
(г.Омск)

Написал: ClaList(2)
Ответить