1с нарушение прав доступа

Права доступа в 1С:Предприятии 8

В 1С:Предприятии различают два типа прав – основные и интерактивные.

Основные (неинтерактивные) – проверяются всегда независимо от способа обращения к объектам информационной базы.

Интерактивные – проверяются при выполнении интерактивных операций (например, операция Установить пометку удаления»).

Нужно учитывать, что проверку интерактивных прав можно обойти, создав, например, при конфигурировании форму самостоятельно и заменив стандартные команды своими, а проверку неинтерактивных прав нельзя обойти ни при каких обстоятельствах. Неинтерактивными правами защищается характерная для объекта фундаментальная функциональность, за это отвечают, например, такие права, как: «Добавление», «Чтение», «Изменение», «Удаление».

Для построения защищенных прикладных решений достаточно управлять только 4-мя основными правами доступа — «Добавление» , «Чтение», «Изменение» и «Удаление».

Система 1С:Предприятие допускает проверку прав из встроенного языка. Например при добавлении команд к формам разработчик должен дополнительно позаботиться о проверке соответствующих интерактивных прав.

Пример проверки прав из языка:

При этом нужно помнить о том, что у будущего пользователя конфигурации соответствующие интерактивные и неинтерактивные права к тому или иному объекту могут различаться. Например, может быть разрешено право на «Удаление» и запрещено право «Интерактивное удаление».

Проверка прав объектов производится только в режиме «1С:Предприятие».
При попытке выполнить неразрешенную операцию выдается сообщение об ошибке «Нарушение прав доступа!», и производится отмена всех начатых транзакций.

Проверка основных и интерактивных прав используется расширениями формы, табличного поля и поля ввода (расширение формы определяется ее основным реквизитом, а табличного поля и поля ввода — типом редактируемых данных). Благодаря этому, если не установлено право «Просмотр», то форма списка или форма объекта не откроется, и будет выдано стандартное сообщение о нарушении прав доступа.

Рассмотрим проверку прав расширениями формы, табличного поля и поля ввода на примере документа:

  • При открытии формы документа проверяется право «Просмотр», после чего, если это форма нового объекта, то проверяется право «ИнтерактивноеДобавление», а если нет — право «Редактирование». Если выполняется запись с проведением, то проверяются права «ИнтерактивноеПроведение», «ИнтерактивнаяОтменаПроведения» или «ИнтерактивноеПроведениеНеОперативное», в зависимости от режима записи.
  • Расширение табличного поля для журнала документов при открытии формы, в которой журнал установлен основным реквизитом, проверяет, что право «Просмотр» установлено хотя бы у одного документа журнала. При проведении документов из журнала проверяются права «ИнтерактивнаяОтменаПроведения», «ИнтерактивноеПроведение» и «ИнтерактивноеПроведениеНеОперативное». При удалении документов проверяется право «ИнтерактивноеУдаление», а при установке/снятии пометки на удаление проверяются права «ИнтерактивнаяПометкаУдаления» и «ИнтерактивноеСнятиеПометкиУдаления». При добавлении нового документа, после выбора его типа, расширение табличного поля журнала документов проверяет право «ИнтерактивноеДобавление».
  • Поле ввода для документа проверяет только право «ВводПоСтроке».

Связанные права

Часть прав в системе 1С:Предприятия связаны друг с другом. Это означает, что основные права доступа, такие как «Чтение», «Изменение», «Добавление» и «Удаление» и некоторые другие могут влиять на права, отвечающие за такие операции с объектом, которые, в конечном счете, приведут к простейшим операциям. Например, нельзя разрешить право «Изменение», не выдав право «Чтение».

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

Зависимость прав может выстраиваться в сложные цепочки, например, у объекта «Документ» право «Интерактивная отмена проведения» зависит от прав «Отмена проведения» и «Просмотр» одновременно, где первое зависит от «Изменение», которое, в свою очередь, зависит от права «Чтение» (см. рисунок).

Ключевым является право «Чтение», при его отсутствии автоматически пропадают любые другие права на доступ к объекту.

Если при открытии внешней обработки или отчёта через меню Файл->Открыть

появляется ошибка «Нарушение прав доступа»:

То вариантов для использования обработки всего два.

Первый вариант, это регистрация обработки в справочнике «Дополнительные отчёты и обработки» (об этом здесь).

Но, что если обработка не поддерживает такую регистрацию? А обработка очень полезная и открыть её очень хочется.

В этом случае можно пойти по второму варианту и вновь включить возможность открытия обработок в базе через меню Файл->Открыть.

Инструкция для этого ниже.

Зайдите в конфигуратор базы:

Выполните команду меню «Администрирование»->»Пользователи»:

Двойным щелчком откройте своего пользователя:

Перейдите на закладку «Прочие», установите галку «Интерактивное открытие внешних отчетов и обработок» и нажмите «ОК»:

Теперь закройте конфигуратор и базу (если она у вас была открыта).

Вновь зайдите в базу и попытайтесь открыть отчёт через меню «Файл»->»Открыть».

Теперь всё получится

Способ, который я описал в этой инструкции на 100% рабочий, но при его использовании право на «Интерактивное открытие внешних обработок» спустя время может снова пропасть.

Чтобы этого избежать установите эту же галку в режиме 1С:Предприятия в текущем для вашего пользователя профиле групп доступа.

При использовании этого способа могут возникать различные нюансы (например, если вы используете встроенный профиль, который нельзя редактировать), поэтому подробной инструкции для этого случая я приводить не буду.

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Настройка прав пользователей в 1С 8.3

Для того чтобы разграничить права доступа, в 1С 8.3 существуют специальные объекты конфигурации – роли. В дальнейшем они могут назначаться конкретным пользователям, должностям и т. п. В них указывается, какие объекты конфигурации будут доступны. Так же есть возможность прописать условия предоставления доступа.

Права доступа в 1С на примере Бухгалтерии

Роли настраиваются в конфигураторе. Так же их можно назначить конкретным пользователям, но для удобства в 1С реализован механизм групп доступа. В справочнике пользователей откройте («Администрирование — Настройка пользователей и прав — Пользователи») карточку любого сотрудника и нажмите на кнопку «Права доступа». В разных конфигурациях интерфейс может отличаться, но суть одна и та же.

Перед вами откроется список записей справочника «Профили групп доступа». Флажками отмечаются те, права которых пользователю будут доступны.

Справочник профилей групп доступа («Администрирование — Настройка пользователей и прав — Профили групп доступа») содержит в себе перечень ролей, который будет доступен пользователю при его назначении. Доступные роли профиля отмечаются флагами.

У пользователей часто встречаются одинаковые наборы ролей. Использование данного механизма позволяет значительно упростить настройку прав, выбирая не сами роли, а профили групп доступа.

Роли в конфигураторе (для программистов)

В ролях указывается, какие объекты и при каких условиях будут доступны пользователю, которому они доступны. Откройте любую роль, и вы увидите две вкладки: «Права» и «Шаблоны ограничений».

На первой вкладке отображается список объектов конфигурации и назначенные для данной роли права на них.

При разрешении совершения каких-либо действий с объектом, есть возможность указать ограничение доступа к данным. Данный механизм называется RLS и позволяет настроить права на уровне записей. Он достаточно интересный, но при активном его использовании может снизиться производительность.

В нижней части формы роли можно настроить автоматическую установку прав:

  • для новых объектов (разрешающие права);
  • на реквизиты и табличные части (права наследуются от объекта – владельца)
  • на подчиненные объекты (права назначаются с учетом прав на родительские объекты).

Права можно назначить как на отбельные объекты, так и на всю конфигурацию в целом. В любой роли на вкладке «Права» выберите пункт с названием конфигурации. Справа отобразятся все возможные для нее роли. Здесь содержатся режимы запуска программы, «Все функции», административные и другие права. При нажатии на любое право, внизу отобразится его описание. Тут нет ничего сложного.

Настройки прав для остальных объектов конфигурации сходи между собой: чтение, добавление, удаления, проведение (для документов), управление итогами (для регистров накопления и бухгалтерии) и прочие. Здесь важно отметить право на «Интерактивное удаление». При его доступности пользователи смогут физически удалять данные из программы (shift + delete). Для важных объектов данное право назначать крайне нежелательно.

Программная проверка прав доступа

Для проверки доступности у пользователя какой-либо роли служит следующая функция:

В том случае, когда проверяемая роль назначена пользователю, функция вернет значение «Истина». В противном случае – «Ложь».

Для того чтобы выполнить какие-либо действия с объектом, к которому нет доступа, можно воспользоваться следующим методом:

После включения привилегированно режима никаких проверок прав не производится. По окончании действий над недоступными объектами необходимо снова вызвать данный метод с параметром «Ложь» для отключения данного режима. Помните, что в клиент — серверном варианте при выполнении на клиенте данный метод не выполняет никаких действий.

Для проверки того, установлен привилегированный режим служит функция (возвращает «Истина» или «Ложь»):

Пользовательский интерфейс при отсутствии прав доступа

При попытке пользователя совершить какое-либо действие в программе, но которое у него нет прав будет выдано соответствующее предупреждение.

Бывают случаи, когда в каком-либо поле отображается надпись формата « » с указанием GUID, возможно, у пользователя тоже не хватает прав на чтение содержащегося в нем значения. Для проверки этой теории достаточно просмотреть значение данного поля под полными правами. Если надпись не пропадает – есть вероятность битой ссылки.

Нарушение прав доступа

Ребят, доброе утро!

Такой вопрос — почему может выскакивать ошибка «Нарушение прав доступа» при программном проведении документа? У пользователя все права на проведение и запись есть, более того — если это делать вручную, то проводится без проблем.

Что может быть не так?

Заранее всем спасибо!

06.02.2017, 08:45

Недостаточно прав доступа
Помогите плз, вот хочу попробовать сделать задание, конфигурация бесплатная, но . Как зайти в.

Формирование отчета под разными пользователями. Нет прав доступа к полю отчёта.
Добрый день! Как может быть такая штука — захожу под одним пользователем, запускаю отчёт, всё.

Нарушение прав доступа
В 1Сv.8.2 Создал пользователя «Мастер смены » в его роли в правах разрешил проведение документа.

Нарушение прав доступа
Подскажите пожалуйста! Я создала пользователей системы, определила им роли, которые прописаны в.

Нарушение прав доступа
Подскажите пожалуйста, не могу удалить спр. банк, который помечен на удаление. Зашел под.

Статья написана по материалам сайтов: helpme1c.ru, 1s83.info, www.cyberforum.ru.

»

Это интересно:  Пенсионерам запретят работать в 2024
Помогла статья? Оцените её
1 Star2 Stars3 Stars4 Stars5 Stars
Загрузка...
Добавить комментарий

Adblock
detector