Пользовательский отчет CRM

Я сделал пользовательский отчет CRM с пользовательским кодом, и при загрузке я получаю сообщение об ошибке: "На сервере отчетов включена поддержка RDLSandboxing, и отчет содержит пользовательский код. Удалите элемент кода из определения отчета ".

Теперь мой вопрос: возможно ли отключить RDLS и бокс?

Если да, то с чего мне начать?

Вот код, используемый в отчете

Public Function Divider(ByVal Dividend As Decimal, ByVal Divisor As Decimal) 
  If IsNothing(Divisor) Or Divisor = 0 Then 
    Return 0 
  Else 
    Return Dividend / Divisor 
  End If 
End Function

3 ответа

Вы не можете ничего изменить в песочнице RDL при использовании CRM Online. Вот несколько ссылок, которые содержат больше информации по теме.

Вам придется изменить свой пользовательский код на любой из принятых методов и классов, поскольку у вас нет доступа к серверу отчетов.

Отчеты в CRM Online не допускают пользовательский код. Загрузка отчета, содержащего любой пользовательский код, приведет к ошибке, которую вы получаете

Полученное сообщение об ошибке указывает на то, что на сервере отчетов CRM включен RDLSandboxing, который является важной функцией безопасности, помогающей защитить сервер отчетов CRM от вредоносного кода. Отключать эту функцию не рекомендуется. Чтобы устранить эту ошибку, вам следует удалить пользовательский код из определения отчета и использовать вместо него встроенные выражения или функции. Например, вы можете использовать выражение для выполнения операции деления. Вы можете добиться того же результата, что и ваш пользовательский код, не нарушая функцию безопасности RDLSandboxing, используя встроенные выражения или функции. После удаления и замены пользовательского кода выражением вы сможете без проблем загрузить и запустить отчет.

Код:-

      =IIF(IsNothing(Fields!Divisor.Value) OR Fields!Divisor.Value = 0, 0, 
Fields!Dividend.Value / Fields!Divisor.Value)
Другие вопросы по тегам