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 торговых предложений.
Недостаточно прав в запросе |
Я |
25.07.11 — 19:46
Формирую запрос, в котором сегодня начал получать сообщение «У пользователя недостаточно прав на исполнение операций над базой»
В запросе используется конструкция
ВЫБОР
КОГДА ВложенныйЗапрос.ДатаРеализации <> ДАТАВРЕМЯ(1, 1, 1)
ТОГДА РАЗНОСТЬДАТ(&ТекущаяДата, ДОБАВИТЬКДАТЕ(ВложенныйЗапрос.ДатаРеализации, ДЕНЬ, ВложенныйЗапрос.ГлубинаКредита), ДЕНЬ)
ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
КОНЕЦ
По отдельности каждое полё выбирая — всё норма, но при наличии этой конструкции вылезает «запрет». Права полные. Подскажите в чём может быть проблема?
1 — 25.07.11 — 19:50
(0)Версия платформы.
Правильно ли понимаю, что без этого поля запрос работает?
На запрос поставить «Разрешенные»?
2 — 25.07.11 — 19:50
Ставлю разрешённые — та же хрень.
Версия платформы 8.1.14.69
3 — 25.07.11 — 19:51
без этого поля запрос рабочий (и раньше был рабочим)
4 — 25.07.11 — 19:52
>8.1.14.69
ооо… она кривая как сабля турецкая…
5 — 25.07.11 — 19:54
Верю… но ошибки не возникают с бухты барахты. да и такую ошибку впервые вижи (реализацию в запросе).
Платформу обновлю, но это не самый быстрый метод, поэтому и пытаюсь понять как «срочно» закрыть
6 — 25.07.11 — 19:56
Проверь, какие права на таблицы содержащие поля ДатаРеализации и ГлубинаКредита. а вообще показал бы полный запрос, может стало бы понятнее.
7 — 25.07.11 — 19:59
(6) утверждается что права полные
8 — 25.07.11 — 20:01
Так я тоже погрешил на права, но как писал выше — все эти поля в запросе вытаскивает отлично, а вот при наличии этой конструкции — «ошибка».
В консоли запросов та же байда.
Могу конечно полной запрос. но длинноват будет.
9 — 25.07.11 — 20:02
(5) Я сегодня тоже пару отчетов исправлял, после обновления платформы. 🙂
Проверяй что б запросы были написаны методически правильно.
8.2 руки выпрямляет программистам. Вот теперь думаю как давать писать отчеты криворуким своим напарникам… 🙁
10 — 25.07.11 — 20:04
(7)ну если разработчик особо одарен, или если так нужно по задаче, и на полные права делают ограничения.
11 — 25.07.11 — 20:06
(10) я же написал что реквизиты сами вытаскиваются на ура. И нет, не имею привычки ограничивать собственные права как программиста
По дела нашёл вот что
Код
ВЫБРАТЬ ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(3999, 1, 1), ГОД, 999999999999999999999)
Цитата
У пользователя недостаточно прав на исполнение операции над базой данных.
12 — 25.07.11 — 20:11
а что, на 8.1.15.14 эмулятор не нашел?
13 — 25.07.11 — 20:11
Нашёл. Действительно один из «умных» пользователей умудрился поставить ГлубинаКредита в 9 999 999, из-за чего у базы происходило помешательство.
Реквизит был число 10, и не предполагалось что нужна и тут обработка «ошибки на дурака».
Век живи — век учись!
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 оценок, среднее: 5,00 из 5)
Загрузка…
Содержание:
1. Неверно настроены права в профиле пользователя 1С
В современных конфигурациях роли, созданные в конфигураторе, агрегируются в группы доступа, в которые, в свою очередь, добавляются пользователи. Права, при добавлении в пользователя в несколько групп, объединяются. Т.е. если хотя бы в одной из групп есть право на объект метаданных, то он будет доступен пользователю несмотря на то, что в других группах может быть указан явный запрет, например, на какой-либо элемент справочника организации в 1С и он все равно будет виден. Итак, для примера мы имеем пользователя, которому видны документы условной организации, кнопки провести записать и т.п. в документе доступны, но при попытке провести появляется ошибка «Недостаточно прав для работы с таблицей» с указанием таблицы.
В первую очередь нужно найти роли, в которых разрешена запись в эту таблицу и назначена ли данная роль хоть в одной группе доступа к которой принадлежит нужный пользователь. Если нет, добавляем роль в группу или создаем новую группу и добавляем пользователя в эту группу. Проверяем, если проблема решена, то дальше не читаем.
Проверили роль есть или добавили, но ошибка все равно осталась. Дальше необходимо проверить настройки ограничений в группах. Разрешена ли запись по заданным реквизитам (Организация/Склад/Группа контрагентов/Группа номенклатуры и т.п.). У нас может быть группа в которой разрешено чтение всего и отдельно группа, разрешающая пользователю запись только по одной организации или складу. Находим группу, добавляем права на запись по необходимому реквизиту — проблема решена.
2. Попытка выполнения запроса пользователем, у которого установлены ограничения доступа на уровне записей 1С
В 99,9% такого типа ошибки возникают в доработанных конфигурациях системы 1С, в типовых такого рода ошибки исправляются в «первые дни» после выхода релиза. Считается ошибкой «новичка».
Разберем эту ошибку. Простой запрос:
«ВЫБРАТЬ
| Организации.НаименованиеПолное Как НаименованиеДляПечати
|ИЗ
| Справочник.Организации КАК Организации»
Под полноправным пользователем (а разработчики как правило «тестируют» под собой с полными правами) запрос выполнится без ошибок, а вот у пользователя с ограничением прав на уровне записей 1С появится описываемая ошибка. Главное правило (если действительно не нужно выбирать что-то запрещенное) в запросе использовать выражение «РАЗРЕШЕННЫЕ»
«ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Организации.НаименованиеПолное КАК НаименованиеДляПечати
|ИЗ
| Справочник.Организации КАК Организации»
Теперь рассмотрим вариант, когда действительно нужно получить данные, которые пользователю запрещены, но они нам нужны для обработки какой-либо информации.
У нас два варианта:
● Выполнить код в общем модуле с признаком Привилегированный режим в 1С
● В коде перед получением и обработкой данных установить привилегированный режим в 1С УстановитьПривилегированныйРежим(Истина).
Однако нужно учитывать, что для любых внешних обработок/отчетов которые были открыты интерактивно (через «файл» — «открыть») в клиент-серверном варианте работы данная процедура будет ПРОИГНОРИРОВАНА!! Т.е. ошибка останется. Можно использовать подключаемые отчеты и обработки с отключённым безопасным режимом, об этом ниже.
3. Внешние обработки и печатные формы, подключенные к конфигурации системы 1С в безопасном режиме
По умолчанию все внешние обработки в клиент-серверном режиме запускаются в безопасном режиме, и установка привилегированного режима в 1С и т.п. процедуры и функции либо игнорируются или выдают ошибку прав. Это сделано для обеспечения безопасности данных. Но для подключаемых обработок и отчетов в 1С можно принудительно отключить безопасный режим, делать это нужно очень сознательно. Отключение безопасного режима объявляется в параметрах регистрации обработки/отчета:
ПараметрыРегистрации.Вставить(«БезопасныйРежим», Ложь)
При такой возможно использование привилегированного режима 1С в обработке/отчете.
Специалист компании «Кодерлайн»
Александр Логачев