首页 文章

CRM 2011中导出报告后的时间差异

提问于
浏览
1

我们在报表向导中的“导出到Excel”功能中遇到问题 . 我们使用OOB报告向导(而不是SSRS)创建了一个简单的报告,其中包含一些像CreatedOn这样的DateTime字段 . CRM和报告查看器中显示的DateTime值与预期的登录用户时区(UTC 8)有关 . 但是在将报告导出到Excel之后,它显示了8小时延迟(UTC)的时间 . 我们期望这些DateTime值与CRM中的相同,即使将其导出为excel也是如此 .

这是CRM的错误吗?有人可以帮忙解决这个问题吗?

谢谢,

数据不匹配屏幕截图:
enter image description here

报告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>&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;</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>&lt;fetch distinct="false" no-lock="false" mapping="logical"&gt;&lt;entity name="incident" enableprefiltering="1" prefilterparametername="CRM_FilteredIncident"&gt;&lt;attribute name="title" alias="title" /&gt;&lt;attribute name="createdon" alias="createdon" /&gt;&lt;attribute name="new_datereceived" alias="new_datereceived" /&gt;&lt;attribute name="new_dateclosed" alias="new_dateclosed" /&gt;&lt;attribute name="incidentid" /&gt;&lt;/entity&gt;&lt;/fetch&gt;</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>&lt;MSCRM xmlns="mscrm"&gt;&amp;lt;ReportFilter&amp;gt;&amp;lt;ReportEntity paramname="CRM_FilteredIncident" donotconvert="1"&amp;gt;&amp;lt;fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false"&amp;gt;&amp;lt;entity name="incident"&amp;gt;&amp;lt;all-attributes /&amp;gt;&amp;lt;filter type="and"&amp;gt;&amp;lt;condition attribute="modifiedon" operator="last-x-days" value="60" /&amp;gt;&amp;lt;/filter&amp;gt;&amp;lt;/entity&amp;gt;&amp;lt;/fetch&amp;gt;&amp;lt;/ReportEntity&amp;gt;&amp;lt;/ReportFilter&amp;gt;&lt;/MSCRM&gt;</Value>
    </CustomProperty>
  </CustomProperties>

1 回答

  • 0

    CRM显示从UTC转换为您个人选项中列出的任何时区的时间 . Excel没有关于您的时区的概念,因此它将采用数据库中列出的任何内容而不进行转换 .

    奇怪的是,当您通过高级查找和导出到excel执行相同的操作时,它确实保持时区对齐(它在您列出的任何时区中导出) . 我认为这个错误是从报告和视图导出到excel之间存在不一致(任何一种行为都可能被认为是正确的) .

    仅供参考,Shane_Yo是正确的,此报告正在sql db中的FilteredIncident视图中,如报告xml末尾的“自定义属性”值节点中所示 .

相关问题