Недавно столкнулся с задачей отфильтровать контакты по наличию фото.
Реализуется задача путем добавления пользовательского фильтра в сервис sq_Contact.
- Находим сервис Contacts\General\Main Grid\sq_Contact и добавляем в его в блок условий WHERE новый Exists Filter
- Назовите его PhotoExistsFilter
- В блок FROM добавьте таблицу tbl_Contact, задайте ей псевдоним tbl_ContactPhoto
- В его блок Select добавьте колоку ID из таблицы tbl_ContactPhoto
- В блок WHERE из таблицы tbl_Contact AS tbl_ContactPhoto добавьте фильтр сравнения (Compare Filter) c проверкой условия tbl_Contact.ID = tbl_ContactPhoto.ID
- В этот же блок WHERE из таблицы tbl_Contact AS tbl_ContactPhoto добавьте пользовательский булевский фильтр. Укажите заголовок: Фото есть, Группа - Контакт
- В блок Select пользовательского булевского фильтра добавьте SQL-колонку CustomSQLColumn с содержанием: (case when Photo is null then 0 else 1 end)
- В Блоке FROM задайте таблицу tbl_Contact и задайте ей псевдоним ContactPhoto
- В поcледний блок WHERE добавьте еще один фильтр сравнения:
- Проверьте, чтоб родительский узел фильтра Exists Filter не был отмечен галочкой (должен быть в сосотянии отключен). Все остальные элементы должны быть включены.
Сохраните изменения, перезапустите клиентскую часть. Проверьте функционал:
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать