昨天仓库那边发来一张bug截图
可以看到是
/odoo/custom/addons/ydit_main/xgyh.py 第186行引发的bug
end传入了一个Q31700023778的不能转换int的值
这个ydit_main是苏州远鼎开发的,具体代码我还没看,一个文件大概写了3000多行,比较乱。
之前在186行报过一次bug,可能是修复的不完整
下面我们来演示一次odoo debug过程。
先确定了一下 具体的错误引发点
我们的条码 YQ3是店铺的前缀
后10位为产品的条码
把线上的数据库恢复到测试环境
新建库名称为xgyh20170727
由于这个dump是不带data文件的,所以我们直接复制一份同名的目录
完成后就可以在测试环境中调式了
为了方便 这里使用print输出调式
问题复现
错误后 导致批次列表为空
正常状态下的列表
添加print语句
启动服务器调式
最终发现是lot_name 有空的prefix导致的问题。
临时修复 在数据里改数据 去除空格
代码修复建议
在输入序列号时添加长度验证代码
总结
非常小的bug,就导致作业流程失败,所以在编写ERP代码时需要考虑全面,多多测试。