本主题介绍了如何根据现有报告创建自定义报告。有关可以使用的表、存储过程和视图的详细信息,请参阅“PrintAccounting 数据库的可用表、存储过程和视图”。
要从头开始创建报告,请参阅创建新的 Crystal 报表并将其添加到 PRISMAdirect。
1.下载 PRISMAdirect 的默认报告
打开 [配置] 工作区。
单击 [系统] - [记帐和报告] - [记帐] - [记帐工作流程] 。
启用[启用记帐] 选项。
单击 [系统] - [记帐和报告] - [报告] - [报告文件夹] 。
键入报告文件夹的路径。例如 C:\\MyReports。您必须在 PRISMAdirect 的服务器上创建报告文件夹。此报告文件夹存储 [报告] 工作区中生成的报告。
打开 [订单处理] 工作区并完成订单。
完成订单时,任何可用的记帐信息都会与多个票证项目的值一起存储在数据库中。例如,有关介质和纸张的信息。
打开 [报告] 工作区。
选择与您要创建的自定义报告最相似的报告。单击[生成报告] 。
单击 [保存报告] 并选择 Crystal Reports (RPT)。
该报告将下载到报告文件夹。例如:C:\\MyReports。
转到报告文件夹并更改报告的名称。例如,您可以将报告重命名为“Available job items extended.rpt”。
2.使 PrintAccounting 数据库可用于 Crystal Reports
打开 Crystal Reports 并打开报告。
单击“Database - Database Expert”(数据库 - 数据库专家)。
双击 <computer_name>\Printroom 以登录 PrintAccounting 数据库。
在自动出现的“OLE DB (ADO)”对话框中键入用户 sa 的密码。安装 PRISMAdirect 时,已为用户 sa 定义了密码。
单击[完成] 。
PrintAccounting 数据库现在可用于 Crystal Reports。
3.使用 PrintAccounting 数据库中的其他项自定义报告
在“Database Expert”(数据库专家)对话框中,您可以看到所选的默认报告包含 JobItems 表。在此示例中,您要将一个或多个自定义作业项目添加到自定义报告中。
请仅对每个报告使用一个存储过程。如果已针对报告使用存储过程时,请不要选择其他表或存储过程。报告中的多个存储过程可能会导致严重的性能问题,尤其是对于具有许多记录的数据库。
创建报告时,可以选择表或一个存储过程。每个表都包含一组有限的票证项目。存储过程是一组编译为单个执行计划的 SQL 语句。您可以为每个报告选择以下存储过程之一:
uspGetAllOrdersItems
包含所有订单票证项目,包括订单级别的自定义票证项目。
uspGetAllJobsItems
包含所有作业票证项目,包括作业级别的自定义票证项目。
uspGetOrderJobsItems
包含所有订单和作业票证项目,包括订单级别和作业级别的自定义票证项目。
在右侧屏幕中选择 JobItems 表,然后单击“<”以删除该表。
转到存储过程,选择 uspGetAllJobsItems,然后单击“>”将其添加到选定的表中。此存储过程包含所有作业项目,包括默认项和自定义项目。
“Enter Values”(输入值)对话框将会自动出现:
为 @DumpDataInTempTable 选择 False。
为 @TempTable 键入唯一的名称,例如“table1”。
@selectedColumns:
在此过程的后面,您可以选择要在报告中显示的字段。在该步骤中,您可以从一组可用字段中进行选择。
如果要显示所有可用字段,请启用“Set to Null”(设置为 Null)选项。
如果要仅显示一小组可用字段,请使用所需的字段名称填充此参数。用逗号分隔每个字段名称。
您可以使用有效的 WHERE 子句筛选存储过程的结果。WHERE 子句是 SQL 查询的条件。可以包含 WHERE 子句的参数的名称取决于所选的存储过程。在此示例中,由于选择了 uspGetAllJobsItems,因此参数名称为 @jobsFilter:
在此参数中键入有效的 WHERE 子句以筛选存储过程的结果。
例如,存储过程 uspGetAllJobsItems 将查询表 JobItems 和 JobCustomItems。表 JobItems 包含 JobNumber 列和其他列。因此,您可以在 @jobsFilter 参数中使用 JobNumber > 5 AND JobNumber < 20 来筛选结果。
如果您不想筛选存储过程的结果,请将此参数留空。不要选择“Set to Null”(设置为 Null)。
单击“确定”。
单击“OK”(确定)并关闭“Database Expert”(数据库专家)对话框。
此时将显示一条消息(“A stored procedure has been used in this report.Please make sure …”(此报告中已使用存储过程。请确保...)),单击“OK”(确定)。可能会出现另一条消息(“Refresh report data?”(刷新报告数据?))。单击“确定”。
单击“View - Field Explorer”(查看 - 字段资源管理器)。
展开存储过程以查找要添加到自定义报告中的项目。
右键单击此项目,然后选择“Insert to report”(插入到报告中)。
该项目将会添加到报告中。
将报告配置为适应新的自定义作业项目。
您可以在报告中添加和删除项目。请相应地更改报告的设计。
单击“Report - Refresh Report Data”(报告 - 刷新报告数据)。
选择“Use current parameter values”(使用当前参数值),然后单击“OK”(确定)。
此时会出现报告预览。报告中会显示新添加项目的当前值。检查报告是否正确。
单击“File - Save”(文件 - 保存)。
4.在 PRISMAdirect 中上载自定义报告
打开 [报告] 工作区。
单击[选项] -[上载自定义报告] 。
浏览到相关的 RPT 文件。
单击[打开] 。
报表将添加到 [报告] 工作区中。
现在,您可以在 PRISMAdirect 中生成相关的报表。该报告包含新的自定义项目。