You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Business Central预览打印时无法获取打印机名称的解决方案咨询

在Business Central中实现打印/预览场景均获取打印机名称的方案

可行,可通过以下几种方式实现需求:

  • 监听打印对话框的选择事件
    不要仅依赖OnBeforeMergeDocument事件,在打印对话框加载完成后,监听打印机下拉菜单的选择变更动作,将选中的打印机名称存入会话变量(如SessionStorage)或临时表中。这样无论点击「打印」还是「预览」,都能从存储位置读取到用户选择的打印机名称。

  • 扩展预览按钮的触发逻辑
    通过AL语言扩展原生打印页面的预览按钮,重写其点击事件:在执行预览动作前,主动获取打印对话框中选中的打印机名称,再将该参数传递给后续的报表处理流程,确保预览场景下参数不丢失。

  • 优化报表调用的参数传递
    若通过代码触发打印/预览,调用Report.Print()方法时显式传入打印机名称参数;对于原生打印对话框,拦截对话框的提交动作,先捕获选中的打印机信息,再传递给报表执行逻辑,保证两种场景下参数都能正确传递。

注意事项:

  • 确保存储打印机名称的变量作用域覆盖打印和预览的全流程,避免变量提前被释放。
  • 测试时覆盖默认打印机、自定义选择打印机等多种场景,验证兼容性。

内容的提问来源于stack exchange,提问作者Luke_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 08:10:24