Страница 1 из 1
Хитрый запрет на доступ к таблицам
Добавлено: 04 май 2009, 14:49
Sheinina
Задачу нам тут кассир наша задала: не хочу, говорит, чтобы кто-нибудь мог править создаваемые мной приходные-расходные кассовые ордера и проводки к ним. Разграничить этот доступ на уровне групп дескрипторов не получается. Делаем так:
на таблицы plpor и oborot даем всем пользователям право на чтение, право на остальные действия даем кассиру по условию descr='kassa', а остальным пользователям - по условию descr<>'kassa'. Однако при этом ни кассир, ни другие пользователи вообще не могут вносить изменения в таблицу plpor. Очевидно, что-то мы не учли, но вот что - понять не можем
Добавлено: 04 май 2009, 16:47
oiko
на plpor забыли системный код документа а на проводки может быть по-сложнее, надо экспериментировать - может проще конфигурацией фейса запретить остальным пользователям доступ к полям ордеров.
Добавлено: 04 май 2009, 17:13
Sheinina
Системный код документа в plpor'е на самом деле пофигу, так как кассир все равно документов с другим системным кодом не делает, и не имеет к ним доступа по ограничениям на меню и доступ к документам через штатные настройки модулей ФРО и Касса. Закрывать конфигуратором доступ к полям тоже нельзя, т.к. существует несколько касс, к которым кассир доступа не имеет, с ними работают другие сотрудники.
Мы встали в тупик еще и потому, что нечто подобное сделано у нас для таблицы communications. Всем пользователям открыт доступ на чтение ко всем телефонам, телефонисту (отвечающему за внутреннюю и мобильную связь) - полный к служебным мобильным и внутренним телефонам, а сотрудникам кадровой службы - полный к домашним и личным мобильным. Работает как часы. Почему то же самое не прокатило с plpor и oborot - непонятно. Разница, по большому счету, только в том, что в фильтрах на телефоны идет анализ по ссылке на тип телефона, а в plpor и oborot - по дескриптору.
Добавлено: 04 май 2009, 17:17
edward_K
есть еще права по статусу документа и меню.
Практически везде - настройка - доступ к документам.
А вы пробовали через протект так понимаю? попробуйте даь полные права + права по условию (но tidkgal наверное, а не descr)
Добавлено: 04 май 2009, 17:35
Sheinina
edward_K, через все предлагаемые Вами способы тоже не получится. У нас весьма сложная структура бухгалтерии, штатным функционалам Галки не обойтись (если могли бы, стали бы мы с протектом мучиться). Мы действительно пробовали через протект, по tidk (и уж тем более, по tidkgal) не пройдет, потому как тут разговор именно на принцЫп: "МОИ документы и проводки к ним пусть НИКТО не трогает. Я сделала - я отвечаю!". Когда она уйдет в отпуск (в отгул, на больничный), в ее кассах будет работать другой сотрудник, так что только дескриптор (к сожалению). Да, если мы снимаем ограничения на PlPor, а оставляем только на oborot - все замечательно работает
Re: Хитрый запрет на доступ к таблицам
Добавлено: 04 май 2009, 21:01
Начинающий путь
Sheinina писал(а):Задачу нам тут кассир наша задала: не хочу, говорит, чтобы кто-нибудь мог править создаваемые мной приходные-расходные кассовые ордера и проводки к ним. Разграничить этот доступ на уровне групп дескрипторов не получается. Делаем так:
на таблицы plpor и oborot даем всем пользователям право на чтение, право на остальные действия даем кассиру по условию descr='kassa', а остальным пользователям - по условию descr<>'kassa'. Однако при этом ни кассир, ни другие пользователи вообще не могут вносить изменения в таблицу plpor. Очевидно, что-то мы не учли, но вот что - понять не можем
прежде всего у нас 2 группы пользователей
1. пишем ДВА условия на таблицу Plpor-группы записей (фильтры)
a. ИМЯ ФИЛЬТРА НЕ КАССИР - ПРАВА R---
условие DESCR <> 'КАССА'
b. ИМЯ ФИЛЬТРА КАССИР - ПРАВА RIUD
условие DESCR = 'КАССА'
2. у тех и других групп убираем таблицу plpor из закладки доступ к таблицам (она там не должна светиться)
3. Добавляем к каждой группе в закладке прав на условия соответствующие права
вроде должно пройти
Добавлено: 05 май 2009, 12:27
Sheinina
Именно так мы и сделали. Так вот - не проходит. Причем не проходит конкретно для plpor, для таблицы oborot все работает
Добавлено: 05 май 2009, 21:55
Начинающий путь
гляньте плиз, то будет при смене условий = на <> и наоборот или смене прав R--- на RIUD и на оборот.
Лучше наверно так: DESCR <> 'КАССА' - RIUD
DESCR = 'КАССА' - R----
Далее снова проверяем. Если все редактируется под любым дескриптором, то не проходит знак равенства. Пробуем скопировать строчку 'КАССА' из условий oborot'а.
Еще лучше залезте в таблицу plpor и скопируйте условие от туда.