При обновлении конфигурации «1С:Управление торговлей» с версии 11.1 на версию 11.2 пользователи могут столкнуться с ситуацией, когда отчеты подсистемы «Казначейство» (например, «Ведомость по денежным средствам» или «Движение денежных средств») успешно работают у администратора под полными правами, но завершаются с ошибкой у пользователей с ограниченными правами.
Текст ошибки при формировании отчета обычно выглядит следующим образом:
{ОбщийМодуль.ВариантыОтчетов.Модуль(1930)}: Ошибка при вызове метода контекста (СкомпоноватьРезультат)
по причине:
Ошибка обработки представления "РегистрНакопления.ДенежныеСредстваБезналичные.ОстаткиИОбороты:В выборке должно быть указано хотя бы одно измерение или ресурс"
Разберем подробнее причины возникновения этой проблемы и проанализируем способы её решения.
Главная причина данного сбоя — работа механизма RLS (Record Level Security), то есть ограничения доступа на уровне записей. В конфигурации УТ 11.2 при формировании отчетов система компоновки данных (СКД) обращается к виртуальным таблицам регистров накопления, таким как РегистрНакопления.ДенежныеСредстваБезналичные.ОстаткиИОбороты.
Если у пользователя с помощью RLS ограничены права на чтение ключевых измерений или ресурсов (например, по конкретным организациям, банковским счетам или кассам), механизм RLS динамически вырезает эти поля из итогового запроса. Когда из виртуальной таблицы ОстаткиИОбороты отсекаются все доступные поля, платформа 1С не может корректно построить запрос и выдает ошибку: В выборке должно быть указано хотя бы одно измерение или ресурс.
Кроме того, при переходе с УТ 11.1 на УТ 11.2 существенно меняется структура профилей групп доступа и регистры хранений ключей доступа. Старые профили пользователей могут не содержать обновленных ролей, или ключи доступа могут оказаться не запущены в новой базе.
Рассмотрим по шагам основные действия, которые помогут восстановить корректную работу отчетов для пользователей с ограниченными правами.
Перейдем в раздел НСИ и администрирование > Администрирование > Настройки пользователей и прав. Выполним процедуру обновления прав доступа и заполнения ключей доступа. Также можно запустить регламентное задание Обновление прав доступа или выполнить запуск базы с параметром /ЗапуститьОбновлениеИнформационнойБазы.
Откроем группу доступа, к которой относится пользователь, и проверим ограничения по значениям (по организациям, кассам, банковским счетам). Убедимся, что пользователю разрешена хотя бы одна организация или банковский счет. Если настройки RLS полностью блокируют доступ к аналитике, СКД не сможет выбрать ни одного измерения.
При обновлении до УТ 11.2 перепроверим назначенные профили групп доступа. Рекомендуется перезаполнить нетиповой профиль или назначить пользователю актуальный типовой профиль (например, Казначей или Кассир), гарантирующий права на чтение регистров ДенежныеСредстваБезналичные, ДенежныеСредстваНаличные и ДенежныеСредстваВПути.
Если права настроены верно, но ошибка сохраняется у конкретного пользователя, очистим локальный кэш платформы «1С:Предприятие» на рабочем месте сеанса (папки %AppData% и %LocalAppData%).