| 
    
            
         
         | 
    
    
  | 
Как поставить запрет на использование документов для пользователей, исходя из справочника? | ☑ | ||
|---|---|---|---|---|
| 
    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) а чего - с обычными формами расширение не работает? оО 
 
        вот печаль  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |