Вопрос

Быстрый фильтр в разделе

Коллеги. Нужна Ваша помощь. Такой кейс: У меня в разделе "Обращения" есть деталь "Соисполнители". Я хочу добавить в раздел быстрый фильтр, который будет отображать только те обращения, у которых в "Соисполнителях" есть указанный сотрудник.

Я посмотрел как подобный фильтр строится в разделе Активности (там есть подобная деталь "Участники активности") и попытался сделать что-то похожее. 

Но есть одно отличие - мне не нужно отображать обращения, где указанный контакт является Ответственным. Как правильно добавить второй фильтр?

{
    name: "UsrEmployee",
    caption: this.get("Resources.Strings.UsrEmployeeCaption"),
    addNewFilterCaption: "Выбрать",
    columnName: "Owner",
    defValue: this.Terrasoft.SysValue.CURRENT_USER_CONTACT,
    dataValueType: this.Terrasoft.DataValueType.LOOKUP,
    filter: BaseFiltersGenerateModule.OwnerFilter,
    appendFilter: function(filterInfo) {
        var confirmedFilter;
        if (filterInfo.value && filterInfo.value.length > 0) {
            confirmedFilter = new Terrasoft.createFilterGroup();
            confirmedFilter.add("CaseCoExecutorFilter", 
                Terrasoft.createColumnInFilterWithParameters(
                    "[UsrCoExecutor:UsrCase].UsrEmployee",
                    filterInfo.value));
                }
                return confirmedFilter;
         }
}

 

Нравится

3 комментария

Привет посмотри группировку фильтров (по операциям И и ИЛИ) пример с описанием тут

Григорий Чех,

Добрый день, Григорий, спасибо за ссылку, я в принципе уже пробовал группировать фильтры, но у меня скорей проблема с параметром (путь), который я передаю в фильтр, не совсем улавливаю что я делаю))

Я пробовал добавить второй фильтр вот так:

confirmedFilter.add("NotOwnerFilter", Terrasoft.createColumnFilterWithParameter(
    Terrasoft.ComparisonType.NOT_EQUAL,
    "Owner",
    filterInfo.value,
    Terrasoft.DataValueType.GUID));

Но это безуспешно)

Примеры наложения фильтров есть здесь, у Вас вроде бы всё аналогично, кроме четвёртого параметра с типом. Может, два фильтра в группу не так объединили или поля не так называются. Или в filterInfo.value не в том формате и нужно преобразовать. Если есть доступ к серверу, можно посмотреть в профайлере, какой запрос уходит в базу.

Показать все комментарии