Loading

根据 PRISMAdirect 的默认报告创建自定义 Crystal 报告

本主题介绍了如何根据现有报告创建自定义报告。有关可以使用的表、存储过程和视图的详细信息,请参阅“PrintAccounting 数据库的可用表、存储过程和视图”。

要从头开始创建报告,请参阅创建新的 Crystal 报表并将其添加到 PRISMAdirect

1.下载 PRISMAdirect 的默认报告

  1. 打开 [配置] 工作区。

  2. 单击 [系统] - [记帐和报告] - [记帐] - [记帐工作流程] 。

  3. 启用[启用记帐] 选项。

  4. 单击 [系统] - [记帐和报告] - [报告] - [报告文件夹] 。

  5. 键入报告文件夹的路径。例如 C:\\MyReports。您必须在 PRISMAdirect 的服务器上创建报告文件夹。此报告文件夹存储 [报告] 工作区中生成的报告。

  6. 打开 [订单处理] 工作区并完成订单。

    完成订单时,任何可用的记帐信息都会与多个票证项目的值一起存储在数据库中。例如,有关介质和纸张的信息。

  7. 打开 [报告] 工作区。

  8. 选择与您要创建的自定义报告最相似的报告。单击[生成报告] 。

  9. 单击 [保存报告] 并选择 Crystal Reports (RPT)

    该报告将下载到报告文件夹。例如:C:\\MyReports

  10. 转到报告文件夹并更改报告的名称。例如,您可以将报告重命名为“Available job items extended.rpt”。

2.使 PrintAccounting 数据库可用于 Crystal Reports

  1. 打开 Crystal Reports 并打开报告。

  2. 单击“Database - Database Expert”(数据库 - 数据库专家)。

  3. 双击 <computer_name>\Printroom 以登录 PrintAccounting 数据库。

  4. 在自动出现的“OLE DB (ADO)”对话框中键入用户 sa 的密码。安装 PRISMAdirect 时,已为用户 sa 定义了密码。

    单击[完成] 。

    PrintAccounting 数据库现在可用于 Crystal Reports

3.使用 PrintAccounting 数据库中的其他项自定义报告

在“Database Expert”(数据库专家)对话框中,您可以看到所选的默认报告包含 JobItems 表。在此示例中,您要将一个或多个自定义作业项目添加到自定义报告中。

注释

请仅对每个报告使用一个存储过程。如果已针对报告使用存储过程时,请不要选择其他表或存储过程。报告中的多个存储过程可能会导致严重的性能问题,尤其是对于具有许多记录的数据库。

创建报告时,可以选择表或一个存储过程。每个表都包含一组有限的票证项目。存储过程是一组编译为单个执行计划的 SQL 语句。您可以为每个报告选择以下存储过程之一:

  • uspGetAllOrdersItems

    包含所有订单票证项目,包括订单级别的自定义票证项目。

  • uspGetAllJobsItems

    包含所有作业票证项目,包括作业级别的自定义票证项目。

  • uspGetOrderJobsItems

    包含所有订单和作业票证项目,包括订单级别和作业级别的自定义票证项目。

  1. 在右侧屏幕中选择 JobItems 表,然后单击“<”以删除该表。

  2. 转到存储过程,选择 uspGetAllJobsItems,然后单击“>”将其添加到选定的表中。此存储过程包含所有作业项目,包括默认项和自定义项目。

  3. “Enter Values”(输入值)对话框将会自动出现:

    1. @DumpDataInTempTable 选择 False

    2. @TempTable 键入唯一的名称,例如“table1”。

    3. @selectedColumns

      在此过程的后面,您可以选择要在报告中显示的字段。在该步骤中,您可以从一组可用字段中进行选择。

      • 如果要显示所有可用字段,请启用“Set to Null”(设置为 Null)选项。

      • 如果要仅显示一小组可用字段,请使用所需的字段名称填充此参数。用逗号分隔每个字段名称。

    4. 您可以使用有效的 WHERE 子句筛选存储过程的结果。WHERE 子句是 SQL 查询的条件。可以包含 WHERE 子句的参数的名称取决于所选的存储过程。在此示例中,由于选择了 uspGetAllJobsItems,因此参数名称为 @jobsFilter

      • 在此参数中键入有效的 WHERE 子句以筛选存储过程的结果。

        例如,存储过程 uspGetAllJobsItems 将查询表 JobItemsJobCustomItems。表 JobItems 包含 JobNumber 列和其他列。因此,您可以在 @jobsFilter 参数中使用 JobNumber > 5 AND JobNumber < 20 来筛选结果。

      • 如果您不想筛选存储过程的结果,请将此参数留空。不要选择“Set to Null”(设置为 Null)。

    5. 单击“确定”。

  4. 单击“OK”(确定)并关闭“Database Expert”(数据库专家)对话框。

    此时将显示一条消息(“A stored procedure has been used in this report.Please make sure …”(此报告中已使用存储过程。请确保...)),单击“OK”(确定)。可能会出现另一条消息(“Refresh report data?”(刷新报告数据?))。单击“确定”。

  5. 单击“View - Field Explorer”(查看 - 字段资源管理器)。

  6. 展开存储过程以查找要添加到自定义报告中的项目。

  7. 右键单击此项目,然后选择“Insert to report”(插入到报告中)。

    该项目将会添加到报告中。

  8. 将报告配置为适应新的自定义作业项目。

  9. 您可以在报告中添加和删除项目。请相应地更改报告的设计。

  10. 单击“Report - Refresh Report Data”(报告 - 刷新报告数据)。

  11. 选择“Use current parameter values”(使用当前参数值),然后单击“OK”(确定)。

  12. 此时会出现报告预览。报告中会显示新添加项目的当前值。检查报告是否正确。

  13. 单击“File - Save”(文件 - 保存)。

4.在 PRISMAdirect 中上载自定义报告

  1. 打开 [报告] 工作区。

  2. 单击[选项] -[上载自定义报告] 。

  3. 浏览到相关的 RPT 文件。

  4. 单击[打开] 。

    报表将添加到 [报告] 工作区中。

  5. 现在,您可以在 PRISMAdirect 中生成相关的报表。该报告包含新的自定义项目