|   |   | 
| 
 | Как поставить запрет на использование документов для пользователей, исходя из справочника? | ☑ | ||
|---|---|---|---|---|
| 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 naïve 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 naïve 01.03.20✎ 11:22 | 
        (12) А, например, отчеты? Как там в вашем случае запретить вывод нужных доков? Или тупо список документов?     | |||
| 21
    
        AlvlSpb naïve 01.03.20✎ 11:24 | 
        (14) Делать надо НЕ из реквизита (хотя и это можно, но не нужно, т.к. еще больше затормозит работу). Руками заносишь пользователей в нужные группы по ограничению и настраиваешь доступ к докам. Изменилась должность у пользователя, руками же перенес его в другую группу     | |||
| 22
    
        AlvlSpb naïve 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 naïve 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) а чего - с обычными формами расширение не работает? оО 
 вот печаль | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |