The following macros are not currently supported in the header:
  • style

故障排除

使用“高级报告”时,您可能会遇到以下问题:

域已损坏

症状

将自定义字段添加到域时,“高级报告”模块不按设计预期运行。 问题包括:无法打开现有报告和显示板。

解决方案

  • 如果您没有备份安全文件和域设计文件,请联系 ServiceAide 支持以便还原默认设置。 还原默认设置时,如自定义字段和您创建的特别视图等所有数据都将丢失。

将字段添加到特别视图时出错

症状

将字段添加到特别视图时,出现以下某一错误:

    • 显示一条错误消息。
    • 进度栏持续显示,但该页面上无任何操作。

解决方案

此错误可能会对单个或所有字段出现。 请根据需求使用以下某一解决方案:

    • 如果此问题针对某一特定字段,请执行以下操作: 
      • 确保您添加到特别视图中的字段已正确转换为其在域中的实际数据类型。 有关转换表达式的详细信息,请参阅“将自定义字段同步到域”的步骤 8.c。
      • 确保架构的设计正确,如“联接”均正确,“派生表”均应包含表提示且无长时间运行的查询。  
    • 如果此问题针对所有字段,请联系 ServiceAide 支持。

保存特别视图或报告时出错

症状

使用长名称保存特别视图或报告时,显示以下错误:

    • 对于特别视图-Server Error: We apologize but something's gone wrong.(服务器错误: 很抱歉,某些地方出现了问题。)
    • 对于报告-出现意外错误,JasperReports 无法保存报告。 请与您的管理员联系。

解决方案

确保特别视图或报告名称不超过 94 个字符。

打开报告时出错

症状

打开使用自定义字段创建的报告时,我收到错误。

解决方案

确保自定义字段已与用于创建报告的域正确同步。 有关详细信息,请参阅“将自定义字段同步到域”。

域安全文件无效

症状

更新域后,当我在“编辑域”页面中单击“提交”时,我收到错误,指出域安全文件无效。

解决方案

此错误发生的原因是数据集名称与其在安全文件和域中的相应“联接树”不匹配。 在域中,在“显示”、“资源”、“联接树”下提供了数据集。 

要修复此问题,请下载安全文件并在本地计算机中打开。 比较安全文件和“资源”窗格之间的“联接树”中的数据集。 如果数据集不匹配“联接树”,请更新安全文件中的“联接树”以匹配“资源”窗格。

请执行以下步骤:

  1. 依次单击“编辑域”、“可选信息”、“安全文件”并从中将安全文件 custom_cloud_sm_security.xml 下载到您的本地计算机。
  2. 单击“使用域设计器编辑”,然后访问“域设计器”、“显示”选项卡。 此时打开“显示”选项卡,其中在“资源”下的左侧窗格中显示“联接树”列表。
  3. 在文本编辑器(如写字板)中打开下载的安全文件。
  4. 展开“资源”窗格下的“联接树”。 确认所有“联接树”部分中的表名称和安全文件中的表名称均相同。
    例如,考虑以下安全文件代码:

    <resourceAccessGrantList id="Tasks_FilterList" label="Tasks Filter List" resourceId="JoinTree_1">
    <resourceAccessGrants>
    <resourceAccessGrant id="TaskSliceFilter"><principalExpression>(authentication.getPrincipal().getAttributes().any{
    it.getAttrName() in ['nsd_slice']})</principalExpression> 
    <filterExpression>(testProfileAttribute(dbo_VITPM_PROJECT_TASKS.slice,'nsd_slice'))</filterExpression> 
    </resourceAccessGrant>
    <resourceAccessGrant id="TaskMemberFilter">
    <principalExpression>(authentication.getPrincipal().getAttributes().any{it.getAttrName() in ['nsd_UserId']})</principalExpression> 
    <filterExpression>((groovy('authentication.getPrincipal().getRoles().any{it.getRoleName()=="ROLE_CSM_ADMINISTRATOR"}') == 'true') or
    CHARINDEX(dbo_VITPM_PROJECT_TASKS.members,(groovy('authentication.getPrincipal().getAttributes().find{it.getAttrName()=="nsd_UserId"}.attrValue')))>=0)</filterExpression> 
    </resourceAccessGrant>
    <resourceAccessGrant id="Task_OBSFilter">
    <principalExpression>
    <![CDATA[authentication.getPrincipal().getAttributes().any{it.getAttrName() in ['nsd_OBSEnabled'] && it.getAttrValue() in ['True']}]]> 
    </principalExpression>
    <filterExpression>(OBS_PRJ_TASKS.org_id in (dbo_VITPM_PROJECT_TASKS.org_id) and testProfileAttribute(OBS_PRJ_TASKS.user_id,'nsd_UserId'))</filterExpression> 
    </resourceAccessGrant>
    </resourceAccessGrants>
    </resourceAccessGrantList>

    resourceId 将把“联接树”名称指定为 JoinTree_1,而 filterExpression 则会将表名称指定为 dbo_VITPM_PROJECT_TASKS。 验证表名称 dbo_VITPM_PROJECT_TASKS 与“资源”窗格下 JointTree_1 中的表名称相匹配。

  5. 如果安全文件的表名称与“资源”窗格中的“联接树”不匹配,请对安全文件进行相应的编辑。
    例如,假设表名称 dbo_VITPM_PROJECT_TASKS 位于安全文件的 JoinTree_1 中。 在“显示”选项卡的“资源”面板中,dbo_VITPM_PROJECT_TASKS 表位于 JoinTree_2 中。 要匹配该信息,请编辑安全文件并将 resourceId 的值从 JoinTree_1 重命名为 JoinTree_2。
    相应地更改安全文件中的所有 resourceId 值。  

  6. 保存所做的更改,然后关闭安全文件。

  7. 单击“取消”导航回到“编辑域”页面中。

  8. 在“编辑域”页面中,单击与该安全文件对应的“更改”。 浏览并选择您本地计算机中的安全文件。

  9. 单击“提交”。 旧的安全文件替换为更新过的文件,而域安全文件无效的问题便得以解决。

请求人的组织字段不显示数据

症状

向某一报告添加请求人组织字段时,后续生成的报告不在请求人的组织字段下显示数据。

解决方案

当请求人的组织字段未正确映射到某一先前版本所附带的自定义域架构时,便会出现此错误。 要解决该问题,请执行以下操作:

  1. 在“高级报告”工作区中,单击“操作”、“编辑域”。
    编辑域”页面将在新页面中打开。
  2. 单击“使用域设计器编辑”。
  3. 从显示集中删除现有的“请求人的组织”字段:
    1. 转到“显示”选项卡,然后从“集和项”面板中展开“故障单”集。
    2. 选择字段“请求人的组织”,然后单击“删除项目”按钮。
      如果此字段已在使用,则会显示一条确认消息。
    3. 单击“确定”。
      请求人的组织”字段即已从显示集中成功删除。
  4. 将正确的“请求人的组织”字段添加到显示集:
    1. 在“资源”面板中,展开带 dbo_VAPP_ITEM 表的联接树。
    2. 选择 person1_org_name 字段并将其移至“集和项”面板中的“故障单”集。
    3. 选择所添加的字段,然后在“属性”面板中单击“编辑”。
    4. 输入以下信息,然后单击“保存”。
      • 标签:请求人的组织
      • ID:person1_lvl1_org_name
      • 说明:请求人的组织
      • 标签键:set_person1_lvl1_org_name_lbl
      • 说明键:set_person1_lvl1_org_name_desc
  5. 单击“确定”,然后“提交”。
    更新后的请求人的组织字段即已添加到显示集中。 已在使用该字段的特别视图和报告将显示正确的数据。

转换日期数据类型时出错

症状

在创建特别视图时,在添加自定义“日期时间”列时显示错误。

解决方案

自定义字段将作为字符串保存在数据库中,而 EPOCH_TO_UTC_DATETIME 表达式将该输入视为整数。 使用以下表达式转换自定义“日期时间”字段:

EPOCH_TO_UTC_DATETIME (str2int(dbo_VAPP_SERVICE_REQUEST_ATTRIBUTES_PIVOT.scheduling_date))

无法将自定义字段添加到特别视图

症状

向特别视图添加包含重音字符的自定义字段时显示错误。

解决方案

执行以下步骤来解决此问题:

  1. 在“高级报告”工作区中,单击“操作”、“编辑域”。
    编辑域”页面将在新页面中打开。
  2. 单击“使用域设计器编辑”。 “域设计器”页面打开。
  3. 单击“显示”选项卡。 从“集和项”窗格中展开集并选择包含重音字符的字段。
    字段详细信息将显示在“属性”窗格中。
  4. 从“属性”窗格中,单击“编辑”并从“ID”字段中删除重音字符。
  5. 保存更改。 该字段可用于视图/报告。

为分析人员提供的报告中显示重复数据

症状

对分析人员用户启用基于组织的安全性时报告中将显示重复记录。

解决方案

要解决此错误,可通过在安全文件中添加筛选查询来删除“加入组织”视图。

请执行以下步骤:

  1. 单击“编辑域”、“可选信息”、“安全文件”并将安全文件 custom_cloud_sm_security.xml 下载到您的本地计算机。
  2. 在文本或 XML 编辑器(如写字板或 XML 编辑器)中打开下载的安全文件。
  3. 在安全文件中执行以下步骤:
    注意:如果任何搜索项(如 Project_OBSFilterTimeLog_OBSFilter)在文件中不存在,请移到下一个搜索项。
    1. 搜索 Ticket_OBSFilter。 转到 FilterExpression 标记并将该代码替换为以下代码:

    2. 搜索 CI_OBSFilter。 转到 FilterExpression 标记并将该代码替换为以下代码:

    3. 搜索 Asset_OBSFilter。 转到 FilterExpression 标记并将该代码替换为以下代码:

    4. 搜索 Project_OBSFilter。 转到 FilterExpression 标记并将该代码替换为以下代码:

    5. 搜索 Task_OBSFilter。 转到 FilterExpression 标记并将该代码替换为以下代码:

    6. 搜索 PA_OBSFilter。 转到 FilterExpression 标记并将该代码替换为以下代码:

    7. 搜索 TimeLog_OBSFilter。 转到 FilterExpression 标记并将该代码替换为以下代码:

  4. 保存所做的更改,然后关闭安全文件。
  5. 在“编辑域”页面中,单击与该安全文件对应的“更改”。 浏览并选择您本地计算机中的安全文件。
  6. 单击“提交”。
    旧的安全文件替换为更新过的文件,而重复记录的问题已针对分析人员用户删除。

© 2017 ServiceAide 1-650-206-8988 http://www.serviceaide.com info@serviceaide.com