На вкладке Фильтр (рис. 3.10) задаются обычные ограничения (SQL-условие) на отбираемые для репликации данные. Фильтр заполняется в схеме на выход и действует только при выгрузке данных.
Условие фильтра определяет, какие записи в принципе могут попасть в репликацию. Все записи, не удовлетворяющие этим условиям, не будут попадать в выгрузку данных.
Рисунок 3.10. Вкладка "Фильтр"
Условие должно быть оформлено как часть SQL запроса, подставляющаяся в условие в секцию WHERE. Все ссылки на поля в условии должны использоваться с алиасами на таблицу выхода. На рис.3.10 MOTCONSU.MODELS_ID – это ссылка на поле выгружаемой таблицы.
Если включена опция Создана локально, то в условие фильтра в секцию WHERE автоматически добавляется условие ИМЯ_ТАБЛИЦЫ.KRN_CREATE_DATABASE_ID = RM_DATABASES_ID, для которой IS_LOCAL установлено в значение 1.
Если включена опция Изменена локально, то в условие фильтра в секцию WHERE автоматически добавляется условие ИМЯ_ТАБЛИЦЫ. KRN_MODIFY_DATABASE_ID = RM_DATABASES_ID, для которой IS_LOCAL установлено в значение 1.
Если включены обе опции — Создана локально и Изменена локально — условие фильтра в секцию WHERE автоматически добавляется условия ИМЯ_ТАБЛИЦЫ. KRN_CREATE_DATABASE_ID = RM_DATABASES_ID, для которой IS_LOCAL установлено в значение 1, и ИМЯ_ТАБЛИЦЫ. KRN_MODIFY_DATABASE_ID =RM_DATABASES_ID, для которой IS_LOCAL установлено в значение 1. Например: (FM_PRICE_CATEGORY.KRN_CREATE_DATABASE_ID = 11 AND FM_PRICE_CATEGORY.KRN_MODIFY_DATABASE_ID = 11).
В условиях можно использовать глобальные репликационные фильтры (см. Параметры фильтров).
Пример фильтра, приведенный на рис. 3.10, ограничивает выгрузку по таблице История заболевания только теми записями, ID типа записи которых равен 37.