Помогите сделать фильтр:
Проблема такая: делаю в коде фильтр реестра (показать записи где я ответственный или записи где контрагенты с типом "Дебитор"). Делаю его в 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); }
Нравится
Вы можете настроить для данной таблицы права доступа на записи.
Само правило раздачи прав доступа реализовать, например, в бизнес-процессе, а бизнес-процесс запускать при сохранении новой записи или при сохранении существующей, но только в том случае, если менялись значения либо поля 'Ответственный', либо поля "Тип" = "Дебитор".