Дано, СКД с одним вычисляемым полем, значение которого заполняется функцией общего модуля.
Под полными правами - все хорошо.
Под ограниченными - поле не доступно к выбору, соответственно не выводится в отчет.
---
Проблему решил. Загвоздка оказалась во втором передаваемом параметре в функцию - ДатаОплаты, а точнее в запросе.
У пользователя не было доступа к этому реквизиту, в силу его составного типа. Конкретизировал получение с помощью ВЫРАЗИТЬ и проблема решилась.
---
какие существуют пути обхода ограничения прав в модулях?
---
Уточню, что платформа 8.2 обычные формы.
---
Все просто, необходимо:
Либо дать права пользователю на чтение информации из базы.
Либо делать расчет в модуле, который не проверяет права доступа (поставив в модуле галку "Привилегированный режим")
---
На чтение какой информации? У вычисляемого поля стоит тип "строка", пользователь еще не нажал на кнопку сформировать, а у него уже нет этого поля. Как СКД проверяет в данном случае права?
---
СКД с одним вычисляемым полем, значение которого заполняется функцией общего модуля
Вот и смотрите к каким данным обращается эта функция, к тем и надо дать права пользователю.
Само СКД ни каких прав не проверяет.
---
ради теста, заменил код в модуле на простейший (в условии все закомментировано). Не помогло. Для меня не проблема перенести функцию в привилегированный общий модуль, но не понятна причина. Нигде не нашел ссылок или объяснений на подобного поведения.
---
Также можно посмотреть через журнал регистрации, если настроено, там будет информация к каким данным было обращение и не получили доступ.
---
А можете скинуть сам отчет сюда, я посмотрю.
---
в ЖР нет ошибок доступа
---
Хм, если не в правах дело, то могу предположить только одно. Сохраненные настройки. Откройте под пользователем с ограниченными правами и установите стандартные настройки отчета. Возможно используется старая схема компоновки, которая сохранена под пользователем.
---
пробовал, не получается. Перенос функции в привилегированный модуль не помог.
---
Проблему решил. Загвоздка оказалась во втором передаваемом параметре в функцию - ДатаОплаты, а точнее в запросе.
У пользователя не было доступа к этому реквизиту, в силу его составного типа. Конкретизировал получение с помощью ВЫРАЗИТЬ и проблема решилась.
---
Спасибо за подсказку.

Решил похожую проблему. В СКД в вычисляемом поле использовался реквизит ДатаДокумента, который получался из субконто (поле составного типа). Аналогично, пользователя с ограниченными правами вычисляемое поле не выводилось. Получение даты документа через ВЫРАЗИТЬ в запросе решило проблему.
---
Я столкнулся с такой же ситуацией : не доступно поле. Причём ни одно поле не доступно.
В результате выяснилось : в запросе используются только временные таблицы. А итоговый запрос отсутствует.
Хотя структуру отчёта, используемые поля СКД позволяет создавать.
Добавил в текст запроса итоговый, окончательный запрос (не временная таблица) и отчёт СКД сразу стал работать.

Причина ошибки : текст запроса "выдернул" из другого отчёта. Взял из него временные таблицы и подготовил дополнительные поля для вывода более подробного отчёта. В отладчике "Инструменты разработчика 4.21" выводились результаты последней временной таблицы.
Я перенёс проверенный запрос в СКД и тут не могу вывести отчёт и всё! Удалял поля отчёта, на которые СКД ругается.
Случайной обратил внимание, что нет в запросе в СКД итогового запроса.