Меню

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

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

Опишем ситуацию ошибки.
При активации скидки или формируем заказ из брошенной корзины с большим количеством товаров, примерно 100 торговых предложений возникает ошибка: у пользователя недостаточно прав; проблемы с сохранением сессий PHP; часть данных POST-запроса обрезается PHP либо веб-сервером.

Решение следующее:
На сервере находим файл, расположенный в директории /etc/php.d/bitrixenv.ini.
Этот файл хранит все важные параметры настройки 1С-Битрикс php. Наш параметр max_input_vars отвечает за количество входных переменных, которые передаются в одном запросе (таких как $_GET, $_POST и $_COOKIE).
В bitrixenv.ini параметр с значением 10 000 (max_input_vars = 10000).
Мы протестировали для интернет-магазинов 50 000 (max_input_vars = 50000).
Перезагружаем сервер (centos 7) systemctl restart httpd.

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

Недостаточно прав в запросе

Я
   Strimteam

25.07.11 — 19:46

Формирую запрос, в котором сегодня начал получать сообщение «У пользователя недостаточно прав на исполнение операций над базой»

В запросе используется конструкция

ВЫБОР

   КОГДА ВложенныйЗапрос.ДатаРеализации <> ДАТАВРЕМЯ(1, 1, 1)

       ТОГДА РАЗНОСТЬДАТ(&ТекущаяДата, ДОБАВИТЬКДАТЕ(ВложенныйЗапрос.ДатаРеализации, ДЕНЬ, ВложенныйЗапрос.ГлубинаКредита), ДЕНЬ)

   ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)

КОНЕЦ

По отдельности каждое полё выбирая — всё норма, но при наличии этой конструкции вылезает «запрет». Права полные. Подскажите в чём может быть проблема?

   Lama12

1 — 25.07.11 — 19:50

(0)Версия платформы.

Правильно ли понимаю, что без этого поля запрос работает?

На запрос поставить «Разрешенные»?

   Strimteam

2 — 25.07.11 — 19:50

Ставлю разрешённые — та же хрень.

Версия платформы 8.1.14.69

   Strimteam

3 — 25.07.11 — 19:51

без этого поля запрос рабочий (и раньше был рабочим)

   Господин ПЖ

4 — 25.07.11 — 19:52

>8.1.14.69

ооо… она кривая как сабля турецкая…

   Strimteam

5 — 25.07.11 — 19:54

Верю… но ошибки не возникают с бухты барахты. да и такую ошибку впервые вижи (реализацию в запросе).

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

   VitaliySm

6 — 25.07.11 — 19:56

Проверь, какие права на таблицы содержащие поля ДатаРеализации и ГлубинаКредита. а вообще показал бы полный запрос, может стало бы понятнее.

   Господин ПЖ

7 — 25.07.11 — 19:59

(6) утверждается что права полные

   Strimteam

8 — 25.07.11 — 20:01

Так я тоже погрешил на права, но как писал выше — все эти поля в запросе вытаскивает отлично, а вот при наличии этой конструкции — «ошибка».

В консоли запросов та же байда.

Могу конечно полной запрос. но длинноват будет.

   Lama12

9 — 25.07.11 — 20:02

(5) Я сегодня тоже пару отчетов исправлял, после обновления платформы. 🙂

Проверяй что б запросы были написаны методически правильно.

8.2 руки выпрямляет программистам. Вот теперь думаю как давать писать отчеты криворуким своим напарникам… 🙁

   VitaliySm

10 — 25.07.11 — 20:04

(7)ну если разработчик особо одарен, или если так нужно по задаче, и на полные права делают ограничения.

   Strimteam

11 — 25.07.11 — 20:06

(10) я же написал что реквизиты сами вытаскиваются на ура. И нет, не имею привычки ограничивать собственные права как программиста

По дела нашёл вот что

Код

ВЫБРАТЬ ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(3999, 1, 1), ГОД, 999999999999999999999)

Цитата

У пользователя недостаточно прав на исполнение операции над базой данных.

   Fragster

12 — 25.07.11 — 20:11

а что, на 8.1.15.14 эмулятор не нашел?

   Strimteam

13 — 25.07.11 — 20:11

Нашёл. Действительно один из «умных» пользователей умудрился поставить ГлубинаКредита в 9 999 999, из-за чего у базы происходило помешательство.

Реквизит был число 10, и не предполагалось что нужна и тут обработка «ошибки на дурака».

Век живи — век учись!

   Strimteam

14 — 25.07.11 — 20:12

(12) А с каких пор эмулятор от версии зависит?

Ключи то полностью лицензия, но про зависимость версии и эмуля вовсе не слышал.

  

Fragster

15 — 25.07.11 — 20:14

(14) ну, есть патчики, отвязывающие от ключа в принципе… а вот объяснить по другому древний релиз не могу… ну и у меня, ЕМНИП ругается на переполнение, правда на скульной версии, в таком случае

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

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

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

Разграничение доступа к записям

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

Использование этого механизма дает возможность пользователям работать только с определенными объектами.

В 1С Бухгалтерия 3.0 включение Разграничения прав доступа на уровне записей устанавливается: раздел Администрирование — Настройки пользователей и прав — флажок Ограничивать доступ на уровне записей.

Настройка доступа по Организациям выполняется по ссылке Пользователи в разделе Администрирование — Настройки пользователей и прав.

По кнопке Права доступа настраивается доступ пользователям по Организациям.

Из настройки видно, что у пользователя Менеджер нет доступа к записям организации Техномир ООО.

Недостаточно прав на исполнение операции

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

При обращении к «закрытым» сведениям пользователь Менеджер обязательно получит ошибку.

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

Скачать внешнюю обработку Изменение организации в документе Поступление (акт, накладная)

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

См. также:

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

Если Вы еще не подписаны:

Активировать демо-доступ бесплатно →

или

Оформить подписку на Рубрикатор →

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

Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства

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

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

Оцените публикацию

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд

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

Загрузка…

Содержание:

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

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

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

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

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

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

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

«ВЫБРАТЬ

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

|ИЗ

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

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

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

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

|ИЗ

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

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

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

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

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

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

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

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

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

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

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

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

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка ограничена отправка смс на данный номер
  • Ошибка обращения к ядру