При работе в конфигурациях 1С:Предприятие (например, УПП 1.3 или других решениях на обычных и управляемых формах) пользователи могут сталкиваться с синтаксическими ошибками механизмов ограничений доступа на уровне записей (RLS). Одна из распространенных проблем — ошибка вида «Ошибка в ограничении доступа к данным... Синтаксическая ошибка "Неверное количество параметров при использовании шаблона"».
Рассмотрим подробно причины возникновения этой неисправности, разберем по шагам алгоритм поиска проблемной роли и выясним, как правильно восстановить работоспособность прав доступа.
Проанализируем устройство шаблонов ограничений доступа в платформе 1С. В отличие от общих модулей или справочников, шаблоны ограничений RLS внутри ролей не являются глобальными объектами метаданных. Текст шаблона прописывается индивидуально на вкладке «Шаблоны ограничений» каждой конкретной роли.
Ошибка чаще всего возникает в следующих ситуациях:
Кладовщик). Вместе с ролью копируется текущая версия текста всех шаблонов RLS.#Параметр(1), #Параметр(2) или логику обработки). При этом в нетиповой скопированной роли остается старый текст шаблона.Выясним, какая именно роль вызывает сбой у пользователя. Для этого применим последовательный подход.
Роли и выбираем пункт «Все ограничения доступа». В открывшемся окне находим объект (например, Документ.ОприходованиеТоваров) и просматриваем список ролей, задающих RLS для данного документа.Разберем ситуацию, когда вызов шаблона в типовой и нетиповой ролях выглядит абсолютно одинаково, например:
#ОрганизацияПодразделениеСклад("Организация", "Подразделение", "Склад")
Если при попытке открыть или отредактировать ограничение доступа в нетиповой роли конфигуратор выдает синтаксическую ошибку, необходимо проверить внутренний текст самого шаблона.
Откроем конфигуратор и выполним следующие действия:
Кладовщик) на вкладку «Шаблоны ограничений».ОрганизацияПодразделениеСклад).Если найти разницу вручную затруднительно, рассмотрим дополнительные инструменты анализа:
QERR и SDBL. В логах зафиксируется полный SDBL-запрос с подставленными параметрами шаблона и точной позицией синтаксической ошибки.Чтобы избежать повторения подобной проблемы в будущем, соблюдаем следующие правила при разработке и обновлении: