Недостаточно прав для работы с таблицей
-

Недостаточно прав для работы с таблицей

0
24824
28.11.2022 Александр Логачев

Содержание:

1.     Неверно настроены права в профиле пользователя 1С

 

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


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


Проверили роль есть или добавили, но ошибка все равно осталась. Дальше необходимо проверить настройки ограничений в группах. Разрешена ли запись по заданным реквизитам (Организация/Склад/Группа контрагентов/Группа номенклатуры и т.п.). У нас может быть группа в которой разрешено чтение всего и отдельно группа, разрешающая пользователю запись только по одной организации или складу. Находим группу, добавляем права на запись по необходимому реквизиту - проблема решена.  

    

2.     Попытка выполнения запроса пользователем, у которого установлены ограничения доступа на уровне записей 1С


В 99,9% такого типа ошибки возникают в доработанных конфигурациях системы 1С, в типовых такого рода ошибки исправляются в «первые дни» после выхода релиза. Считается ошибкой «новичка».


Разберем эту ошибку. Простой запрос:

"ВЫБРАТЬ

| Организации.НаименованиеПолное Как НаименованиеДляПечати

|ИЗ

| Справочник.Организации КАК Организации"

 

Под полноправным пользователем (а разработчики как правило «тестируют» под собой с полными правами) запрос выполнится без ошибок, а вот у пользователя с ограничением прав на уровне записей 1С появится описываемая ошибка. Главное правило (если действительно не нужно выбирать что-то запрещенное) в запросе использовать выражение «РАЗРЕШЕННЫЕ»

 

"ВЫБРАТЬ РАЗРЕШЕННЫЕ

| Организации.НаименованиеПолное КАК НаименованиеДляПечати

|ИЗ

| Справочник.Организации КАК Организации"

 

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


У нас два варианта:

●       Выполнить код в общем модуле с признаком Привилегированный режим в 1С

●       В коде перед получением и обработкой данных установить привилегированный режим в 1С УстановитьПривилегированныйРежим(Истина).


Однако нужно учитывать, что для любых внешних обработок/отчетов которые были открыты интерактивно (через «файл» - «открыть») в клиент-серверном варианте работы данная процедура будет ПРОИГНОРИРОВАНА!! Т.е. ошибка останется. Можно использовать подключаемые отчеты и обработки с отключённым безопасным режимом, об этом ниже.  

 

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

 

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

 

ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь)

 

При такой возможно использование привилегированного режима 1С в обработке/отчете.

 

Специалист компании "Кодерлайн"

Александр Логачев

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.