Хитрый запрет на доступ к таблицам
Модераторы: m0p3e, edward_K, Модераторы
Хитрый запрет на доступ к таблицам
Задачу нам тут кассир наша задала: не хочу, говорит, чтобы кто-нибудь мог править создаваемые мной приходные-расходные кассовые ордера и проводки к ним. Разграничить этот доступ на уровне групп дескрипторов не получается. Делаем так:
на таблицы plpor и oborot даем всем пользователям право на чтение, право на остальные действия даем кассиру по условию descr='kassa', а остальным пользователям - по условию descr<>'kassa'. Однако при этом ни кассир, ни другие пользователи вообще не могут вносить изменения в таблицу plpor. Очевидно, что-то мы не учли, но вот что - понять не можем
на таблицы plpor и oborot даем всем пользователям право на чтение, право на остальные действия даем кассиру по условию descr='kassa', а остальным пользователям - по условию descr<>'kassa'. Однако при этом ни кассир, ни другие пользователи вообще не могут вносить изменения в таблицу plpor. Очевидно, что-то мы не учли, но вот что - понять не можем
Системный код документа в plpor'е на самом деле пофигу, так как кассир все равно документов с другим системным кодом не делает, и не имеет к ним доступа по ограничениям на меню и доступ к документам через штатные настройки модулей ФРО и Касса. Закрывать конфигуратором доступ к полям тоже нельзя, т.к. существует несколько касс, к которым кассир доступа не имеет, с ними работают другие сотрудники.
Мы встали в тупик еще и потому, что нечто подобное сделано у нас для таблицы communications. Всем пользователям открыт доступ на чтение ко всем телефонам, телефонисту (отвечающему за внутреннюю и мобильную связь) - полный к служебным мобильным и внутренним телефонам, а сотрудникам кадровой службы - полный к домашним и личным мобильным. Работает как часы. Почему то же самое не прокатило с plpor и oborot - непонятно. Разница, по большому счету, только в том, что в фильтрах на телефоны идет анализ по ссылке на тип телефона, а в plpor и oborot - по дескриптору.
Мы встали в тупик еще и потому, что нечто подобное сделано у нас для таблицы communications. Всем пользователям открыт доступ на чтение ко всем телефонам, телефонисту (отвечающему за внутреннюю и мобильную связь) - полный к служебным мобильным и внутренним телефонам, а сотрудникам кадровой службы - полный к домашним и личным мобильным. Работает как часы. Почему то же самое не прокатило с plpor и oborot - непонятно. Разница, по большому счету, только в том, что в фильтрах на телефоны идет анализ по ссылке на тип телефона, а в plpor и oborot - по дескриптору.
edward_K, через все предлагаемые Вами способы тоже не получится. У нас весьма сложная структура бухгалтерии, штатным функционалам Галки не обойтись (если могли бы, стали бы мы с протектом мучиться). Мы действительно пробовали через протект, по tidk (и уж тем более, по tidkgal) не пройдет, потому как тут разговор именно на принцЫп: "МОИ документы и проводки к ним пусть НИКТО не трогает. Я сделала - я отвечаю!". Когда она уйдет в отпуск (в отгул, на больничный), в ее кассах будет работать другой сотрудник, так что только дескриптор (к сожалению). Да, если мы снимаем ограничения на PlPor, а оставляем только на oborot - все замечательно работает
-
- Местный житель
- Сообщения: 258
- Зарегистрирован: 13 апр 2006, 11:57
- Откуда: Бегущий к Галактике
Re: Хитрый запрет на доступ к таблицам
прежде всего у нас 2 группы пользователейSheinina писал(а):Задачу нам тут кассир наша задала: не хочу, говорит, чтобы кто-нибудь мог править создаваемые мной приходные-расходные кассовые ордера и проводки к ним. Разграничить этот доступ на уровне групп дескрипторов не получается. Делаем так:
на таблицы plpor и oborot даем всем пользователям право на чтение, право на остальные действия даем кассиру по условию descr='kassa', а остальным пользователям - по условию descr<>'kassa'. Однако при этом ни кассир, ни другие пользователи вообще не могут вносить изменения в таблицу plpor. Очевидно, что-то мы не учли, но вот что - понять не можем
1. пишем ДВА условия на таблицу Plpor-группы записей (фильтры)
a. ИМЯ ФИЛЬТРА НЕ КАССИР - ПРАВА R---
условие DESCR <> 'КАССА'
b. ИМЯ ФИЛЬТРА КАССИР - ПРАВА RIUD
условие DESCR = 'КАССА'
2. у тех и других групп убираем таблицу plpor из закладки доступ к таблицам (она там не должна светиться)
3. Добавляем к каждой группе в закладке прав на условия соответствующие права
вроде должно пройти
-
- Местный житель
- Сообщения: 258
- Зарегистрирован: 13 апр 2006, 11:57
- Откуда: Бегущий к Галактике
гляньте плиз, то будет при смене условий = на <> и наоборот или смене прав R--- на RIUD и на оборот.
Лучше наверно так: DESCR <> 'КАССА' - RIUD
DESCR = 'КАССА' - R----
Далее снова проверяем. Если все редактируется под любым дескриптором, то не проходит знак равенства. Пробуем скопировать строчку 'КАССА' из условий oborot'а.
Еще лучше залезте в таблицу plpor и скопируйте условие от туда.
Лучше наверно так: DESCR <> 'КАССА' - RIUD
DESCR = 'КАССА' - R----
Далее снова проверяем. Если все редактируется под любым дескриптором, то не проходит знак равенства. Пробуем скопировать строчку 'КАССА' из условий oborot'а.
Еще лучше залезте в таблицу plpor и скопируйте условие от туда.