Вопрос про права здесь звучал неоднократно, но путем различных манипуляций я так и не сделал права так как необходимо мне

1. Вопрос 1. Как я понимаю права на записи в таблицы для пользователей и групп раздаются только для вновь создаваемых, для созданных ДО РАЗДАЧИ ПРАВ надо для каждой записи давать доступ, что естественно не очень удобно? Как я понимаю решение этой проблемы только через SQL запрос? Если стоит Firebird то как сделать данный запрос?

INSERT INTO tbl_AccountRight (ID, AccountID, AdminUnitID, CanRead, CanWrite, CanDelete, CanChangeAccess)

SELECT newid(), tbl_Account.ID, :AllUsersAdminUnitID, 1, 1, 0, 0

FROM tbl_Account

WHERE NOT EXISTS (SELECT ID FROM tbl_AccountRight WHERE tbl_AccountRight.RecordID = tbl_Account.ID

AND tbl_AccountRight.AdminUnitID = :AllUsersAdminUnitID)

А теперь плавно вытекает вопрос номер 2? У меня существует 3 группы - менеджеры продаж, администрация и руководитель отдела продаж

1. Мне надо сделать следующее - чтобы пока у менеджеров были доступны контакты, контрагенты, задачи. Но только каждые для себя. Впринципе я это сделал (но опять же вопрос если я захочу впоследствии разрешить им просматривать контакты друг друга, то старые контакты они не увидят, а увидят только вновьсозданные?)

2. Мне надо сделать для администрации просмотр всех записей, то есть включено все. Бог с этим, в группе два пользователя и в свойствах их учеток я указал что они администраторы. Вопрос вроде бы решен, но хотелось бы чтобы у них были все права на просмотр всех записей, но были доступны пока только например контакты и контрагенты, но впоследствии при включении например воздействий и инцидентов, они бы увидели их все и без админских прав

3. И вот главный вопрос - администрация создает воздействия, я вроде бы дал права на воздействия и справочник. Но при нажатии на кнопку воздействия при создании контакта он выводит мне пустой список, то есть воздействий не видит в упор. Я и после раздачи прав создавал воздействия - все равно менеджеры их не видят. Объясните мне по порядку, как сделать чтобы администрация создавала воздействия и менеджеры их потом могли выбрать при создании контакта?

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

Нравится

6 комментариев

Наверное, Вы не поняли все до-конца :)
Права раздаются
1. Целиком на разделы(таблицы). Т.е. Наверняка, Вашим менеджерам просто не разрешён доступ к воздействиям в принципе.
2. На записи (см. закладку доступ). Вы можете выделить несколько записей и дать доступ, например, менеджерам, на все выделенные записи.
3. Права на поля, но пока углублятся не будем.

И, главное, есть понятие "Права доступа по умолчанию". Т.е. мы указываем что при создании записи в разделе Х, пользователем/группой Y, нужно давать такой-то доступ пользователю/группе Z. Права доступа по умолчанию определяют порядок раздачи прав при создании записей.

Если Вы хотите раздать доступ на уже созданные записи, их нужно раздавать либо вручную, как описано мною выше, либо запросом, как описано Вами Выше.

1. Мне надо сделать следующее - чтобы пока у менеджеров были доступны контакты, контрагенты, задачи. Но только каждые для себя. Впринципе я это сделал (но опять же вопрос если я захочу впоследствии разрешить им просматривать контакты друг друга, то старые контакты они не увидят, а увидят только вновь созданные?)

Правильно, но только не вновь созданные, а вновь создаваемые. Для уже существующих нужно раздавать права скриптом или вручную.
Автоматом не получиться! Т.к. возникает куча ньюансов, например, не стандартный доступ (Главных супер-ВИП клиента никто и никогда не должен видеть, а такой массовой раздачей мы сделаем его видимым).

2. Мне надо сделать для администрации просмотр всех записей, то есть включено все. Бог с этим, в группе два пользователя и в свойствах их учеток я указал что они администраторы. Вопрос вроде бы решен, но хотелось бы чтобы у них были все права на просмотр всех записей, но были доступны пока только например контакты и контрагенты, но впоследствии при включении например воздействий и инцидентов, они бы увидели их все и без админских прав

Раздайте на все разделы следующий доступ по умолчанию: Если все пользователи создают запись в разделе Х, группа Администрация получает полный доступ. Теперь на все создаваемые записи администрация будет получать полный доступ.

3. И вот главный вопрос - администрация создает воздействия, я вроде бы дал права на воздействия и справочник. Но при нажатии на кнопку воздействия при создании контакта он выводит мне пустой список, то есть воздействий не видит в упор. Я и после раздачи прав создавал воздействия - все равно менеджеры их не видят. Объясните мне по порядку, как сделать чтобы администрация создавала воздействия и менеджеры их потом могли выбрать при создании контакта?

Посмотрите есть ли у пользователей права в принципе видеть воздействия и есть ли у них доступ на конкретное воздействие.

И почитайте руководство пользователя :)

п1.
Теперь я вроде в кое-чем разобрался, но допустим я выбираю группу Администрация, выбираю вкладку "Права по умолчанию на таблицы" выбираю элемент контакт и в правах добавляю группу менеджеры. По идее любой из группы менеджеры видит созданную теперь запись из группы Администрации. Но они не видят, причем например если вместо группы Администрации выбрать конкретного юзера и уже на него поставить "права по умолчанию" для группы менеджеры, то его записи менеджеры видят. То есть что получается Группа на группу права не наследуют? Или есть какой-то подводный камень в этом?

п2.
Посмотрите есть ли у пользователей права в принципе видеть воздействия и есть ли у них доступ на конкретное воздействие.

Конечно, права выставлены также через "права по умолчанию на таблицы", после этого создано администрацией новое воздействие, но при создании контакта в справочнике снова менеджеры не видят их. Опять же может группа не может давать права группе? См п.1

1. Права не наследуются. Пользователь входит в группу, только если он непосредственно входит в группу.
2. Группа может давать права группе. Когда вы настраиваете права по умолчанию. Слева вы выбираете, кто дает, справа на что, снизу, кому даются права. Проверьте еще раз. Результат должен быть следующий: После создания записи в разделе справа, тем, кто непосредственно входит в группу слева, должны быть розданы права тем, кто внизу.
Если внизу группа, права даются тем, кто непосредственно входит в группу.

Я нашел в чем проблема, почему то когда даешь права чисто супервизору, то при создании им записей менеджеры видят их, но если даешь на группу, в которой находится супервизор, то его контакты не видны менеджерам. А если контакт делать другим пользователем из этой группы (группы администраторы), то менеджеры его контакты видят. Странное творится с этим супервизором :)

Кхм, и все-таки на все права раздается, а на воздействия нет. Я иммею ввиду пункт "Воздействия" при создании контакта, при нажатии в меню пусто. В чем может быть дело? Дал права на воздействия и справочники

Все, разобрался сам

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