Odoo 一个空格引发的bug修复 - 苏州远鼎外包遗留问题

昨天仓库那边发来一张bug截图


1501065258893.jpg

可以看到是
/odoo/custom/addons/ydit_main/xgyh.py 第186行引发的bug
end传入了一个Q31700023778的不能转换int的值

这个ydit_main是苏州远鼎开发的,具体代码我还没看,一个文件大概写了3000多行,比较乱。
之前在186行报过一次bug,可能是修复的不完整

QQ20170727-111741.jpg

下面我们来演示一次odoo debug过程。

先确定了一下 具体的错误引发点

1501065436740.jpg

我们的条码 YQ3是店铺的前缀
后10位为产品的条码

QQ20170727-110613.jpg

把线上的数据库恢复到测试环境

QQ20170727-112035.jpg

新建库名称为xgyh20170727

由于这个dump是不带data文件的,所以我们直接复制一份同名的目录

QQ20170727-112249.jpg

完成后就可以在测试环境中调式了
为了方便 这里使用print输出调式

问题复现


QQ20170727-113654.jpg

错误后 导致批次列表为空

QQ20170727-114145.jpg

正常状态下的列表

QQ20170727-114308.jpg

添加print语句

QQ20170727-114539.jpg

启动服务器调式

QQ20170727-114619.jpg

最终发现是lot_name 有空的prefix导致的问题。
临时修复 在数据里改数据 去除空格


代码修复建议
在输入序列号时添加长度验证代码

总结
非常小的bug,就导致作业流程失败,所以在编写ERP代码时需要考虑全面,多多测试。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文翻译自 http://www.amibug.com/iamabug/p01.html 非常有趣,同时能够学习到...
    豪哥的世界阅读 2,382评论 0 9
  • 从百度文库下载下来的,这里保存一份 别人的原代码程序员怎样阅读 源码就是指编写的最原始程序的代码。 运行的软件是要...
    Albert陈凯阅读 3,420评论 0 15
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,482评论 25 708
  • 小时候,孩童般玩耍,一如天真无邪,不分彼此,不分男女。 渐渐地上了学,开始有了羞耻之心,不屑于同女生踢...
    苏文轩阅读 482评论 0 1
  • 这个孩子,他没有名字。没有名字的孩子是有父母的,出生的第二天,孩子被抛弃了,像狗一样被丢进了垃圾场。 这是哪一年?...
    不二冬阅读 298评论 0 5