Что значит нарушение прав доступа в 1с
1С 8.3 нарушение прав доступа
В большинстве случаев организации используются типовые конфигурации 1С. Как правило все они находятся на поддержки, и мало кто решается внести изменения в типовую конфигурацию тем самым потеря эту самую поддержку от разработчиков. Поэтому умные программисты 1С все свои доработки оформляют в виде внешних обработок и отчетов. Так же на просторах интернета можно найти очень много полезных обработок. Которые распространяются бесплатно и позволяют произвести какие либо манипуляции с базой. Но очень часто при попытки их открыть пользователь видит ошибку «Нарушение прав доступа!». Решить данную проблему достаточно просто.
Я уже написал серию статей в которых рассказывал как можно решить самые распространенные ошибки появляющиеся во время работы с 1С рекомендую их прочитать.
Ошибка «нарушение прав доступа» при открытие внешней обработки
Разберем данную ошибку на примере 1С 8.3 Бухгалтерия. Вы пытаетесь открыть внешнею обработку.
В результате видите ошибку «Нарушение прав доступа!».
Если нажать на кнопку «Подробнее» вы видите следующий текст.
Ошибка загрузки документ по причине:
Ошибка подключения внешних метаданных
Отсутствуют права на интерактивную загрузку внешних обработок по причине:
Нарушение прав доступа!
Кстати если у вас нет кнопки Подробнее выше есть статья в которой я рассказывал к её включить.
Все достаточно просто, у пользователя который пытается открыть внешнею обработку нет прав. Что бы их дать заходим в раздел «Администрирование» далее выбираем «Настройки пользователей и прав».
Дальше выбираем пункт «Пользователи».
В открывшемся окне ищем пользователя, и переходим в раздел «Права доступа». В открывшемся окне жмем «Включить в группу».
И выбираем из списка группу «Открытие внешних отчетов и обработок».
После чего обязательно перезаходим в 1С и пробуем открыть. Как вы наверно заметили даже Администраторы не могу открывать внешние обработки. Включать в эту группу нужно только самых опытных пользователей, так запуская какую либо внешнею обработку, особенно скаченную из интернета, можно повредить бузу данных, будьте с этим очень аккуратны.
Система прав доступа
Система прав доступа позволяет описывать наборы прав, соответствующие должностям пользователей или виду деятельности. Структура прав определяется конкретным прикладным решением.
Кроме этого, для объектов, хранящихся в базе данных (справочники, документы, регистры и т. д.) могут быть определены права доступа к отдельным полям и записям. Например, пользователь может оперировать документами (накладными, счетами и т. д.) определенных контрагентов и не иметь доступа к аналогичным документам других контрагентов.
Для реализации ограничения прав доступа в прикладных решениях предназначены специальные объекты конфигурации — Роли. Подробнее.
Интерактивные и основные права
Все права, поддерживаемые системой «1С:Предприятие 8», можно разделить на две большие группы: основные и интерактивные. Основные права описывают действия, выполняемые над элементами данных системы или над всей системой в целом, и проверяются всегда, независимо от способа обращения к данным. Интерактивные права описывают действия, которые могут быть выполнены пользователем интерактивно. Соответственно проверяются они только при выполнении интерактивных операций стандартными способами, причем в клиент-серверном варианте все проверки прав (кроме интерактивных) выполняются на сервере.
Основные и интерактивные права взаимосвязаны. Например, существует основное право Удаление, которому соответствуют два интерактивных права: Интерактивное удаление и Интерактивное удаление помеченных. Если пользователю запрещено Удаление, то и все интерактивные «удаления» также будут запрещены для него. В то же время, если пользователю разрешено Интерактивное удаление помеченных, это значит, что Удаление ему также разрешается.
Кроме того, основные права могут зависеть друг от друга. В результате образуются довольно сложные цепочки взаимосвязей, которые отслеживаются системой автоматически: как только разработчик снимает разрешение на какое-либо право, система сама снимает разрешения на все права, которые зависят от этого права. И наоборот, при установке какого-либо права разработчиком, система сама устанавливает все права, от которых это право зависит.
Например, для того, чтобы пользователь имел право Итерактивное удаление помеченных, ему необходимо обладать интерактивными правом Редактирование. Это право, в свою очередь, требует наличия интерактивного права Просмотр.
Право Интерактивное удаление помеченных требует наличия основного права Удаление. Интерактивное право Редактирование требует наличия основного права Изменение. Интерактивное право Просмотр требует наличия основного права Чтение.
Кроме этого основные права Изменение и Удаление требуют наличия основного права Чтение.
Ограничение доступа к данным на уровне записей и полей
Для этих действий в процессе настройки ролей могут быть заданы дополнительные условия на данные (ограничение доступа к данным). В этом случае над конкретным объектом, хранимым в базе данных, может быть выполнено запрошенное действие только в том случае, если ограничение доступа к данным для данных этого объекта принимает значение «истина». Аналогичные условия могут быть заданы и для таблиц базы данных, не имеющих объектной природы (регистров).
Для объектных таблиц и регистров сведений могут быть заданы разные ограничения для различных полей таблицы, что позволяет определять ограничения не только на уровне записей базы данных, но и на уровне отдельных ее полей:
Для регистров накопления, бухгалтерского учета и расчета условия позволяют разграничить доступ по значениям измерений (для регистров бухгалтерского учета по балансовым измерениям), а для объектных данных и регистров сведений условия позволяют разграничивать доступ к данным по любым полям.
Условия ограничения можно ввести вручную или создать с помощью конструктора ограничений доступа к данным.
Параметры сеанса
Параметры сеанса представляют собой объекты прикладного решения, которые предназначены для использования в ограничениях доступа к данным для текущего сеанса (но могут применяться и для других целей). Их значения сохраняются в течение данного сеанса «1С:Предприятия 8». Использование параметров сеанса позволяет снизить время доступа к данным при ограничении доступа на уровне записей и полей. Подробнее.
Выполнение на сервере без проверки прав
Привилегированные модули
Существует возможность назначения привилегированных модулей. В такие модули могут быть перенесены операции, использующие данные, на которые у текущего пользователя нет прав.
Например, пользователю могут быть назначены права, позволяющие создавать новый документ. Однако никаких прав на регистр, в котором этот документ создает движения при проведении, пользователю не дано. В такой ситуации процедура проведения документа может быть вынесена в привилегированный модуль, который выполняется на сервере без проверки прав. В результате, несмотря на то, что соответствующий регистр для пользователя недоступен, пользователь все же сможет проводить созданные им документы.
Привилегированный режим исполнения программного кода
Привилегированный режим исполнения кода, аналогичный режиму работы кода привилегированных модулей, можно включить/выключить средствами встроенного языка. Для этого в глобальном контексте предусмотрена процедура УстановитьПривилегированныйРежим (), а также функция ПривилегированныйРежим (), которая позволяет определить, включен привилегированный режим, или нет.
Использование привилегированного режима позволяет, во-первых, ускорить работу, так как не будут накладываться ограничения на доступ к данным, а во-вторых, позволяет выполнять операции с данными от лица пользователей, которым эти данные недоступны.
Привилегированный режим рекомендуется использовать тогда, когда с логической точки зрения нужно отключить проверку прав, или когда можно отключить проверку прав, чтобы ускорить работу. Допустимо использовать привилегированный режим тогда, когда работа с данными от лица некоторого пользователя не нарушает установленные для этого пользователя права доступа.
Права доступа в 1С:Предприятии 8
В 1С:Предприятии различают два типа прав – основные и интерактивные.
Основные (неинтерактивные) – проверяются всегда независимо от способа обращения к объектам информационной базы.
Интерактивные – проверяются при выполнении интерактивных операций (например, операция «Установить пометку удаления»).
Нужно учитывать, что проверку интерактивных прав можно обойти, создав, например, при конфигурировании форму самостоятельно и заменив стандартные команды своими, а проверку неинтерактивных прав нельзя обойти ни при каких обстоятельствах. Неинтерактивными правами защищается характерная для объекта фундаментальная функциональность, за это отвечают, например, такие права, как: «Добавление», «Чтение», «Изменение», «Удаление».
Система 1С:Предприятие допускает проверку прав из встроенного языка. Например при добавлении команд к формам разработчик должен дополнительно позаботиться о проверке соответствующих интерактивных прав.
Пример проверки прав из языка:
При этом нужно помнить о том, что у будущего пользователя конфигурации соответствующие интерактивные и неинтерактивные права к тому или иному объекту могут различаться. Например, может быть разрешено право на «Удаление» и запрещено право «Интерактивное удаление».
Проверка прав объектов производится только в режиме «1С:Предприятие».
При попытке выполнить неразрешенную операцию выдается сообщение об ошибке «Нарушение прав доступа!», и производится отмена всех начатых транзакций.
Рассмотрим проверку прав расширениями формы, табличного поля и поля ввода на примере документа:
Связанные права
Часть прав в системе 1С:Предприятия связаны друг с другом. Это означает, что основные права доступа, такие как «Чтение», «Изменение», «Добавление» и «Удаление» и некоторые другие могут влиять на права, отвечающие за такие операции с объектом, которые, в конечном счете, приведут к простейшим операциям. Например, нельзя разрешить право «Изменение», не выдав право «Чтение».
Интерактивные права напрямую зависят от их неинтерактивных аналогов, т.е. право «Интерактивное удаление» зависит от права «Удаление». На практике при конфигурировании это выглядит так, что при разрешении интерактивных прав аналогичные им неинтерактивные будут автоматически разрешены, и, наоборот, при снятии неинтерактивных прав соответствующие им интерактивные автоматически будут сброшены. Допускается лишь установка неинтерактивного права и сброс интерактивного, но не наоборот. Например, нельзя разрешить интерактивное право «Интерактивное удаление» и запретить неинтерактивное «Удаление».
Зависимость прав может выстраиваться в сложные цепочки, например, у объекта «Документ» право «Интерактивная отмена проведения» зависит от прав «Отмена проведения» и «Просмотр» одновременно, где первое зависит от «Изменение», которое, в свою очередь, зависит от права «Чтение» (см. рисунок).
Ключевым является право «Чтение», при его отсутствии автоматически пропадают любые другие права на доступ к объекту.
Настройка прав доступа в 1С 8
Вопрос о настройке прав доступа в программах 1С возникает в двух случаях:
Права пользователя в 1С
Скажем несколько слов о правах пользователей. Что означает ограничение прав доступа? В разрезе программных продуктов 1С, это запрет на совершение действий с какими-либо файлами и объектами. Например, можно закрыть пользователю доступ для изменения документа, копирования и даже просмотра. Соответственно, расширить права доступа означает дать разрешение на просмотр, изменение документа, копирование, сохранение и т.д.
При правильной настройке 1С система всегда ответит пользователю, если ему нельзя совершить то или иное действие с объектом: «у вас недостаточно прав для редактирования».
Пошаговая настройка прав доступа в 1С
Расскажем, как настроить права доступа на примере программы «1С:Бухгалтерия 8 редакция 3.0». Однако обратите внимание, что аналогичным образом настраиваются права доступа для пользователей и в других программных продуктах 1С. Например, инструкция также подойдет к «1С:Управление торговлей», «1С:Зарплата и управление персоналом», «1С:ERP» и другим ПП.
Шаг №1. Настройка пользователей и прав
В самом начале необходимо зайти в раздел настроек программы и выбрать раздел «Настройка пользователей и прав».
Это действие можно также выполнить на вкладке «Администрирование», если у вас есть необходимые права для действий.
Если Вы делаете настройку прав своей 1С впервые, рекомендуем оставить бесплатную заявку в поддержку по 1С через сервис Бит.Личный кабинет. Вам перезвонит консультант по 1С и поможет.
Шаг № 2. Пользователи
Для того, чтобы увидеть, к какую группу доступа входит отдельный пользователь, нужно перейти в раздел «Пользователи». Здесь можно создать нового пользователя 1С или выполнить редактирование для уже существующего или целой группы.
Важно! Вы сможете управлять данными списками и вносить изменения только в том случае, если сами имеете права администратора.
Чтобы создать необходимую группу пользователей, их можно выбрать из базы. Здесь нужно проверить, что установлены флажки «Вход в программу разрешен» и «Показывать в списке выбора». Если их не будет, то при авторизации пользователь себя не увидит.
Шаг № 3. Роли для группы
Итак, в нашей программе пользователи входят в группы с разрешенным доступом. Например, можно создать группу бухгалтеров, администраторов, кассиров, логистов и т.д. Отметим, что один и то же пользователь может относиться к нескольким разным группам. У каждой из групп прописываются роли.
Что такое роль? Это метаданные. От конфигурации вашей 1С будет зависеть, сколько их и какие они. Обычно их довольно много, поэтому важно не запутаться. Ведь вы можете назначить только одну лишнюю роль, а пользователю уже откроется доступ ко многим действиям.
Чтобы узнать, какие права откроются пользователю, нужно перейти во вкладку «Описание».
Роли могут быть базовыми, которые позволяют только просматривать документ. Могут быть специальными, когда открывается доступ для редактирования.
Шаг № 4. Профиль групп доступа
Допустим, что вам необходимо разрешить группе бухгалтеров редактировать реквизиты объектов. Для этого зайдите в раздел «Профиль групп доступа». Установите флажок «редактировать реквизиты объектов».
Примечание: для редактирования ролей целесообразно предварительно скопировать нужную роль, и уже скопированную роль менять. При этом кнопка «Только выбранные» должна быть «отжатой» (см скриншот ниже), поскольку в типовых профилях показываются только используемые роли.
Шаг № 5. Ограничение на уровне записей
Речь идет о RLS (Record Level Security). Вы найдете необходимую колонку в «Отчете по правам пользователя», в разделе «Права доступа». Чтобы работать с ограничение на уровне записей, нужно установить соответствующий флажок во вкладке.
Для чего необходима эта функция? Это дополнительные условия, которые могут поставить ограничения на конкретный объект в базе данных. Очень удобно, если нужно закрыть доступ к файлу отдельного пользователя или группы. При этом программа предупредит, что данные настройки могут замедлить работу системы.
Почему? В этом случае система 1С каждый раз будет запрашивать информацию о том, разрешено ли пользователю просматривать какой-то файл.
Вы также можете перемещать пользователя по группам в 1С, чтобы изменить права доступа.
Шаг № 6. Новые роли
Чтобы не путаться в бесконечном разнообразии ролей, рекомендуем создать собственные роли. Для этого зайдите в дерево метаданных.
Разграничить права в новой роли можно путем выставления необходимых флажков напротив нужного вам права.
Задать ограничение можно в правом нижнем углу. Здесь работает механизм настройки прав доступа по отношению к конкретным данным.
К примеру, вы можете ограничить изменение документа только по одной организации.
Используйте конструктор ограничений доступа. Он поможет выбрать необходимые условия для доступа. Кроме того, программа предложит вас шаблоны ограничений, которые останется только выбрать и добавить.
Примечание: для создания новых ролей в режиме Конфигуратора необходимо включить возможность изменения конфигурации.
Другие настройки 1С
Итак, вы настроили все права доступа в 1С, какие требовалось. Что же еще предлагает система?
Обратите внимание на следующие разделы:
Их названия говорят сами за себя. Эти настройки относятся к внешнему виду отчетов программы.
Если вы зайдете в раздел «Настройки пользователей», то можете настроить такой внешний вид, какой вам понравится и какой будет более удобным.
Здесь выбранный флажок «Разрешить доступ внешним пользователям» откроет возможности для внешних пользователей. Такими пользователями могут быть покупатели вашего интернет-магазина, который работает на базе 1С.
Разработчики 1С позаботились о том, чтобы предоставить пользователям широкие возможности для администрирования прав доступа. Инструменты могут показаться непростыми. Но это только сначала. Используйте наши рекомендации и инструкцию, и тогда в вашей компании не возникнет трудностей с настройкой прав доступа пользователей к тем или иным объектам.
Обратите внимание на то, чтобы у вас был действующий договор 1С:ИТС. Только в этом случае вы сможете пользоваться самыми актуальными данными и документами в системе 1С. Позвоните нашим специалистам и узнайте о сроке вашего договора 1С:ИТС.
«Нарушение прав доступа» во внешних обработках 1С 8.3
Программы 1С можно дорабатывать через Конфигуратор. В таких случаях немного осложняется обновление конфигурации.
Поэтому широкое распространение получили внешние обработки — с помощью них выполняются необходимые действия, а конфигурация остается типовой.
Внешние обработки можно подключить в 1С в список дополнительных отчетов и обработок и разместить в нужном для себя разделе.
Но не все обработки поддерживают такую функцию, также бывает, что обработку нужно открыть разово или использовать редко. В таких случаях используется интерактивное открытие обработки и тогда часто выходит ошибка «Нарушение прав доступа».
Разберем, почему происходит такая ситуация в 1С 8.3, и как ее решить.
Как открыть обработку интерактивно
При интерактивном открытии обработки ее не нужно никуда подключать. Достаточно зайти в раздел «Сервис и настройки — Файл — Открыть» или нажать CTRL + O на клавиатуре.
Получите понятные самоучители по 1С бесплатно:
Затем выбираем саму обработку. В этот момент и выходит ошибка.
Как исправить ошибку
Для исправления ошибки назначим пользователю роль, которая позволяет открывать обработки интерактивно. Роль так и называется — Интерактивное открытие внешних отчетов и обработок. Отметим, что эту роль нужно назначить даже пользователю с полными правами.
Установка ролей построена таким образом: роли указываются в профилях групп доступа, а профили назначаются пользователям.
Сначала рассмотрим, где находится нужный профиль, а затем разберем, как назначить ее пользователю.
Профиль для открытия внешних обработок
Зайдем в меню «Администрирование — Настройки программы — Настройки пользователей и прав».
Раскроем раздел «Группы доступа» и перейдем по ссылке «Профили групп доступа».
Нужный профиль в программе уже создан и называется «Открытие внешних отчетов и обработок».
Откроем его и увидим, что в нем содержится единственная роль «Интерактивное открытие внешних отчетов и обработок».
Как назначить профиль пользователю
В том же разделе, где находится профиль групп доступа, откроем справочник «Пользователи».
Выберем пользователя, которому нужно назначить профиль. Перейдем по ссылке «Права доступа». Ставим флажок для пункта «Открытие внешних отчетов и обработок» и нажмем «Записать» для сохранения настроек.
Обязательно закрываем 1С и запускаем заново. Открываем обработку и ошибки больше не будет.
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.