Перейти к содержимому


Настройки фильтра


Сообщений в теме: 7

#1 TelecomMedia

    Активный участник

  • Пользователи
  • PipPipPip
  • 378 сообщений

Отправлено 22 Июль 2015 - 15:39

В т. "Наши сотрудники" есть поле "Группа" со значениями Группа1, Группа2 и Группа3.

Соответственно в каждой из групп - по 4 человека (3 менеджера по продажам и 1 старший менеджер).

Как сделать, чтобы под фильтром "Моя группа" (отображаемый для группы доступа "старшие менеджеры) отображался текущий состав группы (к которой принадлежит старший менеджер) и не отображались участники других групп?

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 23 Июль 2015 - 09:49

Не совсем понял, в чем проблема. Создаете фильтр и ставите условие "Группа равно {текущая группа}".

#3 TelecomMedia

    Активный участник

  • Пользователи
  • PipPipPip
  • 378 сообщений

Отправлено 23 Июль 2015 - 14:47

Такого условия выбрать нельзя.
Из предлагаемых: Пусто, Группа1, Группа2, Группа3.

Если я выберу, например, Группу1, то только она и будет отображаться

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 23 Июль 2015 - 16:51

А какой тип поля то? "Список"? Должен быть тип "группа", только он позволяет использовать текущую группу пользователя (и собственно для этого и создан).

#5 TelecomMedia

    Активный участник

  • Пользователи
  • PipPipPip
  • 378 сообщений

Отправлено 24 Июль 2015 - 10:10

Я понимаю, что есть такой тип поля, но это не совсем то, что нужно.
Моя Группа1 - это не группа доступа, а можно назвать Команда, которая находится под руководством старшего.
Как раз ему и нужно видеть только тех сотрудников, у которых в поле типа список "Группа" было тоже значение Группы, что и у старшего менеджера.

Старший менеджер1 ("Группа" = Группа1) видит всех сотрудников у кого "Группа" = Группа1
Старший менеджер2 ("Группа" = Группа2) видит всех сотрудников у кого "Группа" = Группа2
.....

#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 24 Июль 2015 - 10:21

Для вашего фильтра в любом случае нужно каким-то образом определять текущую "группу" пользователя, который открыл этот фильтр. Напрямую же можно определить только самого пользователя и его группу доступа, для соответствующих типов полей. Вашу же "группу" можно вытащить только косвенно, через вложенный запрос к таблице Наши сотрудники, с обращением по полю "пользователь" в этой таблице. Разумеется все это нужно делать в режиме эксперта настроек условия фильтра.

#7 TelecomMedia

    Активный участник

  • Пользователи
  • PipPipPip
  • 378 сообщений

Отправлено 24 Июль 2015 - 13:12

Можете привести пример вложенного запроса? Впервые с этим сталкиваюсь.

#8 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 24 Июль 2015 - 14:52

`Группа` = (SELECT f111 FROM f_data46 WHERE f1400='{current}')

Вместо 111 подставьте реальный id вашего поля Группа. Если у вас не SaaS, а веб- или локальная версии, поменяйте f_data на cb_data. Все остальные данные соответствуют стандартной таблице Наши сотрудники.

Подзапрос здесь возвращает значение поля Группа из записи таблицы Наши сотрудники, у которой поле Пользователь равно текущему пользователю.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных