Имя: Пароль:
1C
1С v8
проблема с правами
0 ERWINS
 
03.02.13
21:38
у документа есть поле статус новый/старый

пользователь должен видеть только заявки новый и иметь право изменить их на старый...
что то не ясно как это делать...
1 ERWINS
 
03.02.13
21:39
если ограничить права на чтение только статус новые то при записи старые возникает ошибка
2 Snovy
 
03.02.13
21:42
Я что-то подобное делал во времена 8.0.1. Через форму списка. Т.е на форме списка вешал подменю изменения статусов документов. Там рулить легче правами. Причем РЛС не использовался вообще. Права на изменение статуса назначались настройками в справочнике пользователей.
3 kosts
 
03.02.13
21:57
-В правах разреши запись.
-Перед записью анализируй ссылку документа, если в ссылке уже установлен "старый", то запрещай запись. (ну и админу не запрещай любую запись).
-В списке сделай отбор по новым.
4 Snovy
 
03.02.13
21:59
(3) п.2 похоже лишний, автору это не требуется
5 ERWINS
 
03.02.13
22:00
так сделал

&НаСервере
Процедура ЗаписатьПривелегированно()
   Об=Объект.Ссылка.ПолучитьОбъект();
   ЗаполнитьЗначенияСвойств(Об,Объект);
   УстановитьПривилегированныйРежим(истина);
   Об.Записать();
   УстановитьПривилегированныйРежим(ложь);
конецпроцедуры
6 ERWINS
 
03.02.13
22:03
не знаю на сколько  глупо...
7 kosts
 
03.02.13
22:15
(5) Не нужно усложнять с привилегированным режимом.
(4) Ну это если можно гарантировать, что пользователь никогда не сможет открыть форму "старой" заявки...
8 ERWINS
 
03.02.13
22:49
(3) надо ограничивать чтение, а не запись
9 Snovy
 
03.02.13
22:51
(8) Чтение или "видеть"? Какую задачу решаете - что бы пользователь не видел данные или не украл данные?
10 ERWINS
 
04.02.13
02:23
(9) не видел
11 kosts
 
04.02.13
06:10
(8) Если пользователю может быть доступна смена заявки с нового на старый и со старого на новый. То можно ограничиться отбором на форме.
Если ему запрещена смена старого на новый, то нужно ограничивать запись, а отбор дело второстепенное.

В общем описывать задачу нужно точнее.