Имя: Пароль:
1C
1С v8
Ограничение доступа к Себестоимости
0 dark_avenger
 
03.01.12
09:56
Для начала хочу поздравить с новым годом всех форумчан!

А теперь задачка. Требуется ограничить доступ для одного пользователя в типовой базе УТ (8.1) на возможность видеть себестоимость. Начал анализировать как это можно реализовать...

1. RLS - никак не могу дать ума установить ограничение на поле Стоимость в регистре Закупки... ограничение ставится на все поля... Как можно ограничить только поле Стоимость? По аналогии я сделаю тоже самое для других регистров, в которые попадает себестоимость.

2. Подумал про подмену данных путем неявной подписки на открытие форм (типа редактирования номера) в общем вклинится в процесс открытия формы не проблема, но ведь помимо документов есть еще и отчеты... Поэтому этот способ решил отложить...

К сожалению имея больщой опыт работы с программированием в 1С 7.7 и 8.1 я не сталкивался с задачами по ограничению на поля, а сейчас когда надо сделать, никак не допру как... Общий принцип ограничения понятен, но не пойму как наложить его именно на одно поле.
1 dark_avenger
 
03.01.12
10:09
Да еще сейчас в голову пришел 3 вариант сделать распределенку, но смущает то что это всего для одного пользователя, а такое решение очень дорого обойдется...
2 kosts
 
03.01.12
10:20
(0) При настройке прав, в роли есть галочка "независимые права подчиненных объектов". Может поможет
3 MadHead
 
03.01.12
10:28
(1) Лучший вариант перейти на 8.2
(2) Эта галочка появилась в 8.2. Да и врядле она чем-то поможет.
4 MadHead
 
03.01.12
10:42
(3) Хотя проверил. Нстройка прав до реквизита работае только в УФ
5 dark_avenger
 
03.01.12
10:55
(3) Поставить клиента 8.2 не проблема, а вот перевести на УФ пока возможности нет, слишком много выполнено доработок, которые еще не адаптированы к работе в режиме управляемых форм. К сожалению с обычными формами эта галочка не дает никакого эффекта (
6 pumbaEO
 
03.01.12
11:46
Ограничить в принципе на регистр права, а движения делать в привилегированном модуле.
7 Vladal
 
03.01.12
11:56
Слепи новую роль "ОграничениеСебестоимости" и если такая роль у юзера есть - скрывай колонку себестоимости в списке регистра.

Это так, навскидку, поовнокодить.
8 dark_avenger
 
03.01.12
12:02
(6) Эту идею надо покурить, спасибо.
(7) Думал уже об этом, и в списке и в доках можно спрятать любые колонки, но есть же еще и отчеты. В общем по времени не оправдано получается.
9 Vladal
 
03.01.12
12:13
(8) Тогда самый действенный способ в (6) - проводить-то он сможет, а прочитать движения нет. Соответственно, не увидит "себестоимость".
10 pumbaEO
 
03.01.12
12:35
Подмена формы это гоонокод. Доказательство - Отчеты.
11 dark_avenger
 
03.01.12
19:24
(6) К сожалению этот вариант тоже не подойдет, так как невозможно заблокировать только себестоимость. Ведь остальные данные должны быть доступны. К тому же само обращение к регистру на столько разбросано в конфигурации, что необходимо менять как минимум 3-4 модуля.
Может быть есть еще какие-то варианты ограничения доступа к регистрам накопления? Неужели такая тривиальная задача неразрешима в типовой конфигурации?
12 pumbaEO
 
03.01.12
19:40
RLS на чтение для этого пользователя всегда сделай в ЛОЖЬ.
13 dark_avenger
 
04.01.12
07:22
(12) Но ведь тогда он не сможет формировать отчеты, в которых задействованы другие данные, например остаток.
14 Amiralnar
 
04.01.12
07:24
(13) > Стоимость в регистре Закупки.
Какие остатки?
15 dark_avenger
 
04.01.12
17:44
(14) Да я на вскидку... по закупкам - например формируются анализы закупок, планы, отчеты по закупкам.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.