Crystal Report:从指定单据号打印切换为供应商选单打印
采购订单报表调整设置指导
1. 新增供应商代码输入参数
- 在报表的参数配置面板里添加一个字符串类型的必填参数,命名为
@SupplierCode,提示文本设为“请输入供应商代码”。 - 确保该参数能正常传递到报表的数据源查询语句中。
2. 修改数据源查询逻辑
- 原查询通常是类似
SELECT * FROM PurchaseOrders WHERE OrderNo = @OrderNo的格式,直接调整为按供应商代码筛选:
把示例字段替换成你实际需要展示的订单信息即可。SELECT OrderNo, OrderDate, TotalAmount, 订单状态, 供应商名称 FROM PurchaseOrders WHERE SupplierCode = @SupplierCode ORDER BY OrderDate DESC - 修改后,报表会自动加载指定供应商的所有采购订单数据。
3. 配置订单选择交互
针对SSRS/Power BI这类带交互功能的报表工具
- 在设计区拖拽表格控件,绑定修改后的查询结果,将订单号、日期等关键信息列出来展示。
- 两种实现方式二选一:
- 给表格行添加钻取动作,点击后直接跳转到订单详情打印页面;
- 新增多值参数
@SelectedOrderNos,参数值从供应商订单查询中获取,值字段选OrderNo,显示字段可设为OrderNo + '(' + OrderDate + ')'方便用户识别,后续报表仅渲染选中订单的详细内容。
针对ERP自带报表编辑器(如SAP、用友)
- 在报表的初始化事件中添加弹窗,先获取用户输入的供应商代码,执行查询拉取该供应商的订单列表。
- 在弹窗内设置列表框控件,展示订单信息并允许用户单选/多选。
- 将用户选中的订单号传递给原报表的打印逻辑,替换掉原来固定的单号参数。
4. 调整打印触发流程
- 删除原有的“指定单号直接打印”逻辑,改为以下流程:
- 弹出供应商代码输入框,获取输入后查询对应订单;
- 展示订单列表等待用户选择;
- 用户确认选择后,将选中的订单号传入打印模板,生成并打印对应订单。
5. 测试验证
- 输入存在有效订单的供应商代码,确认能完整列出所有关联订单;
- 选择不同订单,检查打印内容是否仅包含选中的订单信息;
- 输入无效供应商代码时,建议添加提示逻辑(如“该供应商无采购订单”),避免空列表导致的困惑。
内容的提问来源于stack exchange,提问作者Brian Branco
相关产品推荐
相关产品推荐

