找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 6536|回复: 18

[其他] 乱七八糟,一个雷

  [复制链接]
发表于 2009-5-1 01:35:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
实施过R9的物资管理,太糟糕了基本上算不能用(后来听说停止研发了);用过U8的进销存(不要把它叫做供应链,不配),太烦锁不方便,虽然你说它功能强大(是吗?),但是一看了那乱糟糟的菜单就不想用;做个几个用友通的项目,对通还有些好感,图形菜单清爽,模块之间一些大的关系一目了然.
然而随着对通的了解,这点点好感也要丧失怠尽..
最近实施一个用友通的进销存,通没有参照发货单生成退货单的功能,于是自已就写个工具来实现,这一写不要紧,把相关数据库分析过后,禁不住摇头感叹"好一个雷"
乱七八糟说几点吧....
雷1、在一张发货单表体中可以录入不同仓库的存货记录,也能按不同仓库生成多张出库单,但是在简单流程下你要删除这样的发货单,就只会得到“不是一对一关联,不能删除”的提示。
原因:仓库代码在销售模块的块发货单子表里记录(也就是表体),而在库存模块里是记录在出入库单主表里的。这样就造成了一条发货单子表记录对应一条出入库主表记录,一张发货单主表记录可能对应多张出入库单主表记录,而各单据之间的对应只能一一对应,遇到这种情况系统没有能力保存所有的对应关系,就只好保存了符和条件的第一条记录的关联信息。这样情况下再删除发货单及相关联的下游单据显然就不对了。
分析:这是个系统构架不合理(至少说各模块之间数据结构不统一)引起的问题,开发人员当然意识到这个问题的存在,但谁会去做这伤筋动骨的麻烦事了,写个禁止通行,草草了事,使简单流程形同虚设,坑了广大用户,苦了我等实施。
雷2、存货启用自由项,并把自由项的长度定为超过20(自由项的最大长度为120),做采购入库一自由项存货,做发货单同一自由项存货,再查现存量,我晕现存量表中出现同一存货两种记录,一入库的一出库的,出库的可用量为负,在做出库不能,报超库存。
原因:比较了两条现存量记录,发现因为是自由项不同造成的,该存货的自由项有15个汉字,但现存量中出库记录只有前10个汉字,后面的5个汉字消失了,MD,见鬼了。不急,看库,原来是因为发货单子表的触发器中@FREE1,@FREE2变量只定义了20的宽度,即10个汉字引起的,后面就不说了.....
分析:本部的质检人员不够,我就不明,补丁发了这么多,就没有一条是针对这个的(其它几张表的触发器也有类似问题).
雷3、几经折腾,工具写得差不多,试试吧。。点点。。生成退货单。。。哈哈成了。。。嗯,等等不对,我一次生成的多条记录的退货单的现存量不对。。。只更新了一条存货记录的现存量。。M。。。。不急。。。看库
原因:还是发货单子表,INSERT触发器谁写的,没有考虑多条记录同时增加的情况吗?
本来就是一条记录一条记录的往里写的嘛,谁叫你的程序要批量写入了?
一条一条的写,为什么又用游标了,用游标却只是一打开读一条记录就关闭了,不如用INSERTED来关联。。。我圈圈你个叉叉。。。还是自已改吧。。恩为了最大限度保持原貌只好嵌套游标了,牺牲点性能换来的点功能....
分析:代码经过太多人手了,属于你改,我改,大家改这类,谁也不知道改的什么....对开发人员用心了吗打个问号...
雷4、工具终于要完工了。。。我采购,我发货,我退货,我再发货,哈哈正常,我试试把退货单删除,还能删除这不超库存发货了吗。。。M。。。不急。。。看库。。。看库有什么用,这是功能缺陷呀
原因:删除发货单时没有检查现存量.
分析:分析你个头。。。。还是自已在工具中写上吧。。。
雷。。。。不要来雷了。。。不行了。。。
工具完成了。。用户使用了。。。尾款可以收回来了。。但愿不要来雷了。。似乎自已想得太好了
发表于 2009-5-1 08:50:05 | 显示全部楼层
楼主。。。
个人认为。。希望你不要生气。。。
你就像我的一个客户。。他原先用过一个他们总部开发过的软件。。现在他目前单位买了个通。。他就跟我埋怨说这个不好那个不好。。
呵呵,就如同楼主你说的“雷” 。R9 和通怎么好同日而语。两个软件根本就是天与地的差别。
你原先实施过R9,R9是好是坏暂时不讨论,我们先讨论下它的价格。。通的价格还没R9的一个零头,你又怎么可以对它有那么多的要求呢,或许楼主您对二次开发,数据库语句之类的比较在行,可我觉的,你是自找麻烦,何必呢,就如你的存货由于自由项的缘故,使得库存不足,不能出库,和客户解释,沟通,有些问题并不是要直接的去处理它,间接的方法也是很好的。
一分价钱一分货。。。否则R9,NC 就没人买了。
希望楼主不要生气。
发表于 2009-5-1 09:28:07 | 显示全部楼层
R9.........都来了........R9这东西我见我另一个同行搞了两年都没搞好......
 楼主| 发表于 2009-5-1 09:42:31 | 显示全部楼层
本帖最后由 断壁残阳 于 2009-5-1 09:43 编辑

千签恋,谢谢你的回复,及对我精神态状的关心...
对你的说词,我只有用懒得理你的态度来应对....
但有一点,我必须说
如果没有人对这些东东生气了,唯一的可能就是这些东东退出市场了....

不生气,大家五一节快乐
 楼主| 发表于 2009-5-1 09:48:05 | 显示全部楼层
请大家认真看贴
"实施过R9的物资管理,太糟糕了基本上算不能用(后来听说停止研发了); "

IT行业浮躁,大家看贴也跟着浮躁
发表于 2009-5-1 10:38:45 | 显示全部楼层
看来都是数据库高手
发表于 2009-5-1 11:48:14 | 显示全部楼层
用通来解决业务简直是自找麻烦,涉及供应链业务,至少要用T6或U8!
发表于 2009-5-1 11:55:17 | 显示全部楼层
你懒的理我,也就是代表我说的是废话。
睡午觉去。。。。。。。。。。。。
发表于 2009-5-2 13:14:27 | 显示全部楼层
首先感谢楼主分享这么好的文章。一看就是做过开发项目的。出手在那呢。
首先说R9 ,R9前身是安易,以前也是做通用财务和进销存软件起家。
开发工具应该为当时的Borland Delphi (现被易博龙收购)。
3年前我从软件开发转型到UF代理经营,其间维护了一段时间的安易
发现单纯从财务模块来说,安易虽然是很早就开发的一个软件
但是其架构、功能、以及应用界面强过UF 和 KD 。
但是也有一定得缺点。R9被UF收购后,偏重于政务应用,对于通用财务的开发
投入甚少,加上公司合并一定会有人才流失。所以安易到R9应该走的很累。

当时早期安易3.x是用VFP+VC开发的。
后来进入到安易2000用Delphi 改写之后几乎没有怎么变化。

一直到最近我看到R97发现政务公司把展层面的Grid做了个优化。
支持斑马线。调色也更加合理。但是有时候闪烁很厉害。负责控件开发的兄弟应该着手解决一下。
但是物资管理部分依然是安易2000时候的样子

所以楼主出现问题就难怪了。
但是我要说的是财务模块 R9任然很强大。缺点是稳定性欠佳。
但是都能控制,只是技巧积累需要很长的时间,而且官方支持很少。

至于物资管理模块,既然没有怎么更新,我也不想多做评价,毕竟他的亲爹娘已经把它卖给UF这个大财主了
UF有自己的亲儿子。所以R9难免奶水不足了。

所以今后有朋友如果要实施到财务的特殊应用(工业企业)R9有些特性可以考虑比如:支持13个月会计期。

回头再看看U8,我不知道楼主所说的U8是以前的U852还是现在的U87x系列
U852已经被UF发展成了T6产品,而U87x在更改架构后,变成了个半.NET平台半原生的怪物
但是我相信这是暂时的,今后会统一到.NET平台。
.NET平台应用的好处我不多说了,相信大家都知道,但是UF的开发依然有大问题。
我记得第一次在我迅驰1.4,1G内存的本本上,应用U870的时候,只有一个映像,慢.....
当然很多看客都会说你去跟 Oracle或者SAP比比啊。
对此我当然没有发言权,因为这两个软件我只闻其名,未见其人。
但是我要说的是,你丫好样不学,尽学人家速度慢了。

U87x打了补丁之后稳定性都还可以,但是依然存在很大的问题,就是架构不统一,这个喝着U85x奶水长大的孩子
依旧是那么个德行。如果大家用过购销存+存货核算模块应该深有感受,查询界面出来的Dialog窗口始终有点各自为战的
样子。用的Grid现实数据也是五花八门。虽然在着色上面尽量一致了,但是还是很难掩盖内部的不一致性
我一度怀疑UF写存货核算模块的兄弟已经离开了,剩下一堆无人能够维护的代码。大家只能在上面修修补补,改个颜色之类


好接下来说T6,T6我之前也猜测分析过,是一个赶鸭子上架的产品,UF本来打算收购珠海Ts产品作为其中小企业ERP市场的拳头的
不过后来崩了,才会把U852拿出来回锅。但是当时面临的问题是:架构陈旧,技术缺乏,因为以前的研发都去搞U87x了,剩下来
只能找过新手,虽然UF号称过了CMMI3但是基本上可以肯定那是为了文档而文档的事情。从T6产品发版后产品质量可以看出。这个产品
也是一个过渡性的产品。

最后隆重推出楼主说到得通,通产品一直是个鸡肋,食之无味,弃之可惜。当年大家都在竞争中端市场的时候。速达,管家婆异军突起
以低廉的价格抢占中小乡镇企业的软件应用,UF,KD看着这每年个把亿的市场被人家拿走,当然按耐不住,于是把当时很古老的一个版本
包装成了通系列,现在叫T3,后来用通过并购等方式收购了 管家婆技术人员出来单干后开发的商贸通变成了现在的T1
通是一个很尴尬的产品,3年前我第一次接触的时候我当时的心情真的是错综复杂。

第一感觉。怎么世界上还有把参照窗口做的那么难用难看的软件。
后来没多久,10.2法办了,加入了树形窗体参照。不过依然很难用。
估计这个产品有生之前无法改变了

第二感觉。那个输入的Grid是什么做的?居然能够那么的丑那么的难用。

第三感觉。怎么那么多Edit都不支持Ctrl+C或者Ctrl+V等标准Windows热键。

第四感觉。报表和打印怎么用户怎么会忍受的。

第五感觉。难道UF总部都是用没有滚轮的鼠标?

当然上述的都是界面层的,再谈应用层面的......















发表于 2009-5-2 13:52:08 | 显示全部楼层
“全国几十万家客户,每天有多少多少人在应用”
从用友的口号我肯定是一个应用做的很好的软件。
就像楼主一样我也从数据库的角度来分析一下“通”软件设计时候他们都是怎么考虑问题的:

1、共享冲突的解决:UF在处理共享冲突的方法用了一个被许多程序员已经证实很不人性的方法。任务标记:
    大家是不是为死锁问题折磨的很苦?对这个问题其实在很多开发工具都有了很好的解决方法。但是UF始终
    是采用了悲观锁和数据库标记来解决。但是死机和任务异常是这种方法的死穴。而且UF所谓的清除任务有
    时候行同虚设。
2、现存量控制:主辅计量单位是每个进销存软件都会涉及的问题,UF在处理这个问题的时候比较“面”,一
    直不敢正视这个问题。对于现存量CurrentStock表的操作,在精算版之前的版本里面一直都是一塌糊涂。
    一定要配以一个现存量整理工具才能使用。我碰到一个单位一天要整理10来次现存量。至于辅助计量单位
    说实话是一个摆设,对于整个核算体系,包括核算那几个表根本没这个字段。
    说实话,设计到出入库的应用的操作都是各自为战,有些在触发器控制,有些在存储过程实现,没有统一。
    难怪现存量经常乱
3、自由项问题:自由项更是一个华丽的摆设。从CurrentStock的结构可以看出是控制到现存量了,但是在
     存货核算表里面没有了他们的影子。所以按自由项核算目前来说只有U8才能实现。但是为了这个简单的
     功能上U8,可能不是企业所能接受的。
4、单据流转:无论从发货流转到出库,还是采购订单流转到入库,内部都是在Rdrecord和Rdrecords表做记录
    UF用了回写处理,记录之间用了线索。比如在发货单子表DispatchLists的RdsID记录了将来出入库单的AutoID
    而在 Rdrecords 的iDLsID又反过去记录了Dispatchlists的标识。都通过数据库的外键做了约束。但是这样
    处理的弊端就是 订单或者发货单到出库单不能做品种上的变更。对于很多企业的应用来说很不方便。每次都要
    回头去改订单。加上跨月处理。失去了可操作性。实际上可以用相对比较宽松的流转方式,通过参数来控制是否
    需要严格控制。从目前的数据结构看来,我的这个要求是无法实现了。只能变通的用两张单据来实现。
5、表格间数据计算:数量,单价,金额,含税单价,含税金额,税率,不含税单价,不含税金额,原币,本位币,扣率。
     这些看起来是很复杂,如果要做折扣必须要要使用报价字段,我开始不能理解为什么?后来官方说会联合触发
     我想看来他们是被OnChange事件难住了。
6、报表、表格:一分为二来看。通10.2开始集成ReportMachine的报表。这是个天大的好事。ReportMachine是WHF
     在Delphi平台的一个很出色的报表工具。UF也意识到自己的打印是在太对不起观众了,所以引入了新报表。
     但是我们的查询统计报表依然很差劲。包括最近集承进来的那个自定义报表工具。依然是T6、U8嚼过的口香糖。
     吐到了通这里,还当成一个大卖点了。所有UF的后台查询都是死的,用SQL事件追踪器往往可以看到N多的临时表操作
     让你摸不着头脑。最后的现实结果导出Excel的时候莫名其妙的要被截断。我不熟悉VB,但是我想这个问题开发
     人员应该很容易就能克服,但是这么多年一直不改进。

先借楼主的宝地发牢骚到此。以后有空再整理,再次佩服楼主居然有兴趣重写那么多模块,这些也是我一直自己想做的
有时候为了回款真的没办法。楼上说什么说服客户之类的都是在忽悠。我从来不干那么缺德的事情。



发表于 2009-5-2 23:35:43 | 显示全部楼层
FUFIDACK!!!
  • 打卡等级:偶尔看看
  • 打卡总天数:33
  • 打卡月天数:23
  • 打卡总奖励:84
  • 最近打卡:2024-11-27 14:15:49
发表于 2009-5-4 08:35:45 | 显示全部楼层
对两位高手的敬仰如滔滔江水!
发表于 2009-5-4 16:21:35 | 显示全部楼层
对用友实在是不是一个雷字能说清的。。。
发表于 2009-5-4 17:47:58 | 显示全部楼层
高手们分析的太好了,慢慢看,太长了
发表于 2009-11-26 20:19:23 | 显示全部楼层
高手们分析的太好了,慢慢看,太长了
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-11-27 21:52 , Processed in 0.062360 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表