Custom code that is allowed for use in Microsoft Dynamics CRM Online FetchXML Reports
This article provides a solution to an error that occurs when you try to upload a custom FetchXML report into a Microsoft Dynamics CRM Online organization.
Applies to: Microsoft Dynamics CRM
Original KB number: 2600639
You may receive an error when you try to upload a custom FetchXML report into a Microsoft Dynamics CRM Online organization:
Error Uploading Report
An error occurred while trying to add the report to Microsoft Dynamics CRM.Try this action again. If the problem Continues, check the Microsoft Dynamics CRM Community for solutions or contact your organization's Microsoft Dynamics CRM Administrator. Finally you can contact Microsoft Support.
Microsoft Dynamics CRM Online uses RDL Sandboxing that prevents reports from uploading or running if they contain code that uses disallowed methods.
Reports in Microsoft Dynamics CRM Online run in sandbox mode, and to do it, RDL sandboxing is enabled in Microsoft SQL Server Reporting Services. So certain features might not be available in Microsoft Dynamics CRM Online. For example, custom code in your report definition won't work. For more information, see Enable and disable RDL sandboxing for Reporting Services in SharePoint integrated mode.
When RDL Sandboxing is enabled, the following features are disabled:
- Custom code in the <Code> element of a report definition
- RDL backward compatibility mode for SQL Server 2005 Reporting Services custom report items
- Named parameters in expressions such as DateFormat or NameSpace
When RDL Sandboxing is enabled, only certain classes and methods can be used in a custom FetchXML report. The following list is the classes that are allowed, and beneath each class are the available methods for use in Microsoft Dynamics CRM Online reports:
Microsoft.VisualBasic.Interaction (For more information, see Interaction)
- IIF
- Partition
- ToString
Microsoft.VisualBasic.Information (For more information, see: Information)
- IsArray
- IsDate
- IsNothing
- IsNumeric
- IsReference
- QBColor
- RGB
- ToString
- TypeName
- VarType
Microsoft.VisualBasic.Strings (For more information, see Strings)
- Asc
- AscW
- Chr
- ChrW
- Format
- FormatCurrency
- FormatDateTime
- FormatNumber
- FormatPercent
- InStr
- InStrRev
- Join
- Lcase
- Left
- Len
- LTrim
- Mid
- Replace
- Right
- RTrim
- Space
- Split
- StrComp
- StrReverse
- ToString
- Trim
- UCase
Microsoft.VisualBasic.DateInterval (For more information, see DateInterval Enum)
- Year
- Quarter
- Month
- Day
- WeekOfYear
- WeekDay
- Hour
- Minute
- Second
Microsoft.VisualBasic.DateAndTime (For more information, see DateAndTime)
- DateAdd
- DateDiff
- DateValue
- Day
- Hour
- Minute
- Month
- MonthName
- Second
- DatePart
- DateSerial
- TimeSerial
- TimeValue
- ToString
- Weekday
- WeekdayName
- Year
Microsoft.VisualBasic.Financial (For more information, see Financial)
- DDB
- FV
- IPmt
- NPer
- Pmt
- PPmt
- PV
- Rate
- SLN
- SYD
- ToString
Microsoft.VisualBasic.Conversion (For more information, see Conversion)
- CTypeDynamic
- Hex
- Oct
- Str
- ToString
- Val
System.DbNull (For more information, see DBNull)
- GetObjectData
- ToString
System.Globalization.CultureInfo (For more information, see CultureInfo)
- ClearCachedData
- Clone
- CreateSpecificCulture
- GetConsoleFallbackUICulture
- GetCultureInfo
- GetCultureInfoByLeftLanguageTag
- GetCultures
- GetFormat
- ReadOnly
- ToString
System.Math (For more information, see Math)
- Abs
- Atan
- Cos
- Exp
- Floor
- Log
- Log10
- Max
- Min
- Round
- Sign
- Sin
- Sqrt
- Tan
System.String (For more information, see String)
- Clone
- CompareOrdinal
- Concat
- Contains
- Copy
- CopyTo
- EndsWith
- Format
- GetEnumerator
- IndexOf
- IndexOfAny
- Insert
- Intern
- IsInterned
- IsNormalized
- IsNullOrEmpty
- IsNullOrWhiteSpace
- Join
- LastIndexOf
- LastIndexOfAny
- Normalize
- PadLeft
- PadRight
- Split
- StartsWith
- Substring
- ToCharArray
- ToLower
- ToLowerInvariant
- ToString
- ToUpper
- ToUpperInvariant
- Trim
- TrimEnd
- TrimStart
System.Text.RegularExpressions.Match (For more information, see: Match)
- ToString
System.Text.RegularExpressions.Regex (For more information, see Regex)
- Match
- Replace
- Split
- ToString