1с доступ отказ в доступе определить где запрет

Обновлено: 07.07.2024

Ошибка в 1С 8.3 Нарушение прав доступа появляется при попытках обращения пользователя к объекту, прав на который у него нет. Очень часто это происходит при вводе нового пользователя в 1С, доработке программного кода и обновлении программы.

Прочитав эту статью, вы:

  • узнаете, на что обращать внимание при возникновении ошибки;
  • получите рекомендации по ее устранению;
  • ознакомитесь с ответами экспертов БухЭксперт8 на вопросы, связанные с возникновением ошибки.

Причины ошибки

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

  • обновление программы на новый релиз;
  • попытка чтения или записи данных справочника, документа или регистра пользователем, не имеющим прав на объект;
  • использование внешних обработок и отчетов без установки пользователю специальной роли;
  • ошибка задания прав новому пользователю 1C.


Ошибка обновления

При обновлении программы текущая конфигурация 1С заменяется новой версией, в которой содержатся выполненные разработчиками доработки. Все изменения, внесенные перед публикацией нового релиза, тестируются, но время от времени ошибки все-таки случаются. Если это произошло, ошибки регистрируются в специальном реестре 1С и исправляются в последующих релизах.


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

Восстановите программу из копии и ждите исправления ошибки в следующем релизе обновления.

БухЭксперт8 советует всегда делать перед обновлением архивные копии базы данных. Это поможет восстановить базу при неудачном обновлении.

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

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


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

Пользователь, которому назначили роль Чтение контрагентов , может считывать данные справочника Контрагенты , но при обращении к справочнику Банки получит ошибку Нарушение прав доступа .

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

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

Пользователь, которому назначена роль Добавление и изменение сотрудников , может редактировать данные справочника Сотрудники , но при попытке изменения данных банка получит ошибку Нарушение прав доступа .

Работа с внешними отчетами и обработками

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

  • Полные права ;
  • Интерактивное открытие внешних отчетов и обработок .

Как добавить роль Интерактивное открытие внешних отчетов и обработок , описано в статье Как добавить пользователю с правами Бухгалтер права запускать внешние отчеты и обработки?


Для исправления ситуации нужно добавить роль Интерактивное открытие внешних отчетов и обработок пользователю, работающему с внешней обработкой.

Добавление нового пользователя


При добавлении новых пользователей БухЭксперт8 рекомендует использовать типовые Профили группы доступа в 1С: раздел Администрирование — Настройки программы — Настройки пользователей и прав .

В 1С заложена автоматическая проверка прав того набора объектов 1С, который определяется профилем групп доступа:

Программа скроет все объекты, на которые у пользователя нет прав:

Чтобы ограничить возможность изменения документов определенным пользователям, можно даже не устанавливать специально Дату запрета изменения . Программа сама не даст сохранить изменения пользователям с ограниченными правами:

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

Ответы на вопросы

Ошибка при проведении документа Реализация (акт, накладная)

Создали новую роль в Конфигураторе — только для документа Реализация (акт, накладная) . При записи документа программа отрабатывает правильно, а при проведении — выдает ошибку Нарушение прав доступа .

В чем может быть причина?

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

Если вы указали в новой роли право только на документ Реализация (акт, накладная) , этого недостаточно. По кнопке Дт/Кт уточните, какие регистры используются при проведении документа и добавьте их в новую роль с активными свойствами:

Ошибка при попытке открыть карточку контрагента под определенным пользователем

  • «Справочник.Контрагенты.Форма.БП_ФормаЭлемента.Форма: Ошибка при вызове метода контекста НаборЗаписей.Прочитать() по причине: Нарушение прав доступа».

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

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

  • регистр бухгалтерии Хозрасчетный ;
  • регистр бухгалтерии Курсы валют ;
  • регистр бухгалтерии Наличие дублей у контрагентов ;
  • и т. д.

Эти регистры включены в программный модуль справочника Контрагенты .


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

Эта работа требует особой подготовки и квалификации.

Ошибка при открытии внешнего отчета

При попытке открыть внешний отчет 1С появляется ошибка Нарушение прав доступа . Все остальные отчеты внутри программы открываются нормально. В чем может быть причина?

Для открытия внешних отчетов и обработок 1С необходимо добавить пользователю роль Интерактивное открытие внешних отчетов и обработок . После этого он сможет работать с внешним отчетом без ошибок.

См. также:

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Похожие публикации

    ..Если контрагент нарушил условия договора, сумма санкций за такой проступок.ФСС ответил на этот вопрос Письме от 01.09.2020 N 14-15/7710-2216л.

Карточка публикации

(1 оценок, среднее: 5,00 из 5)

Данную публикацию можно обсудить в комментариях ниже.
Обратите внимание! В комментариях наши кураторы не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно по ссылке >>
Вы можете задать еще вопросов

Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8

Вы можете оформить заявку от имени Юр. или Физ. лица Оформить заявку

Нажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>

Как не попасть в ловушку, работая с контрагентами из ЕАЭС

[17.11.2021 запись] Практический переход на ФСБУ 6 и ФСБУ 26 в 1С

Переход на ФСБУ 6/2020 «Основные средства» в 1С по альтернативному алгоритму

Изменения в 2021 году, о которых нужно знать бухгалтеру

[11.10.2021 запись] Учет ОС по-новому: ФСБУ 6/2020, ФСБУ 26/2020, ФСБУ 25/2018

[29.10.2021 запись] Пообъектный учет ОС и подходы к определению и пересмотру СПИ

Спасибо! Очень ценно полезно нужно! Буду еще неоднократно обращаться к этому семинару для изучения этой темы.

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

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

В конфигурациях за возможные права доступа к данным отвечают специальные объекты метаданных – роли. Каждому пользователю информационной базы назначается одна или несколько ролей. Они определяют, возможны ли операции с конкретными объектами метаданных (чтение, запись, проведение и т.д.).

Часто бывает необходимо не просто открыть/запретить доступ к определенному объекту, а ограничить доступ к части данных в нем.


PDF с вводной информацией.

21 страница, которые нужно прочесть сначала.


Видео 01:
Ограничение доступа к данным при помощи ролей

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


Видео 02:
Ограничение доступа на уровне записей (RLS)

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


Видео 03:
Реализация ограничения доступа на уровне записей для справочника Контрагенты

В этом видео рассказывается, как в демонстрационной конфигурации «Управляемое приложение» настроить доступ менеджеров только к собственным контрагентам, закрепленным за ними.


Видео 04:
Принцип работы ограничений доступа на уровне записей на низком уровне

В этом видео рассказывается, как платформа трансформирует запросы, передаваемые для выполнения на сервер СУБД, при наличии ограничений доступа на уровне записей.


Видео 05:
Совместное применение нескольких ограничений доступа на уровне записей

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


Видео 06:
Наложение ограничений методом ВСЕ


Видео 07:
Наложение ограничений методом РАЗРЕШЕННЫЕ


Видео 08:
Исправление ошибки, возникающей из-за наложения прав доступа на уровне записей


Этот курс позволит решать ВСЕ задачи по развертыванию и поддержке информационных систем на 1С.

Вот несколько тем из курса:

Этот курс актуален для всех, кто внедряет или поддерживает 1С.

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

И лучше это сразу делать правильно.

Курс по Администрированию систем на 1С.
Описание курса, программа и оформление заказа Курс по RLS.
Описание курса, программа и оформление заказа

Комментарии / обсуждение (161):

Добрый день!
1. Для того, чтобы работали ограничения доступа на уровне записей, в служебных регистрах сведений должны быть записи, описывающие доступ к отдельным объектам.
До включения указанной галочки в регистрах не было нужных записей, значит, первоначально нужно сформировать эти записи по всей базе, затем поддерживать регистр в актуальном состоянии по мере заполнения базы новыми данными.
Для выполнения этого действия в конфигурациях на базе БСП (ERP как раз к таким относится) существует специальное регламентное задание, которое выполнит первоначальное заполнение (разовая операция), затем будет доформировывать записи для новых объектов (это уже будет регулярная операция, которая должна часто выполняться, чтобы для всех новых объектов базы были сформированы записи в регистрах, отвечающих за ограничения доступа).

Добрый день!
Подскажите, пожалуйста, как можно с помощью шаблонов ограничения доступа ограничить доступ к данным некоторых отчетов. Например, есть профиль Менеджер по продажам, состоящий из нескольких ролей, у которого настроено ограничение доступа к группе партнеров. Исключения настроены в группе доступа. В отчете, например, Воронка продаж, нужно установить ограничение на разрешенную группу партнеров. А в другом отчете, например, Анализ встреч, по текущему пользователю, но также для пользователя с данным профилем.

Добрый день!
В типовых конфигурациях на базе БСП (например, УТ 11) в ролях используются стандартные шаблоны ограничений доступа из БСП.
Они универсальные, поэтому для решения большинства задач их не требуется менять. Предполагается, что настройку нужно выполнять в пользовательском режиме, создавая профили и группы доступа.
Если Вы ограничиваете доступ к справочнику Партнеры, оставляете доступными определенные группы, то в форме списка справочника, в списке документов, в отчетах будут видны данные только по этим разрешенным партнерам. Других (запрещенных) партнеров и данных по ним увидеть нельзя.
Если нужно в отчетах видеть не всех разрешенных партнеров, а только часть из них, то можно настроить отборы в отчете и сохранить такой вариант отчета. В отборе указать конкретных разрешенных партнеров, тогда отчет будет формироваться только по ним. Сохраненный вариант отчета можно разместить в Избранном, тогда пользователь сможет быстро формировать его, не выполняя предварительную настройку.

Добрый день, в учебной версии при использовании rls столкнулся с проблемой при записи или проведении документа (у пользователя недостаточно прав на использование операций над базой данных), причём в полной версии 1с данной проблемы не встречал.
В журнале регистраций ссылается на отказ доступа (действие-чтение)
Ограничение делал простое:

Как можно решить данную проблему?
Заранее огромное спасибо!

P.S.: не судите строго я недавно начал изучать 1с.

У учебной версии нет ограничений по RLS. Проверяйте, скорее всего у пользователя действительно недостаточно прав на использование операций над базой данных.

Добрый день!
Хотел уточнить, при установки ограничения по текущему пользователю на документ, сам пользователь проводить свои документы может или он их сможет только просмотреть и ему всё же будет отказано в доступе, как в моем случае?

Это зависит от-того на какое право наложено ограничение, чтение или запись.

Ваш ответ исчерпывает сам себя. Наложили ограничение на чтение, получили отказ в доступе при попытке чтения данных.

Добрый день!
Спасибо за Ваши ответы!
Я понял свою ошибку.

Пожалуйста!
Интересного обучения!

Приветствую Василий, есть задача в ут 10.3 ограничить доступ пользователей на доп свойства справочника контрагентов сейчас RLS используется для доступа к контрагентам не могу сообразить на какой объект лучше написать правило ограничения на регистрсведений.ЗначенияСвойствОбъектов или на планВидовХарактеристик.СвойстваОбъектов?

В Вашем случае может быть два варианта решения:
1. Вы не используете сложные типовые шаблоны, самостоятельно прописываете собственное ограничение при помощи простого запроса.
2. Вы анализируете существующие в типовой конфигурации шаблоны, подбираете подходящий, используете его. Можно поискать в конфигурации похожие примеры в ролях, взять их в качестве образца.

Добрый день. Имеется такая задача, есть ветка номенклатуры, которая привязана к магазину, и всю номенклатуру в этой группе и подгруппах необходимо разрешить изменять только 1-2м пользователям.
У соответствующей роли можно убрать галку прав на чтение, но как сделать, что бы эти правила распространялись только на группу магазин, а не блокировали абсолютно все.
Спасибо за помощь и видео, очень интересно!

Добрый день!
Предлагаю сделать регистр сведений РазрешеннаяНоменклатура, куда записывать все номенклатуры, которые можно изменять указанным пользователям. Например, в регламентном задании выбираем номенклатуры из определенных групп, записываем в регистр. Получается что-то похожее на состав сегментов номенклатуры из УТ 11.
Затем в роли для справочника Номенклатура для права Изменение прописать ограничение доступа, например, вот так:

Номенклатура ГДЕ Номенклатура.Ссылка В
(ВЫБРАТЬ
РазрешеннаяНоменклатура.Номенклатура КАК Номенклатура
ИЗ
РегистрСведений.РазрешеннаяНоменклатура КАК РазрешеннаяНоменклатура)

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

Спасибо за совет, сделал как вы сказали, все работает! Единственное, не смог самостоятельно доработать. Не поможете довести до ума?)

Единственное, не понимаю, как добить условие в Роли ограничение доступа Изменение. Запрет редактирование всего, что есть в РегистреСведений, по группам. Разматывать всю иерархию не нужно, достаточно только 1 погружение, мне не влом добавить все подгруппы. Просто как-то нужно правильно свести код:

Выборка = Справочники.Номенклатура.Выбрать(ЗапрещеннаяГруппаНоменклатуры);
Пока Выборка.Следующий() Цикл
Наименование = Выборка.Наименование;
КонецЦикла;

Номенклатура ГДЕ НЕ Номенклатура.Ссылка В
(ВЫБРАТЬ
ЗапрещеннаяНоменклатура.Номенклатура КАК Номенклатура
ИЗ
РегистрСведений.ЗапрещеннаяНоменклатура КАК ЗапрещеннаяНоменклатура)

Отлично, что заработало!
Поскольку в регистре хранятся группы номенклатуры, а не элементы, то будем работать с реквизитом Родитель.
Ограничение доступа может выглядеть, например, вот так:

Номенклатура ГДЕ НЕ Номенклатура.Родитель В
(ВЫБРАТЬ
ЗапрещеннаяНоменклатура.Номенклатура КАК Номенклатура
ИЗ
РегистрСведений.ЗапрещеннаяНоменклатура КАК ЗапрещеннаяНоменклатура)

Добрый человек, все работает как нужно и спасибо еще раз за помощь! Вы крутые!

Номенклатура ГДЕ НЕ Номенклатура.Родитель В
(ВЫБРАТЬ
ЗапрещеннаяНоменклатура.Номенклатура КАК Номенклатура
ИЗ
РегистрСведений.ЗапрещеннаяНоменклатура КАК ЗапрещеннаяНоменклатура)

Добрый день! Наблюдаю интересную картину. Есть 3 типа заказов. По ним есть счета. В один счет могут входить разные типы заказов. Заказы перечислены в табличной части. На заказ с Типом1 у пользователя права чтение/запись, на Тип2 только чтение, на Тип3 ничего. Так вот если в одном счете есть Тип1 и Тип2, то счет можно записать (да как. ). Если только Тип2, то записать нельзя. Если Тип1 и Тип3, то записать тоже нельзя. Я не понимаю, почему дает записать счет с типами заказов Тип1 и Тип2. Что это за метаморфозы?? Как я понимаю, счет это у нас целостная сущность. Внутри нее есть подсущности с разными правами доступа. Возможно, есть какие-то приоритеты, по которым RLS выбирает, какой уровень доступа наложить на счет?

Добрый день! Вы правы , именно обновление вспомогательных данных не выполнил. Спасибо.

Может ли RLS помочь в ситуации , когда нужно одной и той же роли разрешить или запретить Запись и Проведение документа по Отбору ?

Добрый день!
Да, можно ограничить запись документа в базу при помощи RLS. Для этого нужно будет настроить ограничение доступа в роли. Если условие выполняется, документ может быть записан в базу. Если условие не выполняется, документ нельзя записать.
При помощи RLS нельзя ограничить проведение, можно только Чтение, Добавление, Изменение, Удаление.

Но помещать такого рода алгоритм, наверно не стоит , например:
В рлс , перед изменением Документа , Рлс контролирует остаток после записи и если Отрицательный остаток , то не даст пользователю изменить документ . Да я конечно понимаю , что для этого есть кучу и других мест

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

Механизм ограничения доступа на уровне записей (RLS) позволяет ограничить доступ к части данных в определенной таблице. Например, видеть не всех контрагентов, а только тех, за которых отвечает конкретный менеджер.

Подскажите, а чтобы обратиться к реквизиту текущего пользователя в рлс напирмер физлицо то для этого отдельно нужно создавать параметр сеанса? ГДЕ ФизЛицо = &ТекущийПользователь (нужно физ лицо которое задано у пользователя

Читайте также: