1с в конфигурации в свойстве основныероли не указаны стандартные роли
Поэтому работа с правами доступа – одна из частотных задач при внедрении типовых решений.
И, конечно, при добавлении новых документов или справочников – также нужно сразу настроить права доступа на них.
В сегодняшнем видео
В видео мы рассмотрим, что нужно знать о системе прав доступа в типовых решениях:
- Возможности расширений конфигурации – работа с ролями
- Объекты типовых конфигураций для организации прав доступа
- Ограничения текущей версии БСП
- Права доступа на функциональность типовых решений с помощью функций БСП
Таким образом, Вы узнаете не только как дорабатывать права доступа, но и как выделить привилегированных пользователей, например, кому запрещена отгрузка ниже плановой себестоимости.
Если Вы хотите разобраться с этим прямо сейчас – у нас есть курс по администрированию 1С:
Не откладывайте свое обучение!
Комментарии / обсуждение (45):
Добрый день. Подскажите, что делаю не так- беру стандартную роль которая отвечает за список выводимых разделов, переношу ее в расширение, в нее переношу описание раздела и снимаю полностью галку. После запуска раздел продолжается отображаться.
Добрый день!
Возможно, в конфигурации есть еще одна роль, которая предоставляет права на просмотр подсистемы, поэтому она и отображается в режиме “1С:Предприятие”.
Еще одно предположение – расширение не было подключено при старте сеанса, например, из-за того, что значение какого-либо из контролируемых свойств в расширении не совпало со значением этого свойства в основной конфигурации.
Добрый день.
Подскажите пожалуйста, в расширении создаю роль и даю права на реквизит документа, который создан в расширении конфигурации, а пользователям назначаю группу доступа с этими правами из расширения.
Но у меня с полными правами нет доступа к объекту, а у пользователя – есть. Причем проблема в том, что новые реквизиты объекта в расширении существуют для пользователя, например, Объект.НовыйРеквизит, как и Элементы.НовыйРеквизит, а вот для меня с полными правами Элементы.НовыйРеквизит не существует при открытии формы. БСП 3.0.3
Скорее всего Ваши полные права “не видят” реквизит из расширения. Заимствуйте полные права в расширение и проверьте, что для нового реквизита есть право доступа.
Добрый день.
Не хватало прав на работу с отдельными документами в Бух 3.0 (Расходный кассовый ордер). Точнее они есть, но уж больно широкие, почти полные. Пришлось добавить в расширение БП 3.0 соответствующую роль с правами на РКО и форму журнала. При открытии формы журнала под новой ролью, состав команд и кнопок не соответствует типовой заимствованной форме. Вроде дал все нужные права, в составе команд ничего не менял, функциональных опций не менял.А вот при добавлении на заимствованную форму новых кнопок – все отражается как надо…
Все проверил, трассировка кода ничего не показывает. Подскажите в каком направлении рыть. Спасибо!
В платформе 8.3.14 для расширений конфигурации добавлено новое свойство — «Использовать основные роли для всех пользователей». На языке программирования 1С свойство называется ИспользоватьОсновныеРолиДляВсехПользователей. Давайте разберем его практическое применение.
Основная задача, которую решала фирма 1С — дать возможность настраивать доступность «универсальных» расширений для пользователей любой конфигурации. Ранее, чтобы настроить права пользователей на расширение, в него необходимо было добавлять роли конфигурации. Это неудобно для расширений, которые являются универсальными или общими для любых конфигураций.
Поэтому в расширениях реализована возможность указания основных ролей. При добавлении нового расширения конфигурации теперь сразу создается новая роль и эта роль добавляется в основные роли расширения конфигурации:
Теперь вернемся к свойству «Использовать основные роли для всех пользователей». При включении этого свойства основные роли, указанные в расширении конфигурации, применяются для всех пользователей конфигурации. При этом в режиме 1С:Предприятие доступна ручная установка прав для каждого пользователя — команда «Управление основными ролями».
При управлении основными ролями пользователь с административными функциями на расширения сможет настраивать доступность расширений для каждого пользователя отдельно. Если настройка будет раздельная — галочка «Использовать основные роли для всех пользователей» будет отключена.
Таким образом, фирма 1С продолжает развивать расширения конфигурации и расширять возможности настройки применения расширений конфигурации для каждого пользователя по отдельности.
Столкнулся с небольшой проблемкой при создании "своих" ролей в конфигураторе и добавлении их пользователям. Пользователю не добавляются созданные в конфигураторе роли, 1С 8.3, Управляемые формы. Гуглил много, ответа толкового не нашёл, поэтому пришлось разбираться самому и как результат, решил поделиться опытом. Возможно, кому-то пригодится.
Столкнулся с небольшой проблемкой при создании "своих" ролей в конфигураторе и добавлении их пользователям. Гуглил много, ответа толкового не нашёл, поэтому пришлось разбираться самому и как результат, решил поделиться опытом. Возможно кому-то пригодится.
Итак, проблема заключалась в следующем:
В какой-либо конфигурации на управляемых формах создаём свою роль (или несколько ролей, как в примере) (см. рис.1), обновляем конфигурацию. В режиме предприятия создаём профиль групп доступа с нашей новой ролью (см. рис.2), добавляем пользователю этот профиль (см. рис.3) и. ничего не происходит, как-будто у этого пользователя не добавлена наша роль. Заходим в конфигуратор, администрирование, пользователи, заходим в пользователя, смотрим "доступные роли" и видим, что у нашего пользователя не выбрана наша роль (см. рис.4).
Почему так происходит? Всё очень просто, разработчики сделали так, что если пользователь "администратор", то есть у него полные права, то собственно говоря, зачем же ему ещё какие-то роли? Ведь у него же и так полные права!
В целом вполне логично и кстати если пользователь не администратор, то всё работает корректно (см. рис.5 и рис.6). Сложности возникают только в том случае, если мы хотим добавить нашу роль/роли пользователю с полными правами. Можно конечно просто в конфигураторе выбрать у пользователя нашу роль/роли, но всё будет работать ровно до тех пор, пока кто-нибудь не решит перезаписать в режиме предприятия права доступа у этого пользователя, после этого "галочка" у добавленной роли "слетит".
Что же делать и где это происходит?
Идём в общие модули - "УправлениеДоступомСлужебный", находим процедуру "ОбновитьРолиПользователей". В ней есть следующий код:
"НовыеРоли" это Таблица значений, в которой выбраны все роли пользователя, которые мы ему назначили в режиме предприятия (включая "наши" роли). Как видно далее по коду, эта таблица очищается, в неё добавляются "ОбязательныеРолиАдминистратора" (Администратор системы, Полные права) и если выбрано, "ДополнительныеРолиАдминистратора" (Интерактивное открытие внешних отчетов и обработок).
Как мне показалось, самый простой и очевидный вариант, это добавить "наши" роли в таблицу "НовыеРоли". Для этого нам надо как-то отделить эти роли от всех остальных, поэтому у всех добавленных нами в конфигураторе ролей, делаем префикс "Доп_". Те "наши" роли, которые мы выбрали для пользователя, собираем в массив "ВыбранныеДополнительныеРоли" и далее из этого массива добавляем роли в таблицу значений "НовыеРоли". Ниже представлен код:
В заключение добавлю, процедура "ОбновитьРолиПользователей" абсолютна одинакова у многих конфигураций (благодаря "унификации" 1С), смотрел в УНФ 1.6, Бухгалтерия предприятия 3.0, Управление торговлей 11.4 (все конфигурации в нескольких версиях), поэтому сделал расширение, которое по идее должно работать на многих конфигурациях на управляемых формах. Можете скачать и добавить его себе, но предварительно не забудьте, что все добавленные роли должны иметь префикс "Доп_". Расширение написано на версии платформы: 8.3.12.1685. В расширение добавлен один общий модуль "УправлениеДоступомСлужебный", в котором только одна процедура "ОбновитьРолиПользователей" (&Вместо) с добавленным, по описанию выше, кодом. При добавлении расширения, не забываем снять галочки "безопасный режим" и "защита от опасных действий".
Пытался обновить конфигурацию 1С:Деньги 8 до версии 2.0.15.8 через встроенную сервисную функцию программы. Во время обновления появилось уведомление о том, что обновление необходимо производить на версии платформы не ниже 8.3.5, после чего база не открывается: при попытке входа выдается ошибка: Недопустимо использование свойства "ОсновнаяРоль"
Сервисная информация приведена ниже. Обновление платформы картину не меняет. Как можно решить проблему?
22.02.2015 1:18:46: Ошибка при получении значения атрибута контекста (ОсновнаяРоль) Если НЕ ЗначениеЗаполнено(ПользовательИБ.Имя) И Метаданные.ОсновнаяРоль = Неопределено Тогдапо причине:Недопустимо использование свойства "ОсновнаяРоль"
Уточнение: сейчас обнаружил, что на старой версии платформы база открывается, а на новой (8.3.5) - нет. Под новой версией платформы открывается конфигуратор, но при выборе пункта "Конфигурация -> Поддержка -> Обновить конфигурацию" система после подключения к серверу с обновлениями предлагает обновить только демо базу (см.скриншот), то есть как будто не видит основную БД, возможно, считая ее уже обновленной.
Топик не удаляю, оставляю на усмотрение модератора: может быть кому-то пригодится.
Подскажите, как или где скачать платформу 8.3.5
"Для работы на платформе 8.3.5 1С:Деньги требуется обновить до версии не ниже 2.0.15.9. Автоматическое обновление через интернет до версии 2.0.14 было ошибочным, приносим свои извинения.
Обойти ошибку, связанную с "атрибутом ОсновнаяРоль" можно двумя способами:
1.Создать пользователя информационной базы.
Для этого откройте базу в режиме конфигуратора, выберите в меню "Администрирование" пункт "Пользователи". Добавьте в список нового пользователя, на вкладке "Прочее" отметьте галочкой две роли: "Администратор системы" и "Полные права", другие роли отмечать не нужно.
Откройте информационную базу в режиме предприятия от имени созданного пользователя. Дальнейшая работа и обновления могут выполняться в обычном режиме.
Если Вы не хотите создвать пользователя, можете воспользоваться вторым способом:
2. Обновиться до последней версии в режиме конфигуратора.
Для этого откройте базу в режиме конфигуратора и выберите в меню "Конфигурация" - "Поддержка" - "Обновить конфигурацию". В диалоге обновления выберите пункт "Поиск доступных обновлений" и нажмите "Далее".
В списке "Искать обновления в каталогах" отметьте галочкой каталог " downloads.v8.1c.ru/tmplt. »»" и нажмите "Далее". В списке новых версий выберите версию 2.0.15.9 и нажмите "Готово", затем - "Продолжить обновление". Дождитесь окончания обновления и на вопрос "Обновить базу данных" ответьте "Да", "Принять".
Полсе обновления информационной базы конфигуратор можно закрывать и открывать базу в режиме предприятия. Дальнейшая работа может выполняться в обычном режиме."
Слушатели по-разному используют Мастер-группы курсов: кто-то по ходу обучения сразу задает возникающие вопросы; кто-то копит вопросы и затем скопом их задает; некоторые не любят задавать вопросов, они просто читают обсуждения других слушателей и пытаются найти аналогичный вопрос; кто-то пытается использовать Мастер-группу в своих личных целях и получить консультацию по реальной проблеме из практики. Каждый выбирает по себе!
Вопрос
Здравствуйте. Давно хотел спросить вот что: если поле пустое РегламентноеЗадание.ИмяПользователя, то в контексте какого пользователя (прав доступа какого поля) исполняется регл.задание? В документации так: “Если имя пользователя не задано, регламентное задание будет выполняться пользователем по умолчанию, имеющим административные права.” По наличию какого права определяется данный пользователь? Я неоднократно фиксировал, что при пустом РегламентноеЗадание.ИмяПользователя возвращает ПользователиИнформационнойБазы.ТекущийПользователь() в контексте выполнения регл.задания пустое значение. Как это объяснить?
Ответ
Добрый день! Если Вы откроете утилиту администрирования, то можете увидеть в ней вот такие записи:
Если у регламентного задания не указан пользователь, под которым оно должно выполняться, то будет отображаться DefUser.
Или другая ситуация – если в базе нет ни одного пользователя ИБ, при входе в базу пользователя Вы не выбираете, то в списке сеансов тоже будет отображаться DefUser. Это такой служебный, “виртуальный” пользователь ИБ.
Теперь по поводу прав этого пользователя. DefUser имеет права, определяемые совокупностью основных ролей конфигурации, и полные права, если список основных ролей конфигурации пустой. Напомню, что ОсновныеРоли – это свойство корневого элемента в дереве объектов метаданных:
Таким образом, если свойство конфигурации ОсновныеРоли заполнено, пользователь DefUser получит объединение указанных ролей. Если свойство конфигурации ОсновныеРоли не заполнено, пользователь DefUser получит привилегированный режим, “неограниченные права”.
Читайте также: