公有云二开利器:PYTHON实现条码扫描单数据比对

金蝶K3cloud正式更名金蝶云,现在公有云产品更是销售的热火朝天。但公有云(SAAS模式:软件即服务。简单说就是租赁模式,服务器在云端,客户按租付费!)最致命的问题,就是二开的限制较多。

尽管金蝶云提供了相当多的解决方案,如非标资源购买、开发组件安装包部署、升级补丁由客户控制等,但仍然逃不开.NET C#开发组件需要重启业务平台的问题,这对开发来说,简直就是折磨,——不敢上线,不上线没办法让客户测试;而上线后出了问题,或者需求变更了,再重写、打包、部署、重启,1个人天消耗都算少的!

本着程序员就该是懒人(这是我说的:)的宗旨,在接到公有云开发需求的时候,第一时间,想到了PYTHON解决,话不多说,开始。

一、需求:

7.0开始增加了条码管理模块。

功能还是比较全面的,其中条码扫描,提供了PC端扫码生成业务单据的解决方案。

看界面,功能还是很不错的。设计也很灵活,能满足单据的上下游关联关系。

比如销售订单,扫码生成销售出库单,即可以上查订单情况,又可以扫码快速录单,还是很好用的。

但是——总是有但是,客户使用时发现,虽然配置参数极其丰富

却没有源单匹配功能!与总部沟通,PDA上有,但客户就认准了PC端操作!

例如:销售订单,物料A计划5个,物料B计划8个,但扫码时,并没有判断,——就是说,对应生成下游销售出库单据时,物料是否与源单相同,数量是否相同,都没有控制。这个就不妥了,扫码本来容易出错,再没有检查,就失去了扫码的意义!

客户强烈要求开发,否则不同意产品正式上线运行!

需求功能:

1.扫描物料及数量与源单匹配时,允许保存!

2.否则,提示哪个条码有问题,是多了还是少了!

各位看官,客户说这是一个需求,但在我的眼里,这是两个!!!知道产品经理和研发为什么吵架了吧:)

二、实现思路:

接到需求后,第一感觉,这个开发并不难!但问题在于公有云的开发迭代实在痛苦,本着懒人精神,第一时间想到了PYTHON开发,既然工作量不大,何不用PYTHON解决!

于是,要到客户测试地址,开始研究!这是PYTHON的第一好处,你的机器只需有sublime(很强大的语法高亮显示的记事本工具:),OK,装K3CLOUD BOS IDE就可以开工了。

思路:要做校验检查,无非时保存前事件、按钮事件等等,客户要求有提示信息,就涉及前端展现,果断采用按钮事件。

三、具体实现:

1.注册按钮事件

我敢打赌,如果你写成功这样一个PYTHON例子,你再也不想用C#了,光一个重启IIS,就能烦死!

2.从条码扫描的表单看,保存按钮和生成单据的按钮在录入时都是可用的,应该都要截获。

3.肯定是要获取源单数据包了,搜索论坛,找到了方法QueryServiceHelper

4.再取当前单据数据

5.然后比对两个数据包

6.实现:

这里也经过了一波三折,第一次实现后,只是显示物料名称、数量,客户看后,感觉不太清晰,又要求提示行号,及条码ID,这个时候,才真正感觉到了PYTHON的方便之处,否则再来一遍调试打包部署,是很头疼的。

当然,PYTHON在BOS IDE里不好调试,也是个头疼的事情。好在有SUBLIME,粘贴复制总不至于不会吗?

就这样,交付客户。

3个人天,——尽管我付出了不止3人天的工作,但有些是我们自己的学习成本,不该一次性转嫁给客户的。

——这就是我的做事风格!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180717G1BNY700?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券