ABCBrowse.Фильтр после Validate Record

Clarion, Clarion 7

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

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

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

На этапе Validate Record в Browse нужно запретить вывод
на экран некоторых строк по условию.Но стандартный класс
АБС тащит на экран все из очереди.Даже если очистить
строку полностью (Clear(xxx.record)),на экран тащатся
пустые строки.Как от этого избавиться в Legacy,я знаю.
Вопрос!Если в АБС подходящая точка вставки и оператор,
который будет блокировать по условию только
отображение строк ,считанных из очереди,на экран.
Заранее благодарен
Написал: lsgsoftware(155)
Аватара пользователя
StillZero
Ветеран
Сообщения: 458
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Поблагодарили: 1 раз
Контактная информация:

Сообщение StillZero »

сумбурно :)

1. на validate record и нужно ставить свое условие, примерно так:

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

 if MyCondition()='не включать' then return (Record:Filtered).
2. можно сделать через установку фильтра:

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

 BRW1.SetFilter('DC:PriceDoc=0 or DC:PriceStore=0','ZeroPrice')
 BRW1.ResetSort(1) ! применить фильтр
где ZeroPrice - имя вашего фильтра
фильтр устанавливается только для активной сортировки, т.е. если сортировок несколько, то для каждой необходимо устанавливать фильтр
для того, чтобы убрать фильтр:

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

 BRW1.SetFilter('','ZeroPrice')
 BRW1.ResetSort(1)
Написал: PAA(27)
Гость

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

Paa!!Мои благодарности!Все работает как надо.Ты спас меня от тупиковой ветви.Я пытался решить проблему путем удаления из очереди бровза ненужных записей.Получилось на 90 %,но это грубо.
Еще раз спасибо
Написал: lsgsoftware(155)
Ответить