Имя: Пароль:
1C
1С v8
Как поставить запрет на использование документов для пользователей, исходя из справочника?
,
0 Саша Да Саша
 
01.03.20
10:47
Добрый день, в конфигурации есть справочник "Пользователи", который связан с пользователями БД.
У каждого пользователя в справочнике есть определённый реквизит,назовём его условно "Должность".
Как сотрудникам с определённой должностью запретить читать, проводить и делать другие операции с определённым документом?
1 it_looser
 
01.03.20
10:50
RLS
2 Фрэнки
 
01.03.20
10:59
(1) и?
3 Фрэнки
 
01.03.20
11:00
(0) Вас в теории интересует или на практике? Если на практике, то уточните, это два или три вида документов или вообще целая куча с развернутыми и разными условиями?
4 DES
 
01.03.20
11:03
роли использовать, должность - это роль сотрудника в организации.
5 Саша Да Саша
 
01.03.20
11:03
(3) Просто теория, без конкретных примеров.
Есть 1 документ,его нужно ограничить.
6 AlvlSpb
 
01.03.20
11:04
(0) И какая конфигурация? Например, в УТ и выше возможность ограничения по Пользователю уже в базе, а в УНФ такого нет. Соответственно и делать надо по-разному
7 Саша Да Саша
 
01.03.20
11:05
(6) УТ
8 Фрэнки
 
01.03.20
11:06
(5) понятно. Ради одного документа, если это на управляемых формах, я обычно прикручиваю расширение и в нем перехватываю или открытие формы списка или открытие формы объекта. Смотря как удобней действовать.

Просто из-за одного документа придавить всю базу через РЛС - ну это как из пушки по воробью.
9 Саша Да Саша
 
01.03.20
11:07
(8) А на обычных формах?
10 Галахад
 
гуру
01.03.20
11:08
(8) В (0) есть условие "чтение".
11 Фрэнки
 
01.03.20
11:09
(10) ну так тем более. При создании на сервере в расширении прописать ТолькоПросмотр.
12 Фрэнки
 
01.03.20
11:10
(11) Если запретить даже читать документ, то ПриСозданииНаСервере перехватывать с возвратом Отказ=Истина
13 Галахад
 
гуру
01.03.20
11:13
(12) Запросом же можно посмотреть.
14 Саша Да Саша
 
01.03.20
11:14
(10) Как запретить я знаю, а вот как это сделать именно основываясь на реквизите из справочника?
15 Галахад
 
гуру
01.03.20
11:15
(0) Это тестовое задание или реальная практика?
16 Фрэнки
 
01.03.20
11:15
(13) Угу. Скопировать базу, воткнуть паяльник в попу админу и т.д.

Я говорю о работе пользователя, а не программиста, который и запрос напишет и базу скопирует к себе на локальный комп и т.д. Права поменять тоже сможет.
17 Фрэнки
 
01.03.20
11:16
(13) Причем, не исключено, что в жизни этому же пользователю должен быть доступен отчет, который должен уметь читать все данные, но только открывать конкретные документы и рассматривать эти документы юзер не должен.
18 Саша Да Саша
 
01.03.20
11:16
(15) Просто для себя.
19 Фрэнки
 
01.03.20
11:17
(18) Просто для себя - пробуй для этой задачи Расширение покрутить. Наверняка, что это понравится :-)
20 AlvlSpb
 
01.03.20
11:22
(12) А, например, отчеты? Как там в вашем случае запретить вывод нужных доков? Или тупо список документов?
21 AlvlSpb
 
01.03.20
11:24
(14) Делать надо НЕ из реквизита (хотя и это можно, но не нужно, т.к. еще больше затормозит работу). Руками заносишь пользователей в нужные группы по ограничению и настраиваешь доступ к докам. Изменилась должность у пользователя, руками же перенес его в другую группу
22 AlvlSpb
 
01.03.20
11:29
(18) Просто для себя, вот здесь все доходчиво http://fs.kursypo1c.ru/free/1C-Administration/03-rls-data-access-restrictions----kursy-po-1c_ru.pdf
23 ДенисЧ
 
01.03.20
11:33
(19) Расширение? На обычных формах? А что, так можно было?
24 Фрэнки
 
01.03.20
11:38
(23) я сразу оговорился - на управляемых. Топикстартер об обычных ничего не говорил
25 ДенисЧ
 
01.03.20
11:41
(24) в (9)
26 Фрэнки
 
01.03.20
11:55
(25) А ведь, если даже не задавать такой вопрос на Мисте, то и так было понятно, что вариантов решения подобных задач всего два :
- или РЛС
- или Расширение. Для обычных форм, при невозможности использования расширения, возможно внесение кода непосредственно в модули форм списка и форм объекта.

И мое субъективное мнение - в решении подобных задач РЛС слишком тяжелый механизм, влекущий за собой весьма ощутимые недостатки.
27 AlvlSpb
 
01.03.20
12:11
(26) Дело в том, что многие ограничения изначально заложены в базе. Т.е. шаблон ограничений уже прописан в ролях. И, если включена ФО Ограничение на уровне записей, то проверки по этому шаблону все-равно проводятся. Например, тебе надо по Организациям, а оно проверяет и по Подразделениям и еще кучу проверок. Пример шаблона из УТ для Заказа Клиента: #ПоЗначениям( "Документ.ЗаказКлиента","Чтение","",
"Организации","Организация",
"Склады","Склад",
"ГруппыПартнеров","Партнер",
"Подразделения","Подразделение", "","", "",.....
Поэтому зачастую нет смысла делать расширение, т.к. проверки все-равно идут. Правда ограничения по Пользователю хоть и является штатным в УТ, но в шаблонах не прописано, надо править самому.  Ну проблема с полным сокрытием нужных доков остается. Например, скрыть в отчетах расширением не получится только РЛС
28 vde69
 
01.03.20
12:11
1. делаешь регистр сведений с 2мя измерениям

Объект, Группа

2. делаешь подписку на собитие "при записи объекта" в ней для каждого документа записывешь строчки в этот регистр (и не забываешь про удаление)

3. в РЛС пишешь примерно так

текущаяТаблица
JOIN РегистрСведений
ON текущаяТаблица.Ссылка = РегистрСведений.Объект и &ТекущийПользователь.Группа = РегистрСведений.Группа


я в коде преднамернно сделал ошибку в (&ТекущийПользователь.Группа) что-бы ты подумал сам как правильнее далее решить
29 Фрэнки
 
01.03.20
12:31
(27) я все это оооочень хорошо знаю

Просто есть один маленький нюанс. РЛС если он включен, то начинает тормозить всех пользователей, кроме Полных прав.
И опять же - ТопикСтартер не показал свою позицию включен РЛС или нет.

И "зачастую нет смысла" рассматривать решение на РЛС, поскольку его еще не успели включить.
А вот когда включат и "проверки все равно идут" - раздастся вой пользователей и все включенное быстро быстро отключится :-) Ну есть такой шанс.

Далее, "надо править самому" - ну так и на обычных формах или в расширениях тоже самому придется править. Готовой фигни под какие-то самостоятельно придуманные реквизиты в справочник Пользователей никто в РЛС-ы не пихал.
30 mikecool
 
01.03.20
12:59
(23) а чего - с обычными формами расширение не работает? оО
вот печаль