• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

  • Автор темы Автор темы rousman
  • Дата начала Дата начала
R

rousman

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

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы