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

Каждый знает, чтобы был порядок в 1С, нужно чтобы каждый пользователь знал свое место. И не совал свой нос куда ему не следует. Недавно главный бухгалтер передо мной поставил задачу, четко разграничить права и роли пользователей в нашей 1С. Я с большим энтузиазмом принялся ковырять конфигуратор, создавать свои собственные роли и интерфейсы. Когда все было сделано, принялся за отладку моих творений. Выставил свежесозданную роль тестовому пользователю… Запускаю 1С… И… Получаю, совсем не радующий меня ответ: “Недостаточно прав доступа для подключения”. Хорошо, будем гуглить и напишем письмо в саппорт 1С!После всех моих телодвижений с гуглом и переписки с технической поддержкой компании 1С, выязнилось следующее. Ответ саппорта был следующим:

“В типовой конфигурации ред. 1.6 возможно использовать только две роли “Полные права” и “Бухгалтер”, остальные типовые роли являются расширением роли “Бухгалтер”. Самостоятельно созданные роли, которые не являются дополнением к основным ролям, типовым механизмом не поддерживаются.”

Мало оптимистично, неправда ли? Но сдаваться я не собирался, и нашел два способа обойти это ограничение:

Способ первый:

В типовой конфигурации существует одна нехорошая процедура, которая и мешает нам добавить новые роли:

// Процедура проверяет возможность запуска ИБ с определенными для текущего
// пользователя доступными ролями
//
Процедура ПроверитьВозможностьРаботыПользователя(Отказ) Экспорт

Если НЕ РольДоступна("ПолныеПрава") И НЕ РольДоступна("Бухгалтер") Тогда
Отказ = Истина;
#Если Клиент Тогда
Предупреждение( " У текущего пользователя нет доступных ролей, для запуска информационной базы.", 10, "Недостаточно прав доступа");
#КонецЕсли
КонецЕсли;

КонецПроцедуры

Из этой процедуры становится ясно, что для нормальной работы пользователя, у него должна быть включена одна из ролей (“Бухгалтер” или “Полные права”). Мне это не подходит, так как я создаю свою собственную роль, следовательно мне нужно изменить немного эту процедуру,а конкретно изменить участок кода:

Если НЕ РольДоступна("ПолныеПрава") И НЕ РольДоступна("Бухгалтер") Тогда

Да, кстати, эта процедура находится в общем модуле управления пользователями. Сразу хочу предупредить, если вы планируете реализовать в своей конфигурации Бухгалтерии «свои» собственные роли, то в  качестве шаблона для этих ролей,используйте роль «Бухгалтер».

Способ второй:

Способ второй, достаточно проще, но он так же влечет за собой изменение самой конфигурации. В нем не нужно что то редактировать в модулях, нужно редактировать сами роли…

Например:

Надо ограничить доступ к справочнику Контрагенты.
Снимаете права редактирования контрагентов у роли Бухгалтер.
Создаете новую роль РаботаСКОнтрагентами, которой даете все права для работы со справочником контрагентов и больше никаких прав.
Тогда изменять справочник контрагентов могут только те пользователи, которым назначена роль РаботаСКонтрагентами, дополнительно к роли  Бухгалтер. А роль Бухгалтер должна быть назначена всем пользователям, иначе они не смогут работать с конфигурацией.

Кстати, помимо 1С я тут наконец то понял, что установка стиральной машины и подключение стриральной машины к водопроводу дело вовсе не сложное, главное понять и разобраться.
Лицензионные диски почтой с доставкой по миру.

  • http://Website(optional) TerroMin

    Огромное спасибо!!!
    Долго гуглил и разбирался с ролями, немог понять почему если роль имеет полные права, пользователю всё равно не достаточно прав, получается что пускает только если у пользателя есть определённая роль, блин, идютская 1С!!! ))))

  • Stanis

    Большое спасибки, помогло.