Ограничени прав пользователя

Тема в разделе "1C и всё что с ней связано", создана пользователем rousman, 25 янв 2008.

  1. rousman

    rousman Гость

    мне бухгалтера для менеджеров сказали сделать учетку с ограниченными правами, не просто на чтение, а только на использование функций в журналах - "Счета" и "Товары и реализации "(формирование и печать), и формировать отчеты. И чтоб больше ни к чему доступа не было. Как правильно в конфигураторе выставить права?
     
  2. Akulina

    Akulina Гость

    На журналы ставишь "чтение". На документы ставишь "чтение", "ввод нового" (далее надо уточнить у бухов, могут ли они корректировать документ, проводить и т.д). Если в документах есть кнопки или поля, которые менеджеры трогать не должны, то при открытии делаешь их недоступными. На отчетах ставишь "Использовать".
    Но имей в виду, что им еще понадобится доступ на чтение к справочникам, значения которых они будут выбирать в документах (номенклатура, контрагенты и т.д). А возможно, еще и константы.
     
  3. Grrr

    Grrr Гость

    Вопрос по теме.
    Как ограничить доступ к выбору склада в документах реализации на уровне ролей? Можно ли задать выбор из определенных складов(не всех)?
     
  4. Akulina

    Akulina Гость

    Можно, причем разными способами. Например, если надо, чтобы всем менеджерам были доступны какие-то определенные склады, то достаточно для элемента справочника добавить реквизит "Доступен для менеджера" и поместить его на форму как флажок. В документе, который оформляет менеджер, в предопределенной процедуре ПриНачалеВыбораЗначения() написать примерно следующее.
    Процедура ПриНачалеВыбораЗначения(Идент,ФлагСтанд)
    Если Идент="Склад" Тогда
    Если НазваниеНабораПрав()="Менеджер" Тогда
    ФлагСтанд=0;
    СписокДоступныхСкладов=СоздатьОбъект("СписокЗначений");
    СпрСклады=СоздатьОбъект("Справочник.Склады");
    СпрСклады.ВыбратьЭлементы();
    Пока СпрСклады.ПолучитьЭлемент()=1 Цикл
    Если СпрСклады.ДоступенДляМенеджера=0 Тогда
    Продолжить;
    КонецЕсли;
    СписокДоступныхСкладов.ДобавитьЗначение(СпрСклады.ТекущийЭлемент());
    КонецЦикла;
    ВыбЗнач=""; ВыбПоз=0;
    Если СписокДоступныхСкладов.ВыбратьЗначение("ВыбЗнач,,ВыбПоз,20,2)=1 Тогда
    Склад=ВыбЗнач;
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры

    Список доступных складов можно определить и при открытии документа. А если менеджеры уж очень много документов оформляют, можно СписокДоступныхСкладов объявить глобальной переменной и формировать этот список для каждого менеджера в процедуре глобального модуля ПриНачалеРаботыСистемы()
     
Загрузка...

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