项目上线后,在客户现场经常能遇到各种各样的问题, 小问题居多也容易解决,有些问题是很棘手的,处理起来没有头绪,后续系列文章主要讲一个思路,然后用几个故事来加以说明,故事中的内容也可以供大家交流学习,希望能够起到抛砖引玉,举一反三的效果。
基本思路:先缩小问题的范围,再确定问题,最后解决问题。
曾经遇到MR报表不能正确打开美元相关的报表。背景: 用户以前每个月使用都是好的,突然有一个月美元相关的报表不可以使用,欧元等其他币种的报表不受影响。
问题分析:用户检查了自己的交易,美元交易是正常的,汇率也都是正确的,ERP系统内的报表都没问题,唯独MR报表出了问题。从技术角度看,MR报表对开发人员来说是黑盒,没有开放代码进行调试。顾问解决问题的思路首先是放在了重新部署MR报表,清理各种缓存,一顿操作完毕后,报表仍然不能工作。
问题再分析及解决: 经过一系列操作失败后,开始在各大网站搜寻答案,竟然能找到一模一样的报错,老外博客也遇到过类似的问题,也给出了解决方案,说这是系统标准Bug,只要打补丁即可解决,补丁号也列在了网站上。根据提示补丁打完以后还是不能工作。 此时问题的解决变得更加困难,用户这边天天催促需要看报表。此时只有靠自己解决,网站已经没有现成答案。我的解决就是用了缩小问题范围的思路,首先,报表能够取其他币种的数据,说明,MR和数据库的连通是没有问题的。 其次,MR报表服务也是经过多年验证过的,功能也是不会出问题的。经过这两点的排除后,问题仅仅可能是数据问题,而且是美元相关的问题。经过检查美元相关的凭证在系统中也是没有问题的,所以范围缩小到汇率和币种参数问题上,再次将焦点放在这里,经过认真检查每一个字段,发现美元币种表上有个字段 币种代码,本来应该是USD,不知道怎么被设置成了CNY,把该值修改成USD后,报表数据显示正常。
经验总结: 越是没有头绪复杂的问题,越应该排除一些肯定不会出问题的地方,逐步缩小范围,一旦范围锁定,发现问题的时间就会缩短,解决问题的效率和质量也会提高,问题解决后再次出错的概率也会降低。 如果仅仅是从表象上去解决问题,就不能够彻底的解决,相关联的问题还会继续爆发。