| 
    
            
         
         | 
    
  | 
КА 1.1 как ограничить доступ к номенклатуре | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        I_learn_1c    
     25.04.19 
            ✎
    09:44 
 | 
         
        Доброе утро,
 
        Подскажите пожалуйста как можно бы выкрутиться. у меня КА 1.1, но наверно и в некоторых других аналогично. Нужно запретить пользователям редактировать номенклатуру, но при этом чтобы они могли ее создавать. Редактировать могут только выбранные несколько пользователей. Через роли - не прокатывает, галочку Интерактивное добавление без галочки Редактирование не поставить, RLS для них тоже не работает, только на чтении, изменении, добавлении. прописать кусок с ограничением если не ЭтоНовый() в ПередЗаписью или ПриЗаписи - тоже нет, в дополнительных правах чего то подходящего тоже не нашла.... что еще можно попробовать?  | 
|||
| 
    1
    
        shadow_sw    
     25.04.19 
            ✎
    09:46 
 | 
         
        создай роль, проверять призаписи() на этоновый()     
         | 
|||
| 
    2
    
        stix2010    
     25.04.19 
            ✎
    09:46 
 | 
         
        подписка     
         | 
|||
| 
    3
    
        sqr4    
     25.04.19 
            ✎
    09:47 
 | 
         
        Фото!
 
        Перед записью, ссылка еще не существует у нового объекта, а у старого существует.  | 
|||
| 
    4
    
        I_learn_1c    
     25.04.19 
            ✎
    09:52 
 | 
         
        (3) потом возвращается в перед записью и там уже есть ссылка     
         | 
|||
| 
    5
    
        Azverin    
     25.04.19 
            ✎
    09:53 
 | 
         
        (0) можно добавить реквизит с типом Булево. когда пользователь заполнит все необходимые реквизиты (перед этим куча раз записав элемент), ставим Истина. А при открытии проверка и форму открываем только на чтение.     
         | 
|||
| 
    6
    
        Azverin    
     25.04.19 
            ✎
    09:54 
 | 
         
        + (5) а пользователям на редактирование добавить своё доп право.     
         | 
|||
| 
    7
    
        sqr4    
     25.04.19 
            ✎
    10:02 
 | 
         
        (5) через групповую обработку все сделают)     
         | 
|||
| 
    8
    
        sqr4    
     25.04.19 
            ✎
    10:03 
 | 
         
        Надо модуль объекта анализировать     
         | 
|||
| 
    9
    
        I_learn_1c    
     25.04.19 
            ✎
    10:06 
 | 
         
        (5) не всегда одинаковый набор полей     
         | 
|||
| 
    10
    
        I_learn_1c    
     25.04.19 
            ✎
    10:06 
 | 
         
        (8) а на что в модуле смотреть?     
         | 
|||
| 
    11
    
        Cyberhawk    
     25.04.19 
            ✎
    10:06 
 | 
         
        Элементарно подпиской ПередЗаписью с проверкой на ЭтоНовый()     
         | 
|||
| 
    12
    
        I_learn_1c    
     25.04.19 
            ✎
    10:07 
 | 
         
        подпиской перед записью тоже не работает - попадает в обработчик подписки, когда ссылка уже есть и ЭтоНовый()=Ложь     
         | 
|||
| 
    13
    
        Azverin    
     25.04.19 
            ✎
    10:08 
 | 
         
        (11) могу ошибаться, но Номенклатура дважды проходит запись.     
         | 
|||
| 
    14
    
        I_learn_1c    
     25.04.19 
            ✎
    10:08 
 | 
         
        (13) похоже вот да, на что то такое     
         | 
|||
| 
    15
    
        I_learn_1c    
     25.04.19 
            ✎
    10:10 
 | 
         
        просто в Перед записью - первый раз ссылки еще нет, разрешено создавать, идет в При записи ссылка уже есть, потом снова идет в Перед записью и ссылка есть - срабатывает ограничение и в итоге создать тоже нельзя получается     
         | 
|||
| 
    16
    
        Cyberhawk    
     25.04.19 
            ✎
    10:10 
 | 
         
        Ну если это в одной транзакции, то первый раз все равно ЭтоНовый() = Истина, там в доп. свойства положить маркер, чтоб не проверять потом уже     
         | 
|||
| 
    17
    
        I_learn_1c    
     25.04.19 
            ✎
    10:46 
 | 
         
        вроде бы выкрутилась, спасибо за мысль с флагом)) Завела переменную РедактированиеРазрешено, при открытии РедактированиеРазрешено=ложь
 
        Потом в Перед записью добавила кусок Если ЭтоНовый() Тогда РедактированиеРазрешено=Истина; КонецЕсли; Если Не ЭтоНовый() и НЕ РедактированиеРазрешено Тогда Если НЕ( ПараметрыСеанса.ТекущийПользователь=Справочники.Пользователи.НайтиПоНаименованию("польз1") ИЛИ ПараметрыСеанса.ТекущийПользователь=Справочники.Пользователи.НайтиПоНаименованию("польз2") ) Тогда Предупреждение("Редактирование номенклатуры ограничено!"); РедактированиеРазрешено=Ложь; Отказ=Истина; КонецЕсли; КонецЕсли;  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |