!!!群内发打印问题, 需要明确告知在什么界面,进行了什么操作,最终结果是什么,已经进行过哪些排查。 同时需提供本地日志,如果使用菜鸟/拼多多组件打印, 需提供问题发生当天,打印电脑的组件日志

打印相关问题排查

本地日志存放的路径: ERP内 设置->本地设置->本地日志目录
	日志文件的格式是: 日期+时间+用户名, 如果发送日志,需要发送当前所有的本地日志.	
菜鸟组件日志查找: 菜鸟组件内  帮助->打开日志目录
菜鸟组件调试日志开启:参考https://support-cnkuaidi.taobao.com/docs/doc.htm?spm=a21da.7386797.0.0.4f5c604bU5zgjq&source=search&treeId=493&articleId=107792&docType=1
拼多多组件日志查找: 拼多多组件内  帮助->日志目录 进入Log文件夹

问题排查

出库单有打印日志, 出现漏打、重打、单据偏移等情况。
	一般都是组件/打印机故障造成。参考https://support-cnkuaidi.taobao.com/docs/doc.htm?spm=a21da.7386797.0.0.1c97604bULZfjh&source=search&treeId=493&articleId=107818&docType=1 中1,2。
	
打印模板修改后打印的面单还是修改前的字段/类型
	1. 检查模板修改之后是否保存并发布
	2. 模板修改后是否重新下载模板
	3. 打印时是否清楚模板缓存(如果使用拼多多组件,需要清楚组件缓存)
PDA后置打印漏单
	先检查打印服务界面是否有错误提示,如果没有,需排查日志。如果检查结果显示本地日志文件没有发送数据,极少数情况可能是网络问题(客户网络问题或服务器网络问题).
			
菜鸟一联单打印出的面单还是标准类型面单样式
	确保新建的模板是一联类型的模板(新建模板选择的模板名称是xxx一联),同时模板规格是一联模板的规格。
菜鸟打印一联单部分数据缺失
	https://support-cnkuaidi.taobao.com/docs/doc.htm?treeId=493&articleId=116681&docType=1
菜鸟打印提示模板文件格式错误或者数据不符合规范
	https://support-cnkuaidi.taobao.com/docs/doc.htm?treeId=493&articleId=107808&docType=1
菜鸟打印打印的面单不清楚
	https://support-cnkuaidi.taobao.com/docs/doc.htm?treeId=493&articleId=108220&docType=1
菜鸟电子面单打印不完整或者错乱
	https://support-cnkuaidi.taobao.com/docs/doc.htm?treeId=493&articleId=108304&docType=1
菜鸟打印打印标准电子面单字体模糊
	https://support-cnkuaidi.taobao.com/docs/doc.htm?treeId=493&articleId=107820&docType=1
			
拼多多面单打印结果与模板链接的类型不一致(使用一联模板打印,打印出的面单时标准模板)
	更新拼多多组件,如果组件版本是1.2.33, 1.2.37~1.2.39 需要重新下载。

注意:日志排查需要查看时间是否对应。

本地打印排查

1、打印提示数据格式错误
	检查使用的本地模板是否从企业版导入,旗舰版模板和企业版不兼容,建议重新拖模板所有字段。
2、查看是否发送数据给打印组件
	在本地日志文件中搜索要查找的物流单号/出库单号,如果出现记录则ERP成功发送数据给打印组件。

菜鸟打印排查

云打印答疑知识库地址:https://support-cnkuaidi.taobao.com/docs/doc.htm?treeId=493&articleId=108078&docType=1
0、如果组件频繁出现漏单,重打,渲染失败的问题,需要先检查系统问题,检查步骤如下
	https://support-cnkuaidi.taobao.com/docs/doc.htm?spm=a21da.7386797.0.0.2064604bwEBBFv&source=search&treeId=493&articleId=107779&docType=1
1、日志中出现CreatDC failed、句柄无效等打印机驱动相关问题.
	打印机驱动问题。建议先彻底删除干净打印机驱动,再重装打印机官网驱动,如果尝试过重装官网驱动还是不可以,把打印数据类型调成image模式。
2、日志中出现存储空间不足
	检查云打印客户端是否装在了c盘,要保证有足够大的存储空间。
3、查看ERP是否发送打印数据给菜鸟组件
	在组件日志中搜索对应的物流单号,查询结果的行中包含Receive print task ,说明组件接收数据完成。
4、查看组件是否返回打印成功信息给客户端
	在组件日志中搜索要查看的物流单号,找到对应的documentID对应的值,查找对应documentID,如果出现sent msg:  "{\"cmd\":\"notifyPrintResult\",并且documentID后的msg为 成功 ,则组件返回给ERP打印成功的消息。
	
出现其他问题, 需要开启菜鸟打印组件的调试日志, 按照下面步骤分析:
1.找到符合日期(实际操作打印的时间和日志记录时间),对应电脑(操作打印时使用的电脑)的菜鸟日志
2.按照关键字 error 搜索文档内容,查看搜索结果,
	如果有中文错误显示,先在此文档查找解决方案,如果此文档没有说明,则参考云打印答疑知识库
	如果没有中文错误提示,先检查错误信息是否全时下面的不影响打印的ERROR信息,如果包含其他错误信息,先到云打印答疑知识库查询,查询无果后在群内反馈问题及已进行的排查。
	
一些不影响打印的ERROR信息:
	fontManager initialization failed, DNS lookup failed error code QDnsLookup::Error(NotFoundError)

拼多多打印排查

1、查看ERP是否发送打印数据给组件
	在组件日志中搜索要查找的物流单号,如果查询结果的行中出现DecryptData: {"waybillCode":" 说明组件接收数据完成。

发货单,分拣单,出入库单等使用内部打印的单据 相关问题排查

      直接查询本地日志, 发货单,分拣单在记录日志时, 时间后面跟着"普通打印"

问题排查示例

前情提要

1. 问题描述 单据处理界面选中300单(淘宝云栈类型物流)打印,从点击打印到看到打印机出单大概需要等待 一分钟,使用其他软件打印同样数量物流单没有明显的延迟,只选一单的情况下打印不会卡。 
2. 实施测试过以下情况 ,问题依然没有得到缓解 
	重新安装&更新菜鸟打印组件 
	更新打印机驱动 
	重新安装ERP客户端 
	切换登录账号打印 
	切换打印机 
	使用实施电脑,网络切换使用热点 
	减少模板上打印项数量

排查思路

整个打印操作的实际流程
	1.客户端点击打印按钮
	2.服务端接收到请求并返回数据
	3.客户端接收数据并向菜鸟组件发送数据
	4.菜鸟组件接收数据
	5.组件调用打印机进行打印
分析每个过程的耗时,就能排查出耗时的操作,最终定位问题。

第一次排查 前提

开启[菜鸟组件调试日志], 菜鸟组件的日志中才会显示[debug]内容. 
任务拆分阈值的作用: 客户端单次打印的单据数量超过阈值, 在发送给菜鸟组件的时候就会根据阈 值对打印任务进行拆分. 默认不做限制。

排查过程

实施选择182单, 从点击打印到看到出纸时间间隔大概20秒.
选中的批次 PB2007160031 . 
从菜鸟日志我们可以看到时间延迟是因为渲染文档导致的, 从接收任务到文档渲染结束的时间间隔也基本符 合实施描述的情况. 
由此得出结论打印任务全部渲染完之后才会出单, 所以想要降低延时我们可以 调整任务切分阈值的大小, 由于实施最开始反馈打印100单就会出现明显的延迟, 我们暂时先将打印 任务切分阈值设置为20.

服务端接收到请求, 16:12:10 2020-07-16T16:12:10 mengshang3 pc erp 实施 5014

[[25218, 25219, 25220, 25223, 25224, 25225, 25228, 25229, 25232, 25233, 25240, 25244, 25245, 25246, 25256, 25258, 25259, 25260, 25263, 25265, 25267, 25269, 25277, 25278, 25280, 25291, 25293, 25297, 25301, 25303, 25306, 25316, 25326, 25327, 25328, 25330, 25333, 25337, 25340, 25343, 25345, 25358, 25366, 25378, 25380, 25381, 25205, 25210, 25214, 25216, 25217, 25221, 25231, 25234, 25237, 25250, 25261, 25272, 25286, 25287, 25295, 25310, 25321, 25346, 25349, 25371, 25376, 25202, 25212, 25215, 25248, 25251, 25262, 25264, 25294, 25304, 25305, 25309, 25332, 25335, 25344, 25352, 25356, 25363, 25364, 25367, 25213, 25226, 25239, 25252, 25266, 25273, 25281, 25289, 25296, 25298, 25308, 25311, 25320, 25329, 25336, 25373, 25279, 25292, 25318, 25319, 25324, 25347, 25361, 25362, 25374, 25204, 25283, 25284, 25313, 25323, 25241, 25275, 25314, 25322, 25325, 25208, 25211, 25285, 25357, 25243, 25274, 25276, 25342, 25302, 25353, 25369, 25235, 25379, 25312, 25354, 25206, 25254, 25334, 25351, 25348, 25355, 25201, 25253, 25331, 25360, 25249, 25270, 25257, 25282, 25209, 25359, 25271, 25377, 25288, 25227, 25368, 25299, 25372, 25200, 25238, 25242, 25317, 25247, 25255, 25339, 25268, 25222, 25365, 25290, 25230, 25370, 25300, 25236, 25375, 25307, 25203, 25315, 25207, 25338, 25341, 25350],0,2,1073741841,0,false,2]

2020-07-16T16:12:13 mengshang3 pc erp 实施 5014 <wms.stockout.sales.markprinted>

[[25218, 25219, 25220, 25223, 25224, 25225, 25228, 25229, 25232, 25233, 25240, 25244, 25245, 25246, 25256, 25258, 25259, 25260, 25263, 25265, 25267, 25269, 25277, 25278, 25280, 25291, 25293, 25297, 25301, 25303, 25306, 25316, 25326, 25327, 25328, 25330, 25333, 25337, 25340, 25343, 25345, 25358, 25366, 25378, 25380, 25381, 25205, 25210, 25214, 25216, 25217, 25221, 25231, 25234, 25237, 25250, 25261, 25272, 25286, 25287, 25295, 25310, 25321, 25346, 25349, 25371, 25376, 25202, 25212, 25215, 25248, 25251, 25262, 25264, 25294, 25304, 25305, 25309, 25332, 25335, 25344, 25352, 25356, 25363, 25364, 25367, 25213, 25226, 25239, 25252, 25266, 25273, 25281, 25289, 25296, 25298, 25308, 25311, 25320, 25329, 25336, 25373, 25279, 25292, 25318, 25319, 25324, 25347, 25361, 25362, 25374, 25204, 25283, 25284, 25313, 25323, 25241, 25275, 25314, 25322, 25325, 25208, 25211, 25285, 25357, 25243, 25274, 25276, 25342, 25302, 25353, 25369, 25235, 25379, 25312, 25354, 25206, 25254, 25334, 25351, 25348, 25355, 25201, 25253, 25331, 25360, 25249, 25270, 25257, 25282, 25209, 25359, 25271, 25377, 25288, 25227, 25368, 25299, 25372, 25200, 25238, 25242, 25317, 25247, 25255, 25339, 25268, 25222, 25365, 25290, 25230, 25370, 25300, 25236, 25375, 25307, 25203, 25315, 25207, 25338, 25341, 25350],2,2,0]

菜鸟组件接收到打印任务, 16:12:11 2020-07-16 16:12:11 (0x66b0) INFO print_task.cpp:27 Receive print task: taskID : “e6c9dd52e16a4552affaff632e86a695” documentID : “25218” waybillCode : “773046956884860”

2020-07-16 16:12:11 (0x66b0) INFO print_task.cpp:27 Receive print task: taskID : “e6c9dd52e16a4552affaff632e86a695” documentID : “25219” waybillCode : “773046956884871”

2020-07-16 16:12:11 (0x66b0) INFO print_task.cpp:27 Receive print task: taskID : “e6c9dd52e16a4552affaff632e86a695” documentID : “25350” waybillCode : “773046957801515”

2020-07-16 16:12:11 (0x66b0) DEBUG message_processor.cpp:426 result message {“cmd”:“print”,“msg”:“成 功”,“requestID”:“e6c9dd52e16a4552affaff632e86a695”,“status”:“success”,“taskID”:“e6c9dd52 e16a4552affaff632e86a695”}

2020-07-16 16:12:11 (0x66b0) DEBUG web_socket_worker.cpp:36 result message {“cmd”:“print”,“msg”:“成 功”,“requestID”:“e6c9dd52e16a4552affaff632e86a695”,“status”:“success”,“taskID”:“e6c9dd52 e16a4552affaff632e86a695”}

2020-07-16 16:12:11 (0x66b0) INFO web_socket_worker.cpp:39 sent msg: “ {“cmd”:“print”,”msg“:“成 功”,”requestID“:“e6c9dd52e16a4552affaff632e86a695”,”status“:“success”,”taskID“:“e6c9dd5 2e16a4552affaff632e86a695”}”

打印机渲染从16:12:13 到 16:12:36, 说明时间延迟是因为渲染导致的

2020-07-16 16:12:13 (0x4064) DEBUG render_paged_paint_device.cpp:33 Update printer page layout : QPageLayout(“Custom(100.0mm * 180.0mm)”, Portrait, l:0 r:0 t:0 b:0 pt)

2020-07-16 16:12:13 (0x4064) DEBUG global.h:45 Process time for “print” —> “begin” : 15 ms.

2020-07-16 16:12:13 (0x48bc) DEBUG printer_monitor.cpp:58 No notify information received.

2020-07-16 16:12:13 (0x4064) DEBUG global.h:45 Process time for “print” —> “begin end” : 41 ms

2020-07-16 16:12:13 (0x4064) DEBUG render_paged_paint_device.cpp:93 Begin to print page layout : QPageLayout(“Custom(100.0mm * 180.0mm)”, Portrait, l:0 r:0 t:0 b:0 pt)

2020-07-16 16:12:13 (0x4064) INFO render.cpp:141 Desired layout : QSizeF(75, 129)

2020-07-16 16:12:36 (0x4064) DEBUG render_paged_paint_device.cpp:33 Update printer page layout : QPageLayout(“Custom(100.0mm * 180.0mm)”, Portrait, l:0 r:0 t:0 b:0 pt)

2020-07-16 16:12:36 (0x4064) DEBUG render_paged_paint_device.cpp:89 new page : QSizeF(75, 129)

2020-07-16 16:12:36 (0x4064) DEBUG render_paged_paint_device.cpp:93 Begin to print page layout : QPageLayout(“Custom(100.0mm * 180.0mm)”, Portrait, l:0 r:0 t:0 b:0 pt)

2020-07-16 16:12:36 (0x4064) INFO render.cpp:141 Desired layout : QSizeF(75, 129)

2020-07-16 16:12:36 (0x4064) DEBUG global.h:45 Process time for “print” —> “end” : 22539 ms

2020-07-16 16:12:36 (0x4064) INFO render_paged_paint_device.cpp:104 task rended now task Id = “e6c9dd52e16a4552affaff632e86a695”

2020-07-16 16:12:36 (0x48bc) INFO printer_monitor.cpp:160 “HPRT R42P” Received job notification for 6 with field “a” status = “2010”

2020-07-16 16:12:36 (0x4064) DEBUG global.h:53 Process time for “print” —> ~ : 22623 ms

2020-07-16 16:12:36 (0x4064) INFO render_paged_paint_device.cpp:44 Rendering finished in 22623 ms

第二次排查

打印任务设置为20后, 重启ERP客户端进行打印, 选中147单打印出单间隔三秒左右. 可见调整任务切分阈 值起了效果, 但是还是有一点点延迟, 所以继续调整拆分阈值为10. 任务拆分阈值为10, 重启客户端后选中500单实施反馈打印已经感觉不到延时了.

目前收集到的漏单、打印延迟的打印机型号(仅供参考)

漏单:QR 588G、KM 118

延迟:HPRT R42P