Troubleshoot: Difference between revisions
Crmtogether (talk | contribs) (Created page with "1.'''Images/Graphs Not appearing in Reports''' On the server the image is created in a temp folder E.G. C:\Windows\Temp\cr_tmp_image__CRM71_CustomPages_CRViewer_server_serverp...") |
Crmtogether (talk | contribs) No edit summary |
||
(73 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
1.'''Images/Graphs Not appearing in Reports''' | 1. External IP addresses cannot run reports | ||
Check the Server error log. If you see 500 errors there is a chance that the server request (which is made within the iis process) is not allowed and so is returning 500 errors. | |||
To resolve this open the "custompages/crviewer/web.config" file and set the CRMCodedPath (CRM Coded Path) setting to be something like "http://servername/CRM/". (Note: you may need to add this setting) | |||
For example | |||
<add key="CRMCodedPath" value="http://localhost/crm/"/> | |||
One message you might see that shows this is when you use https | |||
Message: Exception Msg: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. | |||
The issue here is that an external url | |||
EG | |||
http://crm.server.com/crm/eware.dll | |||
does not work/resolve on the CRM Server. To test this open a browser on the server and use the external url. This will fail is this is the issue. | |||
But the local url | |||
EG | |||
http://localhost/crm/eware.dll | |||
does work so you must add in the local url to the "CRMCodedPath" setting | |||
**Do not add in the eware.dll part. Only put it in in the following format | |||
http://localhost/crm/ | |||
2. NT Authenication Error | |||
Depending on the IIS setup you may need to add in a windows users details to the web.config file. This usually occurs when IIS requires authentication. | |||
Set the following values to be a relevenat user. It is best to ensure that the users password does not expire. | |||
<add key="CRMNetworkUser" value=""/> | |||
<add key="CRMNetworkUserPassword" value=""/> | |||
<add key="CRMNetworkDomain" value=""/> | |||
//CRMNetworkUserAuthType value options are "Basic" or "Digest" | |||
<add key="CRMNetworkUserAuthType" value="" /> | |||
(Note: you may need to add these settings) | |||
3.'''Images/Graphs Not appearing in Reports''' | |||
On the server the image is created in a temp folder | On the server the image is created in a temp folder | ||
Line 10: | Line 55: | ||
[[File:imageperm.png]] | [[File:imageperm.png]] | ||
If you continue to have issues check the IIS log file. | |||
The location of the IIS log files can be located in IIS. | |||
[[File:iisloglocation.png]] | |||
Next in IIS | |||
*Click on 'Handler Mappings' | |||
*On the right side under 'Actions' I selected 'Add Managed Handler' | |||
*Request Path: 'CrystalImageHandler.aspx' | |||
*Type: 'CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' | |||
*Enter Name as 'Crystal Reports Image Handler' | |||
*Press OK | |||
[[File:maphandler.png]] | |||
---- | |||
4. Button Groups | |||
Crystal Manager creates button groups in the system. | |||
If you are running Sage 300 (Accpac) integration then this new button group may override existing groups. | |||
To resolve delete the empty button group. | |||
---- | |||
5. Windows Authentication | |||
Within the Crystal Manager folder (CustomPages/CRViewer) in IIS click on the "Authentication" button. | |||
If you see "Windows Authentication" enabled, disable this. | |||
---- | |||
6. Wrong web.config file being used | |||
Depending on the IIS configuration sometimes it can use the parent web.config file. | |||
If you can delete or rename the parent web.config file. | |||
Otherwise an unverified fix is as follows: | |||
The attribute '''inheritInChildApplications''' must be placed in the '''<configuration>''' section of the web.config. | |||
It looks like this: | |||
<configuration> | |||
<location inheritInChildApplications="false"> | |||
... | |||
</location> | |||
.... | |||
---- | |||
7. System.Web.Compilation | |||
You get a compilation error after some time. This is a Trust Level issue. | |||
Check the user that the w3svc process is running under. | |||
For IIS 6 look at | |||
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/1f7959af-2eac-4418-91a3-56006ea6eb07.mspx?mfr=true | |||
and | |||
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/a55fb31b-5b42-476d-9cae-050ab3fae307.mspx?mfr=true | |||
For IIS 7 look at | |||
http://technet.microsoft.com/en-us/library/cc753658%28v=ws.10%29.aspx | |||
---- | |||
8. Invalid field name | |||
Error when adding new report | |||
Source: Analysis Server | |||
Message: Invalid field name. sample report {F91D3E21-5DDB-45D0-8826-8E7CFA07C233}.rpt | |||
Stack trace: at CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() | |||
The issue is that there is a static parameter that needs to have the "Show on viewer" option changed from "Editable" to "Do not show" | |||
[[File:showonviewer.png]] | |||
---- | |||
9. Move CR Viewer into its own application pool | |||
In some instances this can make sense to do. There is a change in the "CRReportsListUser" list though that needs to be applied. | |||
In this list the field "Description" links to the "CRViewer/Prompt.asp" (Custom File setting) page. The ASP page cannot live outside of CRM however. | |||
You need to move the prompt.asp page to the CustomPages folder and change the Custom File value to be just "Prompt.asp". | |||
If you do not do this you will see an error on the screen | |||
'''Not licensed or not registered correctly | |||
In IIS check the application pool that your custom site is running in and make sure it is the same application pool as CRM.''' | |||
Within the prompt.asp page also you would have to change line 62 from | |||
document.EntryForm.action="Default.aspx?crre_crreportsid=<%=Request.QueryString('crre_crreportsid')%>&SID=<%=Request.QueryString('SID')%>"; | |||
to be | |||
document.EntryForm.action="'''CRViewer/'''Default.aspx?crre_crreportsid=<%=Request.QueryString('crre_crreportsid')%>&SID=<%=Request.QueryString('SID')%>"; | |||
---- | |||
10. Report load slow | |||
If the report is slow to load you may need to edit the report (.rpt) file itself and turn of the default printer. | |||
To do this open the report and select "File" -> "Page Setup". | |||
[[File:pagesetup.png]] | |||
From the dialog that opens check the "No Printer" otion. | |||
[[File:noprinter.png]] | |||
Click the "Ok" buttons and save the report. | |||
---- | |||
11. Bobj is undefined | |||
Issue: Missing (or inaccessible) “crystalreportviewers13″ folder in the C:\inetpub\wwwroot\aspnet_client\system_web\2_0_50727. | |||
Fix : Copy the entire ‘crystalreportviewers13′ from crystal report installed path. “D:\Program Files\Common\4.0″ to C:\inetpub\.. | |||
Enable access to the aspnet_client folder in IIS ****ENSURE THAT THE FOLDER IS ENABLED AS AN ASP.NET APPLICATION AND THAT THE APPLICATION POOL IS THE SAME AS CRM'S | |||
[[File:crystalreportviewer.png]] | |||
This is helps in resolving the issue of accessing the crystal reports from the web application outside the network. | |||
Quick check list for this issue: | |||
1. Check CR is installed correctly. Delete all CR folders after un-installation. Especially under IIS. (C:\inetpub\wwwroot) | |||
2. Install complete version of CR’s. | |||
3. Check whether CR web site is created under IIS. | |||
4. Check for missing folder C:\inetpub\wwwroot\aspnet_client\system_web\2_0_50727 | |||
5. Under Application Pools – Enable 32 Bit applications to TRUE (if it is integrated mode) | |||
Ref: [http://gisprog.wordpress.com/2012/03/19/report/ http://gisprog.wordpress.com/2012/03/19/report/ ] | |||
If this is still unresolved we recommend using a http sniffer tool like fiddler to help diagnose the issue (you will see 404 or 500 errors usually which highlight where the problem is) | |||
*HTTP Error 500.23 - Internal Server Error | |||
An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode. | |||
Ref: https://social.technet.microsoft.com/Forums/sqlserver/en-US/aa2f52ba-dd8b-4f8f-8f15-0f9f765c3eee/http-error-50023-internal-server-error-an-aspnet-setting-has-been-detected-that-does-not-apply?forum=sqlreportingservices | |||
You may need to put the follow entry in your Web.config | |||
<system.webServer> | |||
<validation validateIntegratedModeConfiguration="false" /> | |||
</system.webServer> | |||
---- | |||
12. Could not load file or Assembly... | |||
When first trying to use the system you see this error | |||
[[File:couldnotload.png]] | |||
This is caused by the IIS application pool not having "Enable 32-Bit Applications" enabled. | |||
Set this to be True (you may need to restart the application pool and/or IIS) | |||
[[File:enable32bit.png]] | |||
---- | |||
13. The table .... could not be found. Error in File .... | |||
If you see this issue check the SQL SA user is not locked out. | |||
This can happen if the "Enforce password policy" checkbox is checked. | |||
Un-check this and unlock the user in SQL Enterprise Manager to resolve. | |||
---- | |||
14. Reports not opening (hanging) - | |||
Check is Crystal itself is installed and whether it is registered. If not a register dialog may appear and this seems to affect the running of the reports. | |||
If you cannot register you need to uninstall Crystal from the server. | |||
---- | |||
15. 404 pages appearing | |||
This can be caused by upgrading Sage CRM (a patch even). In some instances IIS is reset to now allow ASP.Net by the patch. To resolve follow these steps: | |||
If you go to "Internet Information Services Manager" on your server you should see your "Web Sites" folder as well as a "Web Service Extensions" folder. | |||
In that folder there are some services listed there (depending on what you have installed) and you should have "ASP.NET v4.x" listed. | |||
Make sure the service is set to "Allow". | |||
Ref: http://forums.asp.net/t/894724.aspx/1 | |||
---- | |||
16. Random hanging when running reports | |||
In the registry key (on the server) edit | |||
HKEY_LOCAL_MACHINE\SOFTWARE\Crystal Decisions\10.2\Report Application Server\Server\PrintJobLimit | |||
and change it (from 75) to -1 | |||
HKEY_LOCAL_MACHINE/SOftware/Crystal Decisions/Report Application Server/InprocServer/ReportDocument | |||
Change the value of the field MaxNumOfRecords to -1(For Unlimited No. of records) | |||
*Note that the location of the key in the registry may vary depending on how SAP change things. | |||
Notes from our partners Kastech Consulting Inc [http://www.kastechco.com/ http://www.kastechco.com/] | |||
Kastech saw sporadic complus errors in the event log which lead to this solution. | |||
The following registry key can be tweaked to increase the amount of desktop heap. | |||
Please double the second and third numeric values, so the SharedSection numbers look like this: | |||
sharedSection =1024,6144,1024 as a test. | |||
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows\ SharedSection=1024,3072,512 | |||
The first SharedSection value (1024) is the shared heap size common to all desktops. This includes the global handle table, which holds handles to windows, menus, icons, cursors, and so forth, and shared system settings. It is unlikely that you would ever need to change this value. | |||
The second SharedSection value (3072) is the size of the desktop heap for each desktop that is associated with the "interactive" window station <WinSta0>. User objects like hooks, menus, strings, and windows consume memory in this desktop heap. It is unlikely that you would ever need to change this second SharedSection value. Each desktop that is created in the interactive window station uses the default 3072-KB desktop heap. | |||
The third SharedSection value (512) is the size of the desktop heap for each desktop that is associated with a "noninteractive" window station. If this value is not present, the size of the desktop heap for noninteractive window stations will be same as the size specified for interactive window stations (the second SharedSection value). | |||
---- | |||
17. Retrieving the COM class factory... | |||
[[File:crystalcom.png]] | |||
To resolve you need to restart IIS as this instance does not seem to be picking up the newly installed run time. | |||
---- | |||
18. Invalid TLV record | |||
This happens if you try run the sage crystal reports integration after installing the SAP runtime (that ships with Crystal Manager) | |||
This is because the runtime updates crqe.dll - So both the classic and crystal manager cannot be supported on the one server. | |||
Ref: http://stackoverflow.com/questions/11149413/invalid-tlv-record-when-executing-crystal-reports-in-c-sharp | |||
---- | |||
19. The server committed a protocol violation | |||
Add the following to your web.config file (just under the configuration element) | |||
<system.net> | |||
<settings> | |||
<httpWebRequest useUnsafeHeaderParsing="true" /> | |||
</settings> | |||
</system.net> | |||
---- | |||
20. Request Timeout | |||
On slower servers you could see a server timeout. To increase this set the 'executionTimeout="300"' atrribute in the web.config httpRuntime node | |||
<httpRuntime maxRequestLength="1048576" requestValidationMode="2.0" executionTimeout="300" /> | |||
---- | |||
21. 404 on ASP.Net pages | |||
ASP.net is not installed or not installed correctly. | |||
On 2021 versions of windows you must use Server Manager to install the latest ASP.Net. | |||
Older windows systems can do the following: | |||
To install run the following from the command line (run as admin) | |||
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i | |||
In windows server 2012 you may need to do the following | |||
[[File:win2012.png]] | |||
---- | |||
22. Maximum request length exceeded | |||
Ref: http://stackoverflow.com/questions/3853767/maximum-request-length-exceeded | |||
If you are using IIS for hosting your application, then the default upload file size if 4MB. To increase it, please use this below section in your web.config - | |||
<configuration> | |||
<system.web> | |||
<httpRuntime maxRequestLength="1048576" /> | |||
</system.web> | |||
</configuration> | |||
For IIS7 and above, you also need to add the lines below: | |||
<system.webServer> | |||
<security> | |||
<requestFiltering> | |||
<requestLimits maxAllowedContentLength="1073741824" /> | |||
</requestFiltering> | |||
</security> | |||
</system.webServer> | |||
Note: maxAllowedContentLength is measured in bytes while maxRequestLength is measured in kilobytes, which is why the values differ in this config example. (Both are equivalent to 1 GB.) | |||
23. Setup IIS error reporting | |||
By default IIS will only report a generic 500 error. In terms of troubleshooting this is next to useless. We must configure IIS to report out the problem. We do this as follows: | |||
Open IIS | |||
Navigate to the folder/application you are using (in our example we use the CRViewer) | |||
[[File:asp1.png]] | |||
Click on ASP to open this option | |||
Expand the options and set the "Send Errors to Browser to be true" | |||
[[File:asp2.png]] | |||
Next select the folder/application again in IIS | |||
Select the Error Pages option | |||
[[File:error1.png]] | |||
On the right hand side of the screen we have "Edit Feature Settings" - select this | |||
[[File:error2.png]] | |||
On the dialog select the "Detailed Errors" option | |||
[[File:error3.png]] | |||
Now in the browser you should start seeing any errors. | |||
24. 500 error: Handler "PageHandlerFactory-Integrated" has a bad module "ManagedPipelineHandler" in its module list. | |||
This is because ASP.Net was not completely installed with IIS even though I checked that box in the "Add Feature" dialog. To fix this simply run the following command at the command prompt | |||
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i | |||
If I had been on a 32 bit system, it would have looked like the following: | |||
%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i | |||
Fix found via ref: http://stackoverflow.com/questions/6846544/how-to-fix-handler-pagehandlerfactory-integrated-has-a-bad-module-managedpip | |||
---- | |||
SAP Crystal Reports, developer version for Microsoft Visual Studio: Updates & Runtime Downloads | |||
https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads | |||
http://www.crystalreports.com/crvs/confirm/ | |||
***PLEASE note that you should only install up to version 20 (the default version is higher) | |||
EG | |||
http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_32bit_13_0_20.zip?_ga=2.105168387.1072756685.1507286576-103813667.1498225595 | |||
---- | |||
Parser Error | |||
[[File:serrorparse.png]] | |||
Within IIS convert the CRViewer folder to an application | |||
[[File:crviewerconvert.png]] | |||
---- | |||
Low level debugging | |||
Get the url of the report (from the browser when you open the report). | |||
EG | |||
http://crm.servername.com/CRMDemo/CustomPages/CRViewer/Default.aspx?SID=123455666645&Key0=71&Key1=28&Key2=30&Key4=1&Key7=6&Key71=2&F=CRViewer/NewWindow.aspx&J=CRViewer/Default.aspxrptid=6005&btnid=6000&SID=123455666645&Key0=71&Key1=28&Key2=30&Key4=1&Key7=6&Key71=2&J=CRViewer%2fNewWindow.aspx&rptid=6005 | |||
Change the url by adding on "&tmpdbg=Y" to the url | |||
EG | |||
http://crm.servername.com/CRMDemo/CustomPages/CRViewer/Default.aspx?SID=123455666645&Key0=71&Key1=28&Key2=30&Key4=1&Key7=6&Key71=2&F=CRViewer/NewWindow.aspx&J=CRViewer/Default.aspxrptid=6005&btnid=6000&SID=123455666645&Key0=71&Key1=28&Key2=30&Key4=1&Key7=6&Key71=2&J=CRViewer%2fNewWindow.aspx&rptid=6005&tmpdbg=Y | |||
This will out put data (something like below) | |||
start Page Load | |||
Tab Group set up | |||
Reading Request.QueryString[rptid] | |||
Report Id (from rptid):6005 | |||
getting report record | |||
EVENT Logging | |||
Within the web.config file set to "ApplicationEventLog" to True to turn on | |||
<add key="ApplicationEventLog" value="True"/> | |||
*Permissions are required to create the logs so assuming the IIS user does not have permission we... | |||
Go to registry editor (regedit), locate key | |||
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application | |||
and create a new key with the source name "CRMTogetherCRViewer2" | |||
You may need to add a string type to the key (change the .Net version number as required) | |||
EventMessageFile=C:\Windows\Microsoft.NET\Framework\v4.0.30319\EventLogMessages.dll | |||
---- | |||
Not registered or not licensed correctly | |||
In IIS check the application pool that your custom site is running in and make sure it is in the same application pool as CRM | |||
* this is a CRM error (and not a license error in Crystal Manager | |||
[[File:apppoolissue.png]] | |||
To resolve this open IIS and check the application pool for CustomPage/CRViewer is the same as CRM | |||
[[File:crapppool.png]] | |||
If not click select to change | |||
----[[File:Example.jpg]] | |||
Useful links: | |||
Configure Crystal Reports 2008 for ASP.NET on IIS | |||
Ref: http://blog.aaziz.org/configure-crystal-reports-2008-for-aspnet-on-iis | |||
Crystal report images in toolbar not displaying and export/print functionality not working in asp.net | |||
Ref: http://www.aspdotnet-suresh.com/2012/01/crystal-report-images-in-toolbar-not.html | |||
---- | |||
Update to .Net4.5 (and later) on server breaks system | |||
****to fix this install the latest SAP runtime (as the bug is in that) from | |||
[http://www.crystalreports.com/crvs/confirm/ http://www.crystalreports.com/crvs/confirm/] | |||
***PLEASE note that you should only install up to version 20 (the default version is higher) | |||
EG | |||
http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_32bit_13_0_20.zip?_ga=2.105168387.1072756685.1507286576-103813667.1498225595 | |||
To fix this open IIS 'aspnet_client\system_web' folder and create a folder with the .net version you now have (you may need to check the version) | |||
To find .NET Framework versions by viewing the registry (.NET Framework 1-4) | |||
On the Start menu, choose Run. | |||
In the Open box, enter regedit.exe. You must have administrative credentials to run regedit.exe. | |||
In the Registry Editor, open the following subkey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP. | |||
[[File:crys_net_update.png]] | |||
Then copy the crystalreportsviewers13 folder into this new folder | |||
*To find out what versions of .Net that you have open windows explorer and the folder | |||
C:\Windows\Microsoft.NET\Framework | |||
[[File:netversions.png]] | |||
---- | |||
ProvideX drivers - Sage 100 | |||
When using providex ODBC and Crystal Manager you have to use a new setting in the system for his to work. | |||
Firstly your driver setting must have the Logon details setup correctly | |||
EG | |||
[[File:providex.png]] | |||
Then in the web.config file you need to add in the settings. In our example below SOTAMAS90 is the name of the ODBC connection name. You must replace this with your connection name (though usually its the same). You also create the settings in the Crystal Manager config area. | |||
<add key="SOTAMAS90_OdbcConnection_Name" value="DSN=SOTAMAS90; UID=REE; PWD=somepassword; Company=ABC;" / | |||
<add key="SOTAMAS90_OdbcConnection_DLL" value="crdb_odbc.dll" /> | |||
<add key="SOTAMAS90_UseDSNProperties" value="false" /> | |||
<add key="SOTAMAS90__disableconnectiontest" value="True" /> | |||
The following settings should also be set | |||
<add key="doodbctest" value="N" /> | |||
<add key="useExistingConnections" value="N"/> | |||
---- | |||
Font issue when printing - strange characters being inserted (i in front of t for example) | |||
This is an issue with your font (seen in calibri). Only solution is to change the font to something else or repair your fonts (outside the scope of support). | |||
---- | |||
January 2019 | |||
Due to to changes in .net you may need to add in | |||
<httpCookies requireSSL="false" /> | |||
to the web.config file | |||
EG | |||
<system.web> | |||
<httpCookies requireSSL="false" /> | |||
<customErrors mode="RemoteOnly" /> | |||
---- | |||
ERROR when you view page: | |||
Could not load file or assembly 'file:///C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet1\crdb_*****.dll' or one of its dependencies. | |||
Check the "Identity" that the CRM app pool is running under. If its not "LocalSystem" and is some other user you should uninstall the SAP runtime and then open a command prompt as the user that is being used and then navigate to the folder that contains the SAP runtime installer and run this. It will run as that user and should install with correct permissions. | |||
---- | |||
BLANK report | |||
Windows updates can cause the Crystal runtime to look for the wrong folder name resulting in a 404 (you need to inspect this in chrome/edge to see this) | |||
Image A | |||
[[File:blank report crystal.png]] | |||
To resolve this copy the existing folder (it may differ from our screen shot) | |||
Image B | |||
[[File:crystal bobj aspnet.png]] | |||
info the folder name from the Image A above. |
Latest revision as of 16:27, 22 December 2022
1. External IP addresses cannot run reports
Check the Server error log. If you see 500 errors there is a chance that the server request (which is made within the iis process) is not allowed and so is returning 500 errors.
To resolve this open the "custompages/crviewer/web.config" file and set the CRMCodedPath (CRM Coded Path) setting to be something like "http://servername/CRM/". (Note: you may need to add this setting)
For example
<add key="CRMCodedPath" value="http://localhost/crm/"/>
One message you might see that shows this is when you use https
Message: Exception Msg: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
The issue here is that an external url EG
http://crm.server.com/crm/eware.dll
does not work/resolve on the CRM Server. To test this open a browser on the server and use the external url. This will fail is this is the issue.
But the local url EG
http://localhost/crm/eware.dll
does work so you must add in the local url to the "CRMCodedPath" setting
- Do not add in the eware.dll part. Only put it in in the following format
http://localhost/crm/
2. NT Authenication Error
Depending on the IIS setup you may need to add in a windows users details to the web.config file. This usually occurs when IIS requires authentication.
Set the following values to be a relevenat user. It is best to ensure that the users password does not expire.
<add key="CRMNetworkUser" value=""/> <add key="CRMNetworkUserPassword" value=""/> <add key="CRMNetworkDomain" value=""/> //CRMNetworkUserAuthType value options are "Basic" or "Digest" <add key="CRMNetworkUserAuthType" value="" />
(Note: you may need to add these settings)
3.Images/Graphs Not appearing in Reports
On the server the image is created in a temp folder E.G.
C:\Windows\Temp\cr_tmp_image__CRM71_CustomPages_CRViewer_server_serverport
But deleted immediately once it has been downloaded.
You need to check permissions on this folder
If you continue to have issues check the IIS log file.
The location of the IIS log files can be located in IIS.
Next in IIS
- Click on 'Handler Mappings'
- On the right side under 'Actions' I selected 'Add Managed Handler'
- Request Path: 'CrystalImageHandler.aspx'
- Type: 'CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304'
- Enter Name as 'Crystal Reports Image Handler'
- Press OK
4. Button Groups
Crystal Manager creates button groups in the system.
If you are running Sage 300 (Accpac) integration then this new button group may override existing groups.
To resolve delete the empty button group.
5. Windows Authentication
Within the Crystal Manager folder (CustomPages/CRViewer) in IIS click on the "Authentication" button.
If you see "Windows Authentication" enabled, disable this.
6. Wrong web.config file being used
Depending on the IIS configuration sometimes it can use the parent web.config file.
If you can delete or rename the parent web.config file.
Otherwise an unverified fix is as follows:
The attribute inheritInChildApplications must be placed in the <configuration> section of the web.config.
It looks like this:
<configuration> <location inheritInChildApplications="false"> ... </location> ....
7. System.Web.Compilation
You get a compilation error after some time. This is a Trust Level issue. Check the user that the w3svc process is running under.
For IIS 6 look at
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/1f7959af-2eac-4418-91a3-56006ea6eb07.mspx?mfr=true
and
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/a55fb31b-5b42-476d-9cae-050ab3fae307.mspx?mfr=true
For IIS 7 look at
http://technet.microsoft.com/en-us/library/cc753658%28v=ws.10%29.aspx
8. Invalid field name
Error when adding new report
Source: Analysis Server
Message: Invalid field name. sample report {F91D3E21-5DDB-45D0-8826-8E7CFA07C233}.rpt
Stack trace: at CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()
The issue is that there is a static parameter that needs to have the "Show on viewer" option changed from "Editable" to "Do not show"
9. Move CR Viewer into its own application pool
In some instances this can make sense to do. There is a change in the "CRReportsListUser" list though that needs to be applied.
In this list the field "Description" links to the "CRViewer/Prompt.asp" (Custom File setting) page. The ASP page cannot live outside of CRM however. You need to move the prompt.asp page to the CustomPages folder and change the Custom File value to be just "Prompt.asp".
If you do not do this you will see an error on the screen
Not licensed or not registered correctly In IIS check the application pool that your custom site is running in and make sure it is the same application pool as CRM.
Within the prompt.asp page also you would have to change line 62 from
document.EntryForm.action="Default.aspx?crre_crreportsid=<%=Request.QueryString('crre_crreportsid')%>&SID=<%=Request.QueryString('SID')%>";
to be
document.EntryForm.action="CRViewer/Default.aspx?crre_crreportsid=<%=Request.QueryString('crre_crreportsid')%>&SID=<%=Request.QueryString('SID')%>";
10. Report load slow
If the report is slow to load you may need to edit the report (.rpt) file itself and turn of the default printer.
To do this open the report and select "File" -> "Page Setup".
From the dialog that opens check the "No Printer" otion.
Click the "Ok" buttons and save the report.
11. Bobj is undefined
Issue: Missing (or inaccessible) “crystalreportviewers13″ folder in the C:\inetpub\wwwroot\aspnet_client\system_web\2_0_50727.
Fix : Copy the entire ‘crystalreportviewers13′ from crystal report installed path. “D:\Program Files\Common\4.0″ to C:\inetpub\..
Enable access to the aspnet_client folder in IIS ****ENSURE THAT THE FOLDER IS ENABLED AS AN ASP.NET APPLICATION AND THAT THE APPLICATION POOL IS THE SAME AS CRM'S
This is helps in resolving the issue of accessing the crystal reports from the web application outside the network.
Quick check list for this issue:
1. Check CR is installed correctly. Delete all CR folders after un-installation. Especially under IIS. (C:\inetpub\wwwroot)
2. Install complete version of CR’s.
3. Check whether CR web site is created under IIS.
4. Check for missing folder C:\inetpub\wwwroot\aspnet_client\system_web\2_0_50727
5. Under Application Pools – Enable 32 Bit applications to TRUE (if it is integrated mode)
Ref: http://gisprog.wordpress.com/2012/03/19/report/
If this is still unresolved we recommend using a http sniffer tool like fiddler to help diagnose the issue (you will see 404 or 500 errors usually which highlight where the problem is)
- HTTP Error 500.23 - Internal Server Error
An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode.
You may need to put the follow entry in your Web.config
<system.webServer> <validation validateIntegratedModeConfiguration="false" /> </system.webServer>
12. Could not load file or Assembly...
When first trying to use the system you see this error
This is caused by the IIS application pool not having "Enable 32-Bit Applications" enabled. Set this to be True (you may need to restart the application pool and/or IIS)
13. The table .... could not be found. Error in File ....
If you see this issue check the SQL SA user is not locked out.
This can happen if the "Enforce password policy" checkbox is checked.
Un-check this and unlock the user in SQL Enterprise Manager to resolve.
14. Reports not opening (hanging) -
Check is Crystal itself is installed and whether it is registered. If not a register dialog may appear and this seems to affect the running of the reports.
If you cannot register you need to uninstall Crystal from the server.
15. 404 pages appearing
This can be caused by upgrading Sage CRM (a patch even). In some instances IIS is reset to now allow ASP.Net by the patch. To resolve follow these steps:
If you go to "Internet Information Services Manager" on your server you should see your "Web Sites" folder as well as a "Web Service Extensions" folder. In that folder there are some services listed there (depending on what you have installed) and you should have "ASP.NET v4.x" listed. Make sure the service is set to "Allow".
Ref: http://forums.asp.net/t/894724.aspx/1
16. Random hanging when running reports
In the registry key (on the server) edit
HKEY_LOCAL_MACHINE\SOFTWARE\Crystal Decisions\10.2\Report Application Server\Server\PrintJobLimit
and change it (from 75) to -1
HKEY_LOCAL_MACHINE/SOftware/Crystal Decisions/Report Application Server/InprocServer/ReportDocument
Change the value of the field MaxNumOfRecords to -1(For Unlimited No. of records)
- Note that the location of the key in the registry may vary depending on how SAP change things.
Notes from our partners Kastech Consulting Inc http://www.kastechco.com/
Kastech saw sporadic complus errors in the event log which lead to this solution.
The following registry key can be tweaked to increase the amount of desktop heap. Please double the second and third numeric values, so the SharedSection numbers look like this: sharedSection =1024,6144,1024 as a test.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows\ SharedSection=1024,3072,512
The first SharedSection value (1024) is the shared heap size common to all desktops. This includes the global handle table, which holds handles to windows, menus, icons, cursors, and so forth, and shared system settings. It is unlikely that you would ever need to change this value.
The second SharedSection value (3072) is the size of the desktop heap for each desktop that is associated with the "interactive" window station <WinSta0>. User objects like hooks, menus, strings, and windows consume memory in this desktop heap. It is unlikely that you would ever need to change this second SharedSection value. Each desktop that is created in the interactive window station uses the default 3072-KB desktop heap.
The third SharedSection value (512) is the size of the desktop heap for each desktop that is associated with a "noninteractive" window station. If this value is not present, the size of the desktop heap for noninteractive window stations will be same as the size specified for interactive window stations (the second SharedSection value).
17. Retrieving the COM class factory...
To resolve you need to restart IIS as this instance does not seem to be picking up the newly installed run time.
18. Invalid TLV record
This happens if you try run the sage crystal reports integration after installing the SAP runtime (that ships with Crystal Manager)
This is because the runtime updates crqe.dll - So both the classic and crystal manager cannot be supported on the one server.
19. The server committed a protocol violation
Add the following to your web.config file (just under the configuration element)
<system.net> <settings> <httpWebRequest useUnsafeHeaderParsing="true" /> </settings> </system.net>
20. Request Timeout
On slower servers you could see a server timeout. To increase this set the 'executionTimeout="300"' atrribute in the web.config httpRuntime node
<httpRuntime maxRequestLength="1048576" requestValidationMode="2.0" executionTimeout="300" />
21. 404 on ASP.Net pages
ASP.net is not installed or not installed correctly.
On 2021 versions of windows you must use Server Manager to install the latest ASP.Net.
Older windows systems can do the following:
To install run the following from the command line (run as admin)
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
In windows server 2012 you may need to do the following
22. Maximum request length exceeded
Ref: http://stackoverflow.com/questions/3853767/maximum-request-length-exceeded
If you are using IIS for hosting your application, then the default upload file size if 4MB. To increase it, please use this below section in your web.config -
<configuration> <system.web> <httpRuntime maxRequestLength="1048576" /> </system.web> </configuration>
For IIS7 and above, you also need to add the lines below:
<system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="1073741824" /> </requestFiltering> </security> </system.webServer>
Note: maxAllowedContentLength is measured in bytes while maxRequestLength is measured in kilobytes, which is why the values differ in this config example. (Both are equivalent to 1 GB.)
23. Setup IIS error reporting
By default IIS will only report a generic 500 error. In terms of troubleshooting this is next to useless. We must configure IIS to report out the problem. We do this as follows:
Open IIS
Navigate to the folder/application you are using (in our example we use the CRViewer)
Click on ASP to open this option
Expand the options and set the "Send Errors to Browser to be true"
Next select the folder/application again in IIS
Select the Error Pages option
On the right hand side of the screen we have "Edit Feature Settings" - select this
On the dialog select the "Detailed Errors" option
Now in the browser you should start seeing any errors.
24. 500 error: Handler "PageHandlerFactory-Integrated" has a bad module "ManagedPipelineHandler" in its module list.
This is because ASP.Net was not completely installed with IIS even though I checked that box in the "Add Feature" dialog. To fix this simply run the following command at the command prompt
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
If I had been on a 32 bit system, it would have looked like the following:
%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
Fix found via ref: http://stackoverflow.com/questions/6846544/how-to-fix-handler-pagehandlerfactory-integrated-has-a-bad-module-managedpip
SAP Crystal Reports, developer version for Microsoft Visual Studio: Updates & Runtime Downloads
https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads
http://www.crystalreports.com/crvs/confirm/
- PLEASE note that you should only install up to version 20 (the default version is higher)
Parser Error
Within IIS convert the CRViewer folder to an application
Low level debugging
Get the url of the report (from the browser when you open the report).
EG
http://crm.servername.com/CRMDemo/CustomPages/CRViewer/Default.aspx?SID=123455666645&Key0=71&Key1=28&Key2=30&Key4=1&Key7=6&Key71=2&F=CRViewer/NewWindow.aspx&J=CRViewer/Default.aspxrptid=6005&btnid=6000&SID=123455666645&Key0=71&Key1=28&Key2=30&Key4=1&Key7=6&Key71=2&J=CRViewer%2fNewWindow.aspx&rptid=6005
Change the url by adding on "&tmpdbg=Y" to the url
EG
http://crm.servername.com/CRMDemo/CustomPages/CRViewer/Default.aspx?SID=123455666645&Key0=71&Key1=28&Key2=30&Key4=1&Key7=6&Key71=2&F=CRViewer/NewWindow.aspx&J=CRViewer/Default.aspxrptid=6005&btnid=6000&SID=123455666645&Key0=71&Key1=28&Key2=30&Key4=1&Key7=6&Key71=2&J=CRViewer%2fNewWindow.aspx&rptid=6005&tmpdbg=Y
This will out put data (something like below)
start Page Load Tab Group set up Reading Request.QueryString[rptid] Report Id (from rptid):6005 getting report record
EVENT Logging
Within the web.config file set to "ApplicationEventLog" to True to turn on
<add key="ApplicationEventLog" value="True"/>
- Permissions are required to create the logs so assuming the IIS user does not have permission we...
Go to registry editor (regedit), locate key
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application
and create a new key with the source name "CRMTogetherCRViewer2" You may need to add a string type to the key (change the .Net version number as required)
EventMessageFile=C:\Windows\Microsoft.NET\Framework\v4.0.30319\EventLogMessages.dll
Not registered or not licensed correctly
In IIS check the application pool that your custom site is running in and make sure it is in the same application pool as CRM
- this is a CRM error (and not a license error in Crystal Manager
To resolve this open IIS and check the application pool for CustomPage/CRViewer is the same as CRM
If not click select to change
Useful links:
Configure Crystal Reports 2008 for ASP.NET on IIS Ref: http://blog.aaziz.org/configure-crystal-reports-2008-for-aspnet-on-iis
Crystal report images in toolbar not displaying and export/print functionality not working in asp.net Ref: http://www.aspdotnet-suresh.com/2012/01/crystal-report-images-in-toolbar-not.html
Update to .Net4.5 (and later) on server breaks system
- to fix this install the latest SAP runtime (as the bug is in that) from
http://www.crystalreports.com/crvs/confirm/
- PLEASE note that you should only install up to version 20 (the default version is higher)
To fix this open IIS 'aspnet_client\system_web' folder and create a folder with the .net version you now have (you may need to check the version)
To find .NET Framework versions by viewing the registry (.NET Framework 1-4) On the Start menu, choose Run. In the Open box, enter regedit.exe. You must have administrative credentials to run regedit.exe. In the Registry Editor, open the following subkey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP.
Then copy the crystalreportsviewers13 folder into this new folder
- To find out what versions of .Net that you have open windows explorer and the folder
C:\Windows\Microsoft.NET\Framework
ProvideX drivers - Sage 100
When using providex ODBC and Crystal Manager you have to use a new setting in the system for his to work.
Firstly your driver setting must have the Logon details setup correctly
Then in the web.config file you need to add in the settings. In our example below SOTAMAS90 is the name of the ODBC connection name. You must replace this with your connection name (though usually its the same). You also create the settings in the Crystal Manager config area.
<add key="SOTAMAS90_OdbcConnection_Name" value="DSN=SOTAMAS90; UID=REE; PWD=somepassword; Company=ABC;" / <add key="SOTAMAS90_OdbcConnection_DLL" value="crdb_odbc.dll" /> <add key="SOTAMAS90_UseDSNProperties" value="false" /> <add key="SOTAMAS90__disableconnectiontest" value="True" />
The following settings should also be set
<add key="doodbctest" value="N" /> <add key="useExistingConnections" value="N"/>
Font issue when printing - strange characters being inserted (i in front of t for example)
This is an issue with your font (seen in calibri). Only solution is to change the font to something else or repair your fonts (outside the scope of support).
January 2019 Due to to changes in .net you may need to add in
<httpCookies requireSSL="false" />
to the web.config file
EG
<system.web> <httpCookies requireSSL="false" /> <customErrors mode="RemoteOnly" />
ERROR when you view page:
Could not load file or assembly 'file:///C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet1\crdb_*****.dll' or one of its dependencies.
Check the "Identity" that the CRM app pool is running under. If its not "LocalSystem" and is some other user you should uninstall the SAP runtime and then open a command prompt as the user that is being used and then navigate to the folder that contains the SAP runtime installer and run this. It will run as that user and should install with correct permissions.
BLANK report
Windows updates can cause the Crystal runtime to look for the wrong folder name resulting in a 404 (you need to inspect this in chrome/edge to see this)
To resolve this copy the existing folder (it may differ from our screen shot)
info the folder name from the Image A above.