Метки записи: |
Как организовать фильтр в динамической группе "Не выбран реквизит Страна" раздела "Компании"?
Сделать динамическую группу "Выбран реквизит Страна" получается, вот так:
Компания: Страна равно Россия или
Компания: Страна равно Украина или
Компания: Страна равно Казахстан или
Компания: Страна равно Туркменистан и т.п.
Но это не дело...
Помогите! Как в фильтре пользоватся статусом Выбран, не Выбран?
Комментарии
Создайте булевый фильтр с таким текстом:
((cm_Company.Country_id is not null) and (1 #SIGNVALUE#)))
Non noceo.
Спасибо со странами работает.
А как это будет выглядеть для Отрасли?
Я пробую вот так , не получается... :(
(((cm_Company.id in (Select Company_id From cm_CompanyActivity where industry_id is null)
) and (0 #SIGNVALUE#)) or
((cm_Company.id in (Select Company_id From cm_CompanyActivity where industry_id is not null))
and (1 #SIGNVALUE#)))
P.S.: Может я и бред написал, но мы только учимся... ;)
Может поменять на:
(((cm_Company.id in (Select Company_id From cm_CompanyActivity where industry_id is null)
) and (0 #SIGNVALUE#)) or
((cm_Company.id not in (Select Company_id From cm_CompanyActivity where industry_id is null))
and (1 #SIGNVALUE#)))
?
Non noceo.
Спасибо, так работает. :)
Уже ошибки не говорит.
Но! Сейчас True работает, все у которых выбрана отрасль фильтрует, а вот False не фильтрует. :(
Как оказалось не фильтрует даже выбранные, т.е. не True не False не работают.
При True выводит все записи и с выбраными отраслями и не выбраными, при False нет ни одной записи вообще.
Используйте такой фильтр:
(not exists (SELECT company_id FROM cm_companyactivity WHERE company_id = cm_company.id))
and (0 #SIGNVALUE#)) or
(
(exists (SELECT company_id FROM cm_companyactivity WHERE company_id = cm_company.id))
and (1 #SIGNVALUE#)))
Non noceo.
Давно пора сделать системную возможность отбирать поля с пустыми записями! А то я тоже сексом занимаюсь :( с подобными выборками и написанием спецфильтров.
Ничто не является хорошим или плохим, все зависит от того, как мы смотрим на вещи
Ребята! Делайте фильтр по настраиваемому списку. А список формируйте так:
select id, Name from cm_Country
union
select 0 as id, 'Не выбрано' as Name
И фильтруйте
IsNull(Country_id, 0) #SIGNVALUE#
Отлично! Спасибо, Валентин, совет работает! То что давно ждали большевики свершилось :) И Как просто.
Но нет предела совершенству. После модификации фильтра предложенным способом записи в списке стран выводятся в физическом порядке :(, хотел их отсортировать в алфавитном и сдела так
union
select id, Name from cm_Country order by Name
вроде работает! Спасибо за совет!
Ничто не является хорошим или плохим, все зависит от того, как мы смотрим на вещи
Рады, что проблема решилась! :)
)