Разбираемся с правами в 1С 8.1

Каждый знает, чтобы был порядок в 1С, нужно чтобы каждый пользователь знал свое место. И не совал свой нос куда ему не следует. Недавно главный бухгалтер передо мной поставил задачу, четко разграничить права и роли пользователей в нашей 1С. Я с большим энтузиазмом принялся ковырять конфигуратор, создавать свои собственные роли и интерфейсы. Когда все было сделано, принялся за отладку моих творений. Выставил свежесозданную роль тестовому пользователю… Запускаю 1С… И… Получаю, совсем не радующий меня ответ: “Недостаточно прав доступа для подключения”. Хорошо, будем гуглить и напишем письмо в саппорт 1С!После всех моих телодвижений с гуглом и переписки с технической поддержкой компании 1С, выязнилось следующее. Ответ саппорта был следующим:
“В типовой конфигурации ред. 1.6 возможно использовать только две роли “Полные права” и “Бухгалтер”, остальные типовые роли являются расширением роли “Бухгалтер”. Самостоятельно созданные роли, которые не являются дополнением к основным ролям, типовым механизмом не поддерживаются.”
Мало оптимистично, неправда ли? Но сдаваться я не собирался, и нашел два способа обойти это ограничение:
Способ первый:
В типовой конфигурации существует одна нехорошая процедура, которая и мешает нам добавить новые роли:
// Процедура проверяет возможность запуска ИБ с определенными для текущего
// пользователя доступными ролями
//
Процедура ПроверитьВозможностьРаботыПользователя(Отказ) Экспорт
Если НЕ РольДоступна("ПолныеПрава") И НЕ РольДоступна("Бухгалтер") Тогда
Отказ = Истина;
#Если Клиент Тогда
Предупреждение( " У текущего пользователя нет доступных ролей, для запуска информационной базы.", 10, "Недостаточно прав доступа");
#КонецЕсли
КонецЕсли;
КонецПроцедуры
Из этой процедуры становится ясно, что для нормальной работы пользователя, у него должна быть включена одна из ролей (“Бухгалтер” или “Полные права”). Мне это не подходит, так как я создаю свою собственную роль, следовательно мне нужно изменить немного эту процедуру,а конкретно изменить участок кода:
Если НЕ РольДоступна("ПолныеПрава") И НЕ РольДоступна("Бухгалтер") Тогда
Да, кстати, эта процедура находится в общем модуле управления пользователями. Сразу хочу предупредить, если вы планируете реализовать в своей конфигурации Бухгалтерии «свои» собственные роли, то в качестве шаблона для этих ролей,используйте роль «Бухгалтер».
Способ второй:
Способ второй, достаточно проще, но он так же влечет за собой изменение самой конфигурации. В нем не нужно что то редактировать в модулях, нужно редактировать сами роли…
Например:
Надо ограничить доступ к справочнику Контрагенты.
Снимаете права редактирования контрагентов у роли Бухгалтер.
Создаете новую роль РаботаСКОнтрагентами, которой даете все права для работы со справочником контрагентов и больше никаких прав.
Тогда изменять справочник контрагентов могут только те пользователи, которым назначена роль РаботаСКонтрагентами, дополнительно к роли Бухгалтер. А роль Бухгалтер должна быть назначена всем пользователям, иначе они не смогут работать с конфигурацией.
Кстати, помимо 1С я тут наконец то понял, что установка стиральной машины и подключение стриральной машины к водопроводу дело вовсе не сложное, главное понять и разобраться.
Лицензионные диски почтой с доставкой по миру.



17. Фев, 2010 