8.х Изменение документов не создателем.

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем tolia, 21 мар 2007.

  1. TopicStarter Overlay
    tolia
    Offline

    tolia

    Регистрация:
    21 мар 2007
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1
    Вопрос следующий: как оставить разрешения на измениеине документов, только их создателю и администратору? Тоесть что бы документ мог изменить или удалить только его создатель или администратор.

    Платформа: 1С 8.0.17, помойму так.
    Конфигурация: Управление торговлей, версию точно не помню, одна из последних.

    Заранее благодарен за ответы.
  2. Vladoff
    Offline

    Vladoff

    Регистрация:
    16 мар 2007
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    Я в своей конфигурации в каждый документ добавил реквизит Автор и ДатаСоздания. В модуль каждого документа в процедуру при записи добавил процедуру, которую описал в общем модуле.
    Что-то, наподобие этого:
    В документе
    Код:
    Процедура передЗаписью(Отказ, ….)
    ….
    Если ЭтоНовый() Тогда ПередЗаписьюДокумента(ЭтотОбъект);
    Иначе
    Если (Не Автор = ПараметрыСеанса.ТекущийПользователь)И(Не РольДоступна(«Администратор»)) Тогда
    Отказ = Истина;    
    КонецЕсли;
    КонецЕсли;
    ….
    
    КонецПроцедуры
    
    
    В общем модуле:
    Код:
    Процедура ПередЗаписьюДокумента(Объект) Экспорт
    Объект.Автор = ПараметрыСеанса.ТекущийПользователь; 
    //У УТ есть такой параметр, проверте его  тип, и у реквизита «Автор» должен бить тот же тип.
    Объект.ДатаСоздания = ТекущаяДата();
    КонецПроцедуры
    
    
    Далее предлагаю следующее.

    В форме документа:
    Код:
    Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
    ….
    Если (Не Автор = ПараметрыСеанса.ТекущийПользователь)И(Не РольДоступна(«Администратор»)) Тогда
    Форма.ТолькоПросмотр = Истина;    
    КонецЕсли;
    …
    КонецПроцедуры 
    

Поделиться этой страницей