|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册账号
×
实施过R9的物资管理,太糟糕了基本上算不能用(后来听说停止研发了);用过U8的进销存(不要把它叫做供应链,不配),太烦锁不方便,虽然你说它功能强大(是吗?),但是一看了那乱糟糟的菜单就不想用;做个几个用友通的项目,对通还有些好感,图形菜单清爽,模块之间一些大的关系一目了然.
然而随着对通的了解,这点点好感也要丧失怠尽..
最近实施一个用友通的进销存,通没有参照发货单生成退货单的功能,于是自已就写个工具来实现,这一写不要紧,把相关数据库分析过后,禁不住摇头感叹"好一个雷"
乱七八糟说几点吧....
雷1、在一张发货单表体中可以录入不同仓库的存货记录,也能按不同仓库生成多张出库单,但是在简单流程下你要删除这样的发货单,就只会得到“不是一对一关联,不能删除”的提示。
原因:仓库代码在销售模块的块发货单子表里记录(也就是表体),而在库存模块里是记录在出入库单主表里的。这样就造成了一条发货单子表记录对应一条出入库主表记录,一张发货单主表记录可能对应多张出入库单主表记录,而各单据之间的对应只能一一对应,遇到这种情况系统没有能力保存所有的对应关系,就只好保存了符和条件的第一条记录的关联信息。这样情况下再删除发货单及相关联的下游单据显然就不对了。
分析:这是个系统构架不合理(至少说各模块之间数据结构不统一)引起的问题,开发人员当然意识到这个问题的存在,但谁会去做这伤筋动骨的麻烦事了,写个禁止通行,草草了事,使简单流程形同虚设,坑了广大用户,苦了我等实施。
雷2、存货启用自由项,并把自由项的长度定为超过20(自由项的最大长度为120),做采购入库一自由项存货,做发货单同一自由项存货,再查现存量,我晕现存量表中出现同一存货两种记录,一入库的一出库的,出库的可用量为负,在做出库不能,报超库存。
原因:比较了两条现存量记录,发现因为是自由项不同造成的,该存货的自由项有15个汉字,但现存量中出库记录只有前10个汉字,后面的5个汉字消失了,MD,见鬼了。不急,看库,原来是因为发货单子表的触发器中@FREE1,@FREE2变量只定义了20的宽度,即10个汉字引起的,后面就不说了.....
分析:本部的质检人员不够,我就不明,补丁发了这么多,就没有一条是针对这个的(其它几张表的触发器也有类似问题).
雷3、几经折腾,工具写得差不多,试试吧。。点点。。生成退货单。。。哈哈成了。。。嗯,等等不对,我一次生成的多条记录的退货单的现存量不对。。。只更新了一条存货记录的现存量。。M。。。。不急。。。看库
原因:还是发货单子表,INSERT触发器谁写的,没有考虑多条记录同时增加的情况吗?
本来就是一条记录一条记录的往里写的嘛,谁叫你的程序要批量写入了?
一条一条的写,为什么又用游标了,用游标却只是一打开读一条记录就关闭了,不如用INSERTED来关联。。。我圈圈你个叉叉。。。还是自已改吧。。恩为了最大限度保持原貌只好嵌套游标了,牺牲点性能换来的点功能....
分析:代码经过太多人手了,属于你改,我改,大家改这类,谁也不知道改的什么....对开发人员用心了吗打个问号...
雷4、工具终于要完工了。。。我采购,我发货,我退货,我再发货,哈哈正常,我试试把退货单删除,还能删除这不超库存发货了吗。。。M。。。不急。。。看库。。。看库有什么用,这是功能缺陷呀
原因:删除发货单时没有检查现存量.
分析:分析你个头。。。。还是自已在工具中写上吧。。。
雷。。。。不要来雷了。。。不行了。。。
工具完成了。。用户使用了。。。尾款可以收回来了。。但愿不要来雷了。。似乎自已想得太好了 |
|