Имя: Пароль:
1C
1C 7.7
v7: Разграничение доступа по имени пользователя
0 rosalin
 
06.03.12
19:12
Как сделать так чтобы определённые пользователи 1-2 по ИмяПользователя могли вносить данные в поля формы справочника Номенклатура, остальные только эти данные просматривать  

Грубо говоря разграничить доступ к полям формы справочника ,
Раньше делал по набору прав

Если НазваниеНабораПрав()<>"Администратор" Тогда
Форма.Код.Доступность(0);

, но сейчас это не подходит
1 Rie
 
06.03.12
19:15
(0) Раз сейчас не подходит - значит, надо сделать иначе, не так ли?
2 Mikeware
 
06.03.12
19:16
(1) капитан?
3 Конфигуратор1с
 
06.03.12
19:17
(0) а добавить признак в справочник пользователи?
4 Rie
 
06.03.12
19:18
+(3) Или сделать дополнительный справочник "Полномочия пользователя" a la типовая "Торговля".
5 Rie
 
06.03.12
19:19
(2) Пробуюсь на роль.
6 Конфигуратор1с
 
06.03.12
19:20
(0) была у меня как то безумная  идея - не успел реализовать на 8ку перешли: Создаем справочник конфигурация, где храним структуру конфигурации, создаем подчиненный пользователям справочник настройки доступа к документам и справочникам. И там выставляем уже права. Типа РЛС на 8ке.
7 Конфигуратор1с
 
06.03.12
19:21
можно пойти далее и прописать до реквизитов. Единственный минус - при открытии в каждом справочнике в процедуре приоткрытии прописывать ссылку на процедуру в глобальнике, где идет проверка
8 rosalin
 
06.03.12
19:21
А так не будет работать ??

Если ИмяПользователя()<>"ИвановИИ" Тогда
       Форма.Код.Доступность(0);
9 Конфигуратор1с
 
06.03.12
19:22
(8) будет
10 Конфигуратор1с
 
06.03.12
19:22
(8) только есть минус - если этого Иванова ИИ уволят, а примут нового Иванова И.И. - придется менять конфу))))
11 palpetrovich
 
06.03.12
19:23
(10) ну что, зато всегда при деле ;)
12 Mikeware
 
06.03.12
19:24
(7) на это есть перехватчик...
13 Grobik
 
06.03.12
19:24
(8) пятница?
14 Конфигуратор1с
 
06.03.12
19:24
(10) + случай из моей франчевой молодости. Пришел как то в фирму, добавил пользователя, назначил стандартную роль. А документы то некоторые не открываются. Только спустя полчаса осенило по имени пользователя поискать и нашел таки - если Если ИмяПользователя()<>"Маша" Тогда
       Сообщить("Недостаточно прав доступа"); СтатусВозврата(0);
15 Конфигуратор1с
 
06.03.12
19:24
(12) в 7ке????
16 rosalin
 
06.03.12
19:24
Ну неудачно показал пример
Три  Имя пользователя Менеджер Технолог Дизайнер
17 Конфигуратор1с
 
06.03.12
19:25
(16) дык а роли чем тогда не подходят?
18 Mikeware
 
06.03.12
19:25
(15) конечно... :-))
19 rosalin
 
06.03.12
19:26
Ну да наверное роли лучше , сразу сделать
20 Конфигуратор1с
 
06.03.12
19:30
(18) так то не штатно, наверное ....
21 rosalin
 
06.03.12
19:45
Сделал так , что то засомневался

Процедура ПриОткрытии()  
   
                  Если НазваниеНабораПрав()<>"Администратор" Тогда  
                      Если НазваниеНабораПрав()="Менеджер" Тогда
         Форма.ТипЛак.Доступность(0);
КонецЕсли;
КонецЕсли;
22 FN
 
06.03.12
19:48
(21) так читабельней

Форма.ТипЛак.Доступность(0);
Если НужноеУсловие1 тогда
Форма.ТипЛак.Доступность(1);
КонецЕсли;
Если НужноеУсловие3 тогда
Форма.ТипЛак.Доступность(1);
КонецЕсли;
Если НужноеУсловие4 тогда
Форма.ТипЛак.Доступность(1);
КонецЕсли;
Если НужноеУсловие5 тогда
Форма.ТипЛак.Доступность(1);
КонецЕсли;
23 Rie
 
06.03.12
19:50
(21) Если НазваниеНабораПрав()="Менеджер", то уж точно НазваниеНабораПрав()<>"Администратор". Поэтому внешний условный оператор - лишний.
24 rosalin
 
06.03.12
19:56
спасибо вроде понятно
25 SaM58
 
06.03.12
21:46
(10)был похожий случай, только Иванова вышла замуж и стала Петровой, ну и сама себя переименовала )))