|
|

楼主 |
发表于 2013/7/30 13:55:01
|
显示全部楼层
记得那是那个项目刚刚才上线的时候,没过两天,很多使用人员就开始跟我们反馈他们的单据都找不到了,应该说我当时听到这个事情还是很莫名其妙的,因为经过了大量的测试,那么多的国际用户使用,这种低级的问题应该不会出现的。
不过也没觉得是什么大的事情,录入的单据不会没有的,多半是使用不习惯的问题,任何一个系统都有一个习惯过程的.所以我们到现场去看了一下,还真就发现了一些之前没有碰到的问题.
原来刚刚上系统,Adempiere提供了强大的搜索功能,但是用户使用的还不是特别的明白,但是时间作为一个很明确的标准表示他们是很好判断的,所以他们就以简单的时间判断,而且我们为了方便使用,将所有单据的默认创建时间(Created Date),以及修改时间(Updated Date)字段都分区域给设置成可视了(系统默认不可见),这个改变非常好,非常方便用户参考信息,而且在Adempiere经过简单的调整就可以。但是恰巧是这个创建时间出了,他们通过时间排序单据,找不到他们当时那个时间录入的单据了,而我们经过察看发现,有的单据就时间正确,有的就变成了1970-1-1,再细看就是不同的机器录入的时间有的正确,有的就有问题。
应该说一下背景,当时的系统是不能使用BS的zkoss客户端,当时还没有开发出来,所以都是用C/S 的客户端,C/S客户端的创建单据时获取的时间是本地系统时间,当然你用Web客户端肯定不会出现类似的问题了。这样我们就怀疑本地系统时间出错了,而事实却是如此,然后我们根据这个特点,改动了几台机器的时间配置,发现确实解决了问题,这些机器的特点好像就是系统的时钟都丢失了,而且都是ghost的机器,但是平常使用也都不影响。但是这也不是终极解决问题的办法,因为新的系统还会重新安装,新的机器还会购买,所以为了一劳永逸,我们将系统中的所有获取当前时间的方法都给替换掉,使用ejb在应用服务器上获取时间,从而解决了这个问题。
开源软件的优点是配置灵活方便,可以解决很多平常很困难解决的问题,同时我们应该利用好它的开源特性,从而解决我们的一些棘手的问题。
|
评分
-
查看全部评分
|