Имя: Пароль:
1C
1С v8
КА Практический пример ограничения доступа к чужим документам
0 Мимохожий Однако
 
05.04.12
09:49
Есть ли где-нибудь практический пример реализации ограничения доступа пользователей (кроме тех, что с Полными правами) к документам других пользователей? Например, по признаку Ответственный. Интересуют прежде всего варианты без кардинальных изменений конфигурации.
1 ukolabrother
 
05.04.12
09:51
RLS?
2 Мимохожий Однако
 
05.04.12
10:15
(1)ОК. С чего начать настраивать? Это в режиме Предприятие или Конфигуратор?
3 m-serg74
 
05.04.12
10:19
(2) Конфигуратор конечно
4 FIXXXL
 
05.04.12
10:23
(0) а типовые РЛС в КА на что нацелены?
5 ukolabrother
 
05.04.12
10:33
(4) скорей всего на организацию
6 ukolabrother
 
05.04.12
10:36
(2) Начинать лучше всего с ЖКК
7 Мимохожий Однако
 
05.04.12
11:12
(4)Если знаешь - подскажи.
(6)ЖКК есть.
Пока нахожусь в режиме "Угадал все буквы, но не смог назвать слова")))
8 bVana
 
05.04.12
11:19
(0) подписка на событие передОткрытием. так можно запретить просмотр. и минимум изменений
9 Мимохожий Однако
 
05.04.12
11:23
(8)Спасибо.Это как альтернатива пока не понятой RLS.
10 Джинн
 
05.04.12
11:24
(8) Угу. А отчетами смотри что хочешь. Офигительное ограничение.

(0) Ответственного переехал трамвай... Начальник ответственного захотел посмотреть его документ... Ответственный уехал в командировку, а тут его клиент звонит... Ваши действия?
11 Мимохожий Однако
 
05.04.12
11:25
(10)Уточняю. Задача только в том, чтобы не изменяли не свои документы. Смотрят пусть всё, что хотят.
12 DrShad
 
05.04.12
11:26
(10) ну по всем какнонам классики, кроме запрета по ответственному, должен еще быть юзер или несколько, которым можно смотреть все
13 FIXXXL
 
05.04.12
21:19
(7) не видел КА
по Контрам там разве нет шаблонов РЛС?
14 Юрий Лазаренко
 
05.04.12
21:51
Пример решения задачи "Ограничение доступа к документу "Платежное поручение исходящее", содержащему определенных контрагентов".

Ограничиваем доступ к определенным сотрудникам (контрагентам и физическим лицам). Для этого:
1. Вводим новую группу доступа контаргентов (ГДК)
2. Вводим новую группу доступа физических лиц (ГДФЛ)
3. В меню "Доступ на уровне записей - Параметры" включаем флажки "Ограничить доступ на уровне записей", "Контрагенты" и "Физические лица"
4. Вводим две группы пользователей: "Все" и "Имеют доступ к ЗП"
5. Заносим в группы пользователей соответствующих пользователей
6. В форме справочника ГДК в меню выбрать пункт "Настройка доступа - Доступ к текущему элементу". В первой строке вводим "Все", "Только для текущего права", остальные флажки отключены. Во второй строке вводим "Имеют доступ к ЗП", "Только для текущего права", остальные флажки включены.
7. В форме справочника ГДК в меню выбрать пункт "Настройка доступа - Доступ к справочнику в целом". В первой строке вводим "Все группы пользователей", "Только для текущего права", остальные флажки включены.
8. В форме справочника ГДФЛ в меню выбрать "Права - Доступ к текущему элементу". В первой строке вводим "Имеют доступ к ЗП", "Только для текущего права", остальные флажки включены. Во второй строке вводим "Все", "Только для текущего права", остальные флажки отключены.
9. В форме справочника ГДФЛ в меню выбрать "Права - Доступ к справочнику в целом". В первой строке вводим "Все группы пользователей", "Только для текущего права", остальные флажки включены.
10. В меню "Доступ на уровне записей - Настройка доступа":
       - выбираем группу "Все" слева, справа ставим для контрагентов и физ лиц соответствубщие группы, "Только для текущего права", остальные флажки отключены
       - выбираем группу "Имеют доступ к ЗП" слева, справа ставим  соответствующие группы, "Только для текущего права", все флажки включены.
11. Для контрагентов и физических лиц, к которым необходимо ограничить доступ, выбираем группу доступа.
12. Перезапустить 1С у всех пользователей.
15 Мимохожий Однако
 
05.04.12
22:44
(14)Спасибо. А с чего начать, чтобы ограничить изменения документов других пользователей?
16 Юрий Лазаренко
 
05.04.12
22:50
(15) Нужно ограничить видимость документов в журналах или позволять открывать формы документов, но запрещать их изменение? в (14) описан вариант 1 - документы не видны в журналах.
17 Мимохожий Однако
 
05.04.12
23:03
(16)Нужно только ограничить изменения документов, которые созданы другими пользователями. Открывать можно, смотреть можно, отчеты можно. Нельзя только менять, снимать с проведения и помечать на удаление.
18 ОбычныйЧеловек
 
05.04.12
23:12
(0) "с 1993 с 1С" - мда...
Ты по идее уже все должен знать :) Ищи в яндексе "регистры правил".
19 Мимохожий Однако
 
05.04.12
23:28
(18)Невозможно знать всё... Бухгалтерский опыт не всегда совпадает с программистским. ))) Спасибо за подсказку.
20 Мимохожий Однако
 
08.04.12
14:06
Попробовал вариант с подпиской на событие.
Общий модуль _ОбработкаМоихСобытий
Сервер, Внешнее соединение, Клиент

Процедура ПроверитьОтветственногоПередЗаписьюДокументаПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
   Если НЕ РольДоступна("ПолныеПрава") Тогда
           Если Источник.Ответственный <> ПараметрыСеанса.ТекущийПользователь Тогда
               Сообщить("Этот документ создал "+Источник.Ответственный+", а не Вы ,"+ПараметрыСеанса.ТекущийПользователь+"). Редактирование запрещено");
               Отказ = Истина;
           КонецЕсли;
   КонецЕсли;
КонецПроцедуры

Подписка на событие ПроверитьОтветственногоПередЗаписьюДокумента
Источник ДокументОбъект

Однако...У пользователя есть возможность поменять в документе реквизит Ответственный и обойти это ограничение. Делать подписку на открытие в каждой форме, чтобы включать режим Только просмотр мне пока не нравиться.
Думаю, есть более удобная точка воздействия.
21 ОбычныйЧеловек
 
08.04.12
14:35
(20) >>Однако...У пользователя есть возможность поменять в документе реквизит Ответственный и обойти это ограничение.

ты всегда можешь это проверить... например так:
Если НЕ Источник.Ответственный=Если Источник.Ссылка.Ответственный Тогда
   Сообщить("Нельзя менять ответственного!");
КонецЕсли;
22 ОбычныйЧеловек
 
08.04.12
14:37
вот так имелось ввиду
Если НЕ Источник.Ответственный=Источник.Ссылка.Ответственный Тогда
   Сообщить("Нельзя менять ответственного!");
КонецЕсли;
23 Мимохожий Однако
 
08.04.12
14:44
(22) Спасибо, мудрый Обычный человек! Фокус в том, что в ссылке еще старое значение,а в источнике уже новое. Так ведь?
24 ОбычныйЧеловек
 
08.04.12
14:53
(23) так :)