Вопрос

Помогите с фильтром в esq

Помогите сделать фильтр:

Проблема такая: делаю в коде фильтр реестра (показать записи где я ответственный или записи где контрагенты с типом "Дебитор"). Делаю его в initQueryFilters

Все нормально фильтруется.

Но если зайти в расширенный фильтр и проставить другого ответственного. То мне отображаются чужие записи, которые  не должен видеть.

Т.е получается запрос вида owner= 'Иванов'(расширенный фильтр) OR owner = 'Я' OR Тип='Дебитор' . 

В какую сторону копать? В документации ничего не нашел

 

 

 

if(user=='Бизнес менеджер'){
  //esq уже на данном этапе содержит фильтр прилетевший от расширенного фильтра
 
  esq.filters.logicalOperation = Terrasoft.LogicalOperatorType.OR;
 
  //Мои фильтры
  var filterOwner = Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,"Owner", key);
  sq.filters.addItem("Ответственный по контрагенту",filterOwner);
 
  var filterType = Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,"Type", tDebt);
  esq.filters.addItem("Тип контрагента",filterType);
 
}

 

Нравится

1 комментарий

Вы можете настроить для данной таблицы права доступа на записи.

Само правило раздачи прав доступа реализовать, например, в бизнес-процессе, а бизнес-процесс запускать при сохранении новой записи или при сохранении существующей, но только в том случае, если менялись значения либо поля 'Ответственный', либо поля "Тип" = "Дебитор".

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