Проблемы с деревом групп в разделе Email

После переноса базы возникла проблема с фильтрацией реестра email по группам (Входящие, Исходящие, и пр.). В группе "Все сообщения" отображается только небольшая часть сообщений (по какому признаку они выбрались не понятно), хотя в правах доступа к группе для Всех пользователей стоит полный доступ. Как выяснилось, все сообщения отображаются только под "старым" Администратором, который был первоначально (в данный момент этот аккаунт уже не админ). Также все сообщения под любым пользователем отображаются, если создать в группах динамическую группу. Создание динамических групп принято как временное решение, но хотелось бы решить проблему.

Нравится

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

Здравствуйте, Дмитрий.

Посмотрите, пожалуйста, профайлером какие запросы бегают к БД при смене групп (все сообщения, входящие, исходящие и пр.) - если никаких "лишних" фильтров не накладывается, нужно смотреть в сторону прав доступа не на группу, а на записи в таблице раздела E-Mail.
Хотя странно то, что при создании дин. группы - письма отображаются корректно...

Профайлера нет, посмотреть к сожалению не получится. Насчет прав, на всех сообщениях права прописаны, для групп тоже (для всех пользователей). Все письма видит только сис админ. Где могут накладываться эти "лишние" фильтры?

В функции:
ApplyMailsWorkspaceFilter() скрипта scr_MailWorkspace
Закомментировал наложение фильтра:

ApplyDatasetFilter(BaseWorkspace.GridDataset, 'OwnerID',
		Connector.CurrentUser.ContactID,
		!BaseWorkspace.GroupsDataset.ValAsBool('IsFiltered'));

Теперь все вроде бы работает. Вопрос: на что это может повлиять, и как он должен правильно работать?

Добрый день!

Дмитрий, повлияет это только на количество отображаемых сообщений. Проблем возникнуть не должно.

Логика в том, что в разделе E-mail должны отображаться лишь те сообщения, по которым текущий пользователь является ответственным.

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