|
|||
Абырвалг
07.12.10 — 16:44 |
Обработки.ПечатьПрайсЛиста.ПолучитьФорму(«ФормаЗаполнения»); Ошибка при вызове метода контекста (ПолучитьФорму): Нарушение прав доступа Что бы это значило? У пользователя права на обработку есть. |
||
Dem1urg
1 — 07.12.10 — 17:02 |
Может при создании формы инициализируются какие-то переменные или есть реквизиты обработки к которым у пользователя нет прав доступа. |
||
mikecool
2 — 07.12.10 — 17:04 |
(0) иди в отладчик — увидишь на чем стопорится |
||
Абырвалг
3 — 07.12.10 — 17:05 |
(1) вот непонятно |
||
zladenuw
4 — 07.12.10 — 17:06 |
а может все таки вызывается ? |
||
mikecool
5 — 07.12.10 — 17:06 |
(3) отладка — останавливаться по ошибке |
||
Генератор
6 — 07.12.10 — 17:06 |
оба права есть или только использование? |
||
Живой Ископаемый
7 — 07.12.10 — 17:07 |
2(3) Настрой ТЖ |
||
Абырвалг
8 — 07.12.10 — 17:08 |
(6) оба по-видимому нет прав к какому-то элементу на форме обработки, но вроде проверил все |
||
Генератор
9 — 07.12.10 — 17:09 |
в конце модуля формы есть какой код? |
||
Абырвалг
10 — 07.12.10 — 17:12 |
(9) нет |
||
Абырвалг
11 — 07.12.10 — 17:13 |
удалил все элементы формы, закомментировал весь код. ошибка осталась |
||
YF
12 — 07.12.10 — 17:14 |
(11) основной реквизит? |
||
Абырвалг
13 — 07.12.10 — 17:14 |
(12) таже обработка ОбработкаОбъект.ПечатьПрайсЛиста |
||
Живой Ископаемый
14 — 07.12.10 — 17:14 |
2(11)http://www.screencast.com/users/october.hammer/folders/Jing/media/2826f817-61f1-47be-a208-0d4c9efbef2d |
||
mikecool
15 — 07.12.10 — 17:18 |
смотри в ЖР, 8.2 уже логирует ошибки доступа |
||
Абырвалг
16 — 07.12.10 — 17:19 |
(14) Привет, Андрюх |
||
Живой Ископаемый
17 — 07.12.10 — 17:20 |
это не ЖР, а ТЖ. в примере 8.2 потому что на ИТС лежит обработка которая написана на управляемых формах.. Можно поставить себе платформу локально 8.2 создать пустую файловую базу и зайти в нее через управляемое приложение. |
||
Абырвалг
18 — 07.12.10 — 17:21 |
Короче в реквизитах обработки был такой: ОбщийОтчет (ОтчетОбъект.ОтчетСписокКроссТаблица). Вот к нему и не было доступа. |
||
Dem1urg
19 — 07.12.10 — 17:38 |
Собственно о чем в (1) и было сказано |
||
Абырвалг 20 — 07.12.10 — 17:40 |
(19) |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Показывать по
10
20
40
сообщений
Новая тема
Ответить
Alex Dji
Дата регистрации: 26.01.2018
Сообщений: 1
Добрый день, после обновления конфигурации слетел доступ к внешним отчетам у ряда пользователей, хотя галочка в роли стоит верная. Сообщение с ошибкой «{Обработка.ВнешниеМодули.МодульОбъекта(36 }: Ошибка при вызове метода контекста (Создать)
МодульОбработки = Обработки[ИмяФайлаОбработки].Создать();
по причине:
Нарушение прав доступа!
«
снова добавить и удалить права роли не принесло успеха. Подскажите пожалуйста, есть ли какие варианты?
Показывать по
10
20
40
сообщений
Ошибка в 1С 8.3 Нарушение прав доступа появляется при попытках обращения пользователя к объекту, прав на который у него нет. Очень часто это происходит при вводе нового пользователя в 1С, доработке программного кода и обновлении программы.
Прочитав эту статью, вы:
- узнаете, на что обращать внимание при возникновении ошибки;
- получите рекомендации по ее устранению;
- ознакомитесь с ответами экспертов БухЭксперт8 на вопросы, связанные с возникновением ошибки.
Содержание
- Причины ошибки
- Ошибка обновления
- Нарушение прав доступа при чтении данных
- Нарушение прав доступа при записи данных
- Работа с внешними отчетами и обработками
- Добавление нового пользователя
- Ответы на вопросы
- Ошибка при проведении документа Реализация (акт, накладная)
- Ошибка при попытке открыть карточку контрагента под определенным пользователем
- Ошибка при открытии внешнего отчета
Нарушение прав доступа 1С 8.3 внешняя обработка СКАЧАТЬ >>
Причины ошибки
С ошибкой Нарушение прав доступа сталкиваются многие пользователи 1С после доработки программного кода и обновления программы. Возможные причины появления ошибки:
- обновление программы на новый релиз;
- попытка чтения или записи данных справочника, документа или регистра пользователем, не имеющим прав на объект;
- использование внешних обработок и отчетов без установки пользователю специальной роли;
- ошибка задания прав новому пользователю 1C.
Ошибка обновления
При обновлении программы текущая конфигурация 1С заменяется новой версией, в которой содержатся выполненные разработчиками доработки. Все изменения, внесенные перед публикацией нового релиза, тестируются, но время от времени ошибки все-таки случаются. Если это произошло, ошибки регистрируются в специальном реестре 1С и исправляются в последующих релизах.
При появлении ошибки Нарушение прав доступа после обновления программы нужно выполнить следующие действия:
- Проверьте, содержится ли ошибка в реестре: Публикация ошибок 1С.
Перейдите по ссылке, в форме поиска ошибок укажите конфигурацию программы и текст ошибки.После нажатия кнопки Найти будет произведен поиск по заданным параметрам.
- Для зарегистрированной ошибки обратитe внимание на дату регистрации и релиз исправления ошибки.
- Если заполнена информация в разделе Способ обхода — внимательно ее изучите: это позволит сразу решить проблему, не дожидаясь релиза с исправлениями.
- Обратитесь на горячую линию 1С, если ошибка в реестре еще не зарегистрирована:
- телефон hotlane 1С: (495) 956-11-81;
- E-mail:v8@1c.ru.
Восстановите программу из копии и ждите исправления ошибки в следующем релизе обновления.
БухЭксперт8 советует всегда делать перед обновлением архивные копии базы данных. Это поможет восстановить базу при неудачном обновлении.
Нарушение прав доступа при чтении данных
В 1С существует набор специальных объектов Роль, которые описывают разрешенные действия пользователей. Роли задаются разработчиками в Конфигураторе 1С. При работе в 1С можно пользоваться только этим предопределенным набором. Самостоятельно ввести новую Роль без доработки Конфигурации невозможно.
Каждая Роль включает набор свойств для работы с объектами 1С. Они задают права на чтение, просмотр, изменение, редактирование и т. д. данных в справочниках, документах и регистрах программы.
У роли Чтение контрагентов установлено свойство Чтения на:
Пользователь, которому назначили роль Чтение контрагентов, может считывать данные справочника Контрагенты, но при обращении к справочнику Банки получит ошибку Нарушение прав доступа.
Нарушение прав доступа при записи данных
При записи изменений данных в справочниках, документах и регистрах программа проверяет наличие соответствующих прав у пользователя также, как и при чтении данных,
У роли Добавление и изменение сотрудников установлено свойство Изменение на:
Пользователь, которому назначена роль Добавление и изменение сотрудников, может редактировать данные справочника Сотрудники, но при попытке изменения данных банка получит ошибку Нарушение прав доступа.
Работа с внешними отчетами и обработками
Для работы с внешними отчетами и обработками пользователю нужно назначить одну из ролей:
- Полные права;
- Интерактивное открытие внешних отчетов и обработок.
Как добавить роль Интерактивное открытие внешних отчетов и обработок, описано в статье Как добавить пользователю с правами Бухгалтер права запускать внешние отчеты и обработки?
Пользователь Бухгалтер при открытии файла внешней обработки: кнопка Главное меню — Файл — Открыть — файл Нарушение прав доступа получает ошибку:
- Нарушение прав доступа.
Для исправления ситуации нужно добавить роль Интерактивное открытие внешних отчетов и обработок пользователю, работающему с внешней обработкой.
Добавление нового пользователя
При добавлении новых пользователей БухЭксперт8 рекомендует использовать типовые Профили группы доступа в 1С: раздел Администрирование — Настройки программы — Настройки пользователей и прав.
В 1С заложена автоматическая проверка прав того набора объектов 1С, который определяется профилем групп доступа:
- Администратор;
- Главный бухгалтер;
- Бухгалтер;
- Только чтение;
- и т. д.
Программа скроет все объекты, на которые у пользователя нет прав:
Чтобы ограничить возможность изменения документов определенным пользователям, можно даже не устанавливать специально Дату запрета изменения. Программа сама не даст сохранить изменения пользователям с ограниченными правами:
Использование типовых Профилей групп доступа сводит к минимуму риск возникновения ошибки.
Ответы на вопросы
Ошибка при проведении документа Реализация (акт, накладная)
Создали новую роль в Конфигураторе — только для документа Реализация (акт, накладная). При записи документа программа отрабатывает правильно, а при проведении — выдает ошибку Нарушение прав доступа.
В чем может быть причина?
При записи документа должно быть установлено право изменения этого документа у пользователя. Но при проведении документа помимо него самого задействуются и другие объекты — создаются записи в различные регистры.
Если вы указали в новой роли право только на документ Реализация (акт, накладная), этого недостаточно. По кнопке Дт/Кт уточните, какие регистры используются при проведении документа и добавьте их в новую роль с активными свойствами:
- Чтение;
- Изменение;
- Просмотр;
- Редактирование.
Ошибка при попытке открыть карточку контрагента под определенным пользователем
При попытке открыть карточку Контрагента под определенным пользователем появляется ошибка Нарушение прав доступа. Если в окне ошибки нажать на кнопку Подробно, высветится информация:
- «Справочник.Контрагенты.Форма.БП_ФормаЭлемента.Форма: Ошибка при вызове метода контекста НаборЗаписей.Прочитать() по причине: Нарушение прав доступа».
Что делать?
Ошибка связана с тем, что у пользователя, который отрывает карточку Контрагенты, нет прав на чтение данных из определенного регистра 1С.
Если в подробном описании ошибки программа не указывает регистр, при записи данных в который происходит ошибка, вам придется выяснить это самостоятельно. Для недоработанной типовой конфигурации Бухгалтерия 3.0 при открытии справочника Контрагенты могут использоваться:
- регистр бухгалтерии Хозрасчетный;
- регистр бухгалтерии Курсы валют;
- регистр бухгалтерии Наличие дублей у контрагентов;
- и т. д.
Эти регистры включены в программный модуль справочника Контрагенты.
Проверьте, что у пользователя есть права на эти регистры. Более серьезный анализ ситуации выполняется по программному коду процедуры открытия формы справочника.
Эта работа требует особой подготовки и квалификации.
Ошибка при открытии внешнего отчета
При попытке открыть внешний отчет 1С появляется ошибка Нарушение прав доступа. Все остальные отчеты внутри программы открываются нормально. В чем может быть причина?
Для открытия внешних отчетов и обработок 1С необходимо добавить пользователю роль Интерактивное открытие внешних отчетов и обработок. После этого он сможет работать с внешним отчетом без ошибок.
Подробнее Как добавить роль Интерактивное открытие внешних отчетов и обработок
См. также:
- У пользователя недостаточно прав на исполнение операции
- Конфигурация узла распределенной ИБ не соответствует ожидаемой
- 1C Отчетность: не удалось расшифровать файл
- Этот хост неизвестен 1С: как исправить
- Ошибка при выполнении операции с информационной базой 1С 8.3
Если Вы еще не являетесь подписчиком системы БухЭксперт8:
Активировать демо-доступ бесплатно →
или
Оформить подписку на Рубрикатор →
После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.
Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Уже битый час ищу в инете подсказку к решению проблемы и не могу найти. Пожалуйста, помогите решить. Что имеем: 1С 8.2.14.519 (клиент-сервер) + MS SQL 2005 + УПП 1.3. Я создаю регламентное задание, через КонсольЗаданий вижу, что оно запускается, но выполняется с ошибкой. Вот текст процедуры Вот код ошибки {ОбщийМодуль.BILL.Модуль}: Ошибка при вызове метода контекста (СоздатьЭлемент) по причине: по причине: Нарушение прав доступа! Как настроить права доступа регламентного задания? Или если есть другой способ решения проблемы — подскажите.
под каким пользователем запускается задание? У него права есть?
это где ты такую ошибку видишь? или сервер в дебаг режиме находится?
Я не могу найти настройку, под каким пользователем запускать задание. Служба сервера работает от системной учетной записи
Что интересно, если поставить общему модулю галку «Привилегированный», то все работает.
Использование: Чтение и запись. Описание: Тип: Строка. Имя пользователя, под которым будет выполняться данное регламентное задание. Если имя пользователя не задано, регламентное задание будет выполняться пользователем по умолчанию, имеющим административные права. Чтения и запись для администратора. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Возможность чтения и записи доступны только для администратора.
Так, вроде проясняется ситуация немного. Задам вопрос поточнее — можно ли задать в конфигураторе пользователя, или нужно прописывать в коде где-то? Это было бы логично, на мой взгляд.
В консоли заданий можно по-моему указать пользователя…
Спасибо. Все заработало. Я искал где задать пользователя в режиме конфигуратора, а оказалось нужно было рыть в сторону режима «Предприятие».
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
Добрый день, создал новую роль «Контр», поставил полные права на спр. Контрагенты, потом создал пользователя «Польз1», добавил ему роли: «Контр» и «Пользователь», но при открытии этим пользователем спр.Контрагенты, выходит такая ошибка:
{ОбщийМодуль.МодульПоискаВДанных(28)}: Ошибка при вызове метода контекста (Создать): Нарушение прав доступа!
по причине:
{ОбщийМодуль.МодульПоискаВДанных(28)}: Ошибка при вызове метода контекста (Создать): Нарушение прав доступа!
по причине:
Нарушение прав доступа!
Показывать по
10
20
40
сообщений
Новая тема
Ответить
Alex Dji
Дата регистрации: 26.01.2018
Сообщений: 1
Добрый день, после обновления конфигурации слетел доступ к внешним отчетам у ряда пользователей, хотя галочка в роли стоит верная. Сообщение с ошибкой «{Обработка.ВнешниеМодули.МодульОбъекта(36 }: Ошибка при вызове метода контекста (Создать)
МодульОбработки = Обработки[ИмяФайлаОбработки].Создать();
по причине:
Нарушение прав доступа!
«
снова добавить и удалить права роли не принесло успеха. Подскажите пожалуйста, есть ли какие варианты?
Показывать по
10
20
40
сообщений
Читают тему:
Уже битый час ищу в инете подсказку к решению проблемы и не могу найти. Пожалуйста, помогите решить. Что имеем: 1С 8.2.14.519 (клиент-сервер) + MS SQL 2005 + УПП 1.3. Я создаю регламентное задание, через КонсольЗаданий вижу, что оно запускается, но выполняется с ошибкой. Вот текст процедуры Вот код ошибки {ОбщийМодуль.BILL.Модуль}: Ошибка при вызове метода контекста (СоздатьЭлемент) по причине: по причине: Нарушение прав доступа! Как настроить права доступа регламентного задания? Или если есть другой способ решения проблемы — подскажите.
под каким пользователем запускается задание? У него права есть?
это где ты такую ошибку видишь? или сервер в дебаг режиме находится?
Я не могу найти настройку, под каким пользователем запускать задание. Служба сервера работает от системной учетной записи
Что интересно, если поставить общему модулю галку «Привилегированный», то все работает.
Использование: Чтение и запись. Описание: Тип: Строка. Имя пользователя, под которым будет выполняться данное регламентное задание. Если имя пользователя не задано, регламентное задание будет выполняться пользователем по умолчанию, имеющим административные права. Чтения и запись для администратора. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Возможность чтения и записи доступны только для администратора.
Так, вроде проясняется ситуация немного. Задам вопрос поточнее — можно ли задать в конфигураторе пользователя, или нужно прописывать в коде где-то? Это было бы логично, на мой взгляд.
В консоли заданий можно по-моему указать пользователя…
Спасибо. Все заработало. Я искал где задать пользователя в режиме конфигуратора, а оказалось нужно было рыть в сторону режима «Предприятие».
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
Создаем роль с возможностью только чтения данных без возможности изменения чего-либо
- пригодится для всех пользователей 1С, которые не являются операторами (бухгалтерами) — им нужны в основном отчеты
- для аудиторов
Для начала поставим на всех объектах конфигурации право Просмотр (Чтение добавится автоматически) + Ввод по строке.
Ясно, что возникнут проблемы, т.к. на некоторые объекты нужно право записи.
При запуске от тестового пользователя с данной ролью появляется сообщение:
«У текущего пользователя нет доступных ролей для запуска информационной базы».
Основная проблема типовых конфигураций — в конфе предусмотрено как минимум две роли:
- с минимально необходимыми правами для работе в конфе — но для работы именно оператора (с правами создания документов и наполнения справочников)
- полные права
И поэтому любой пользователь типовой конфы должен по-любому иметь эту роль с минимальными правами оператора. Нам же нужны минимальные права для аудитора (без возможности внесения каких-либо изменений).
В общем модуле УправлениеПользователями отраслевой конфигурации «Подрядчик строительства 4 ред. 2.0» можно найти такую функцию
// Процедура проверяет возможность запуска ИБ с определенными для текущего // пользователя доступными ролями // Процедура ПроверитьВозможностьРаботыПользователя(Отказ) Экспорт Если НЕ РольДоступна("ПолныеПрава") И НЕ РольДоступна("Бухгалтер") Тогда Отказ = Истина; #Если Клиент Тогда Предупреждение("У текущего пользователя нет доступных ролей, для запуска информационной базы.", 10, "Недостаточно прав доступа"); #КонецЕсли КонецЕсли; КонецПроцедуры
Изменим логику с учетом новой роли:
Если НЕ РольДоступна(«ПолныеПрава») И НЕ РольДоступна(«Бухгалтер») И НЕ РольДоступна(«ТолькоЧтение»)
После этого удалось запустить, но окно без интерфейса и сразу нарушение прав доступа
{ОбщийМодуль.ИмпНепоставляемый.Модуль(1732)}: Ошибка при вызове метода контекста (Установить) по причине: Нарушение прав доступа!
Это тоже очень круто, т.к. модуль поставляется в закрытом виде и не ясно, что именно он там хотел установить :(.
Смотрим журнал регистрации: отказано в доступе к константе «Каталог файлов защиты».
Для упрощения процесса поиска необходимых прав
посмотрим, какие константы может изменять роль Бухгалтер и установим по аналогии
- ГотовностьПрограммыКРаботе
- ИмпВалютаПланирования
- ИмпИспользоватьМеханизмАвтоматическогоОбменаДанными
- ИмпКаталогЗащитыФайлов
- ИмпСерияПутевогоЛиста
- Имп_КаталогФайловЗащиты
- ИмпСистемаЗащиты
- ФайлОбработкиИнтернетПоддержкиПользователей (этот не будем разрешать)
Снова пробуем запуститься — очередная ошибка прав доступа
{ОбщийМодуль.ИмпНепоставляемый.Модуль(1732)}: Ошибка при вызове метода контекста (Установить) по причине: У пользователя недостаточно прав на исполнение операции над базой данных. объект: 'ПланОбмена.Полный'; право: 'Чтение' Таблица: 'Node14', SDBL-команда: 'SELECT'.
Добавим право Просмотр для ПланыОбмена и право Использование для интерфейсов (Общий, Полный, Бухгалтерский). Тестовому пользователю назначим основной интерфейс Бухгалтерский.
Очередная попытка запуска — новая ошибка
{МодульОбычногоПриложения(108)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь) Если Не ЗначениеЗаполнено(ПараметрыСеанса.ТекущийПользователь) Тогда по причине: Нарушение прав доступа!
Посмотрим права на ПараметрыСеанса для роли Бухгалтер и сделаем по аналогии
Чтение+изменение
- ДатаОбновленияПовторноИспользуемыхЗначенийМРО
- ИспользуемыеПланыОбмена
- ОбменДаннымиВключен
- ОбщиеЗначения
- ПравилаВыборочнойРегистрацииОбъектов
- ПравилаРегистрацииОбъектов
Нет доступа
- ЗагрузкаПараметровРаботыПрограммы
- ПараметрыКлиентаНаСервере
Следующая ошибка:
{МодульОбычногоПриложения(559)}: Ошибка при вызове метода контекста (ПолучитьФорму) Обработки.ПанельФункций.ПолучитьФорму().Открыть(); по причине: Нарушение прав доступа!
Даем право на запуск обработки ПанельФункций.
Следующая ошибка:
{ОбщийМодуль.УправлениеПользователями.Модуль(135)}: Ошибка при вызове метода контекста (Записать) МенеджерЗаписи.Записать(Истина); по причине: Нарушение прав доступа!
Однако после закрытия работа продолжается и появляются другие окна:
{МодульОбычногоПриложения(575)}: Ошибка при вызове метода контекста (ПолучитьФорму) Форма = Обработки.ДополнительнаяИнформация.ПолучитьФорму("ФормаРабочийСтол"); по причине: Нарушение прав доступа!
Смотрим в журнале регистрации — отказано в праве Изменение для регистра сведений НастройкиПользователей.
Даем права:
- использование обработки ДополнительнаяИнформация
- регистр сведений НастройкиПользователей — Просмотр и Редактирование
Следующая ошибка:
{МодульОбычногоПриложения(190)}: Ошибка при вызове метода контекста (Создать) БИ = Обработки.БухгалтерскиеИтоги.Создать(); по причине: Нарушение прав доступа!
Даем право на использование обработки БухгалтерскиеИтоги.
Следующая ошибка — при попытке сохранить настройки отчета ОСВ (оборотно-сальдовой ведомости)
{ОбщийМодуль.СтандартныеОтчеты.Модуль(867)}: Ошибка при вызове метода контекста (СоздатьЭлемент)
Настройка = Справочники.СохраненныеНастройки.СоздатьЭлемент(); по причине: Нарушение прав доступа!
Даем все права для справочника СохраненныеНастройки, кроме ИнтерактивноеУдаление и прав для предопределенных.
Спустя время обнаружились еще проблемы
- при просмотре документов появляется ошибка права просмотра — Обработка. Предупреждение об изменениях
- при просмотре кассовых документов ошибка права использования — Обработка. Механизм взаимодействия с торговым оборудованием (надо искать обработку ТОСервер).
- при просмотре движений документа ошибка права использования — Обработка. Корректировка движений
При просмотре кассовых документов также возникает ошибка при открытии
{МодульОбычногоПриложения(667)}: Ошибка при вызове метода контекста (Создать)
глСерверТО = Обработки.ТОСервер.Создать(); по причине: Нарушение прав доступа!