[ Вопрос дня ] Как выполнить отчет на СКД в привилегированном режиме без контроля прав доступа?

Доброго дня, коллеги!
В рамках курса по СКД большое внимание уделяется программной работе с СКД. Обладая навыками программной работы можно решить любую “хитрую” задачу. Вот вам пример головоломки от слушателя курса :)

Курс: Профессиональная разработка отчетов в 1С 8.3 на СКД

Вопрос

Добрый вечер. А как можно заставить отчет, выполняться в привилегированном режиме (с получением настроек в привилегированном режиме), то есть без контроля прав текущего пользователя на данные используемые в отчете?

Ответ

Добрый день!

Можно в модуле объекта создать процедуру ПриКомпоновкеРезультата, в которой использовать строку кода:

УстановитьПривилегированныйРежим(Истина);

В этой процедуре затем программно выполнять компоновку отчета.

Также важный момент – при загрузке настроек платформа автоматически удаляет из настроек недоступные по правам доступа поля. Поэтому можно в отчете сделать схему компоновки, в которой используется набор данных – объект. При исполнении отчета программно подменять схему компоновки данных на нужную, компоновку отчета выполнять в привилегированном режиме.

Это пример разобранного вопроса из Мастер-группы курса
Профессиональная разработка отчетов в 1С 8.3 на СКД.

Описание курса и примеры видео

Комментарии / обсуждение (2):

  1. Алексей

    “при загрузке настроек платформа автоматически удаляет из настроек недоступные по правам доступа поля” – что бы СКД не удаляла поля можно через объединение в запрос добавить строку содержащую пустые значения нужного типа (если тип недоступен, то просто Неопределено), а потом убрать ее отбором.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вход на сайт

Зарегистрироваться

Подтверждение регистрации будет отправлено на указанный e-mail.

Я подтверждаю, что ознакомлен(а) с Пользовательским соглашением, принимаю его условия и даю свое согласие на обработку моих персональных данных.

Восстановить доступ

E-mail или логин

Ссылка на создание нового пароля будет отправлена на указанный e-mail.