我们在“导出到Excel'”中遇到了一个问题。报表向导中的功能。我们使用OOB报告向导(而不是SSRS)创建了一个简单的报告,其中包含一些像CreatedOn这样的DateTime字段。 CRM和&amp ;;中显示的DateTime值。报告查看器与预期用户的时区(UTC + 8)有关。但是在将报告导出到Excel之后,它显示了8小时延迟(UTC)的时间。我们期望这些DateTime值与CRM中的相同,即使将其导出为excel也是如此。
这是CRM的错误吗?有人可以帮忙解决这个问题吗?
谢谢,
报告XML:
<ReportParameters>
<ReportParameter Name="CRM_FullName">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>CRM_FullName</Prompt>
<Hidden>true</Hidden>
<DefaultValue>
<Values>
<Value>administrator</Value>
</Values>
</DefaultValue>
</ReportParameter>
<ReportParameter Name="CRM_UserTimeZoneName">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value></Value>
</Values>
</DefaultValue>
<AllowBlank>true</AllowBlank>
<Prompt>CRM_UserTimeZoneName</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_UILanguageId">
<DataType>Integer</DataType>
<DefaultValue>
<Values>
<Value>18441</Value>
</Values>
</DefaultValue>
<Prompt>CRM_UILanguageId</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_CurrencyDecimalPrecision">
<DataType>Integer</DataType>
<DefaultValue>
<Values>
<Value>2</Value>
</Values>
</DefaultValue>
<Prompt>CRM_CurrencyDecimalPrecision</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_CurrencySymbol">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value>$</Value>
</Values>
</DefaultValue>
<AllowBlank>true</AllowBlank>
<Prompt>CRM_CurrencySymbol</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_CurrencyPositivePattern">
<DataType>Integer</DataType>
<DefaultValue>
<Values>
<Value>0</Value>
</Values>
</DefaultValue>
<Prompt>CRM_CurrencyPositivePattern</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_CurrencyNegativePattern">
<DataType>Integer</DataType>
<DefaultValue>
<Values>
<Value>0</Value>
</Values>
</DefaultValue>
<Prompt>CRM_CurrencyNegativePattern</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_NumberDecimalDigits">
<DataType>Integer</DataType>
<DefaultValue>
<Values>
<Value>2</Value>
</Values>
</DefaultValue>
<Prompt>CRM_NumberDecimalDigits</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_NumberDecimalSeparator">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value>.</Value>
</Values>
</DefaultValue>
<Prompt>CRM_NumberDecimalSeparator</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_NumberNegativePattern">
<DataType>Integer</DataType>
<DefaultValue>
<Values>
<Value>1</Value>
</Values>
</DefaultValue>
<Prompt>CRM_NumberNegativePattern</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_NumberGroupSizes">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value>3</Value>
</Values>
</DefaultValue>
<Prompt>CRM_NumberGroupSizes</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_NumberGroupSeparator">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value>,</Value>
</Values>
</DefaultValue>
<Prompt>CRM_NumberGroupSeparator</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_CalendarTypeCode">
<DataType>Integer</DataType>
<DefaultValue>
<Values>
<Value>0</Value>
</Values>
</DefaultValue>
<Prompt>CRM_CalendarTypeCode</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_DateSeparator">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value>/</Value>
</Values>
</DefaultValue>
<Prompt>CRM_DateSeparator</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_TimeSeparator">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value>:</Value>
</Values>
</DefaultValue>
<Prompt>CRM_TimeSeparator</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_AMDesignator">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<DefaultValue>
<Values>
<Value>AM</Value>
</Values>
</DefaultValue>
<Prompt>CRM_AMDesignator</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_PMDesignator">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<DefaultValue>
<Values>
<Value>PM</Value>
</Values>
</DefaultValue>
<Prompt>CRM_PMDesignator</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_ShortDatePattern">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value>d/M/yyyy</Value>
</Values>
</DefaultValue>
<Prompt>CRM_ShortDatePattern</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_LongDatePattern">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value>dddd, d MMMM, yyyy</Value>
</Values>
</DefaultValue>
<Prompt>CRM_LongDatePattern</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_ShortTimePattern">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value>h:mm tt</Value>
</Values>
</DefaultValue>
<Prompt>CRM_ShortTimePattern</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_MonthDayPattern">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value>dd MMMM</Value>
</Values>
</DefaultValue>
<Prompt>CRM_MonthDayPattern</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_YearStartWeekCode">
<DataType>Integer</DataType>
<DefaultValue>
<Values>
<Value>0</Value>
</Values>
</DefaultValue>
<Prompt>CRM_YearStartWeekCode</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_WeekStartDayCode">
<DataType>Integer</DataType>
<DefaultValue>
<Values>
<Value>0</Value>
</Values>
</DefaultValue>
<Prompt>CRM_WeekStartDayCode</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_FilterText">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>CRM_FilterText</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_FilteredIncident">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value><fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false"><entity name="incident"><all-attributes /><filter type="and"><condition attribute="modifiedon" operator="last-x-days" value="60" /></filter></entity></fetch></Value>
</Values>
</DefaultValue>
<Prompt>CRM_FilteredIncident</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="CRM_URL">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>CRM_URL</Prompt>
<Hidden>true</Hidden>
</ReportParameter>
</ReportParameters>
<DataSources>
<DataSource Name="CRM">
<ConnectionProperties>
<DataProvider>MSCRMFETCH</DataProvider>
<ConnectString>http://serverName:5555/;orgName</ConnectString>
<IntegratedSecurity>true</IntegratedSecurity>
</ConnectionProperties>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="DSMain">
<Query>
<CommandText><fetch distinct="false" no-lock="false" mapping="logical"><entity name="incident" enableprefiltering="1" prefilterparametername="CRM_FilteredIncident"><attribute name="title" alias="title" /><attribute name="createdon" alias="createdon" /><attribute name="new_datereceived" alias="new_datereceived" /><attribute name="new_dateclosed" alias="new_dateclosed" /><attribute name="incidentid" /></entity></fetch></CommandText>
<DataSourceName>CRM</DataSourceName>
<QueryParameters>
<QueryParameter Name="CRM_FilteredIncident">
<Value>=Parameters!CRM_FilteredIncident.Value</Value>
</QueryParameter>
</QueryParameters>
</Query>
<Fields>
<Field Name="title">
<DataField>title</DataField>
</Field>
<Field Name="createdon">
<DataField>createdon</DataField>
</Field>
<Field Name="createdonValue">
<DataField>createdonValue</DataField>
</Field>
<Field Name="new_datereceived">
<DataField>new_datereceived</DataField>
</Field>
<Field Name="new_datereceivedValue">
<DataField>new_datereceivedValue</DataField>
</Field>
<Field Name="new_dateclosed">
<DataField>new_dateclosed</DataField>
</Field>
<Field Name="new_dateclosedValue">
<DataField>new_dateclosedValue</DataField>
</Field>
<Field Name="incidentid">
<DataField>incidentid</DataField>
</Field>
</Fields>
</DataSet>
</DataSets>
<CodeModules>
<CodeModule>Microsoft.Crm.Reporting.RdlHelper, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</CodeModule>
</CodeModules>
<CustomProperties>
<CustomProperty>
<Name>Custom</Name>
<Value><MSCRM xmlns="mscrm">&lt;ReportFilter&gt;&lt;ReportEntity paramname="CRM_FilteredIncident" donotconvert="1"&gt;&lt;fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false"&gt;&lt;entity name="incident"&gt;&lt;all-attributes /&gt;&lt;filter type="and"&gt;&lt;condition attribute="modifiedon" operator="last-x-days" value="60" /&gt;&lt;/filter&gt;&lt;/entity&gt;&lt;/fetch&gt;&lt;/ReportEntity&gt;&lt;/ReportFilter&gt;</MSCRM></Value>
</CustomProperty>
</CustomProperties>
答案 0 :(得分:0)
CRM显示从UTC转换为您个人选项中列出的任何时区的时间。 Excel没有关于你的时区的概念,因此它不需要转换就可以使用数据库中列出的任何内容。
奇怪的是,当您通过高级查找和导出到excel执行相同的操作时,它确实保持时区对齐(它在您列出的任何时区中导出)。我认为这个错误是从报告和视图导出到excel之间存在不一致(任何一种行为都可能被认为是正确的)。
仅供参考,Shane_Yo是对的,此报告正在按照&#34;自定义属性&#34;中所示的那样访问sql db中的FilteredIncident视图。报告末尾的值节点xml。