仓库管理软件的一些问题?多多帮忙啊。(100分)

  • 主题发起人 主题发起人 娃娃
  • 开始时间 开始时间

娃娃

Unregistered / Unconfirmed
GUEST, unregistred user!
这两天再搞一个管理系统,到了仓存这一块,真是搞的我头都大了!
几个难题:1、出仓问题,现在为了考虑网络数据传输量的问题,采
用的是客户端数据缓冲提交的方法,但是现在如果库
中某类物品还有100,A操作员出了80(未提交),B操
作员又出了60(未提交),一经提交后库存还不乱了
套?如果这样的话是不是还要维护一个当前库存量表?
所有的出仓都在这里读取仓存量,然后再出仓?网络数
据流量问题又如何解决?
2、用进出仓流水帐记录生成日报表的问题,如果现在是
2002/07/14,而现在需要出 2002/01/15的日报表,如何
生成?难道说要以2002/01/15为准,把自2002/01/15以后
所有的进仓量减去,把所有的出仓量加上,然后生成日报
表,是不是有点太夸张了?还是维护一个月结表,生成日
报的时候按月结表来推算?比如生成2002/01/15可以用
2001/12的月报表的仓存量为依据,再加上17天(28号月
结)的进出仓量得到日报表?如果这样的话,月报表又变
得很重要了,如果在那一期月报表的生成过程中出错,那
以后不是都要跟着错?

那位朋友有相关经验的,给点提示吧!
 
呵呵,用一个历史表
每个月的信息都存入历史表
 
1采用并发控制技术,为当一仓储员读取数据时,其他人无法读取数据,只可进行浏览。
 
第一个问题没有好的解决办法,又想马儿跑得快,又想马儿不吃草!
第二个问题,根据另一个话题中我提供的思路,零时处理要有两种方式,通常状况下是自动
进行的,但是在需要的时候还可以人工干预的方式进行。
 
1.出仓问题:像你考虑的这种情况你不必担心,像Oracle这样的数据库系统,内部有事务
处理的机制,你要做的就是告诉它:
a.Begin Transaction
b.Do your operation ...
b.Commit or Rollback the Transaction
2.这个报表问题与实际经验联系最大,期待高人讲解。
 
1.出仓问题:这个问题我刚做数据库的时候也很担心。^_^
2.报表问题:这个问题我和同事探讨了一下,觉得你这个系统应该有出入仓纪录表,
表中记录了每一次出仓或入仓的数据。根据这个表能即时生成某一天的报表,无论是
哪一天。
 
多谢大家的回答
TO:新葵
1、我也知道有进出仓记录表就可以生成日报,但是就同我所说的
那样的计算量会很大的,我的意思是有没有好一点的方法,能
更好的解决?
2、关于那个出仓时的问题你难道只是担心,没有实际的解决过吗?


 
1、无话可说。
2、经过一段时间的思考终于锝出在用友等软件中为啥有“月结”的一项。其实他们也在做这个
问题、结算每个月的库存。到年底就进行年度转为起初余额。那这样要查2002/01/15那只要
起初余额+15日以前发生额就可以处理了。
 
1.出仓问题:我的意思实际不用担心也不用解决。比如,Oracle数据库,它的全称是
数据库管理系统,其内部有自己的管理机制去处理。
2.报表问题:这就看你的权衡了:是效率第一,还是存储空间第一。
效率第一:用历史表的思想处理。
存储空间第一:用我的方法处理。
这里我要说的是,适合你的才是最好的。
 
To sqz:
这样看来我的想法是对路的,不过你有没有想过
如何才能保证月结表不出错呢?如果用户在使用程序
的过程中,比如说现在是2002/07/25,他突然发现在
2002/04/12出仓的一笔数据不对头。他就回头给改了,
那不是麻烦?如何解决呢?
 
说实在的,报表问题,我的方法太慢,现在的磁盘这么便宜,存储又大,最好是
以磁盘空间换效率为好
 
娃娃:“保证月结表不出错”是不可能的,用户在使用时肯定会出现你说的
情况(你是很细心的),我认为比较好的解决办法是:用户修改了四月份数据后,
点击修改或更新按钮时,弹出对话框,提示是否需要重建月结表。
 
TO :新葵
现在可能和你谈的焦点要放在第一个问题上了,我的问题是
我现在用的是ADO二层结构的,我不知道怎么回滚数据,不好意
思,大家可不要笑我,给我点帮助吧。

另外关于报表的事,有同事给出了一点新思路,写出来听听大家
的意思,他说的方法是定义一个系统时间,在这个时间自动生成
日报、月报、年报之类的,不再指定一个生成界面给用户,而是
在用户需要的时候就调出来显示,不知道大家觉得怎么样?
 
报表问题:你同事提的思路不错。
 
ADO处理数据库:
C++语言:
(*pADO_Session->m_pConnectPtr)->BeginTrans();
(*pADO_Session->m_pConnectPtr)->CommitTrans();
(*pADO_Session->m_pConnectPtr)->RollbackTrans();
 
可行性呢?如何?
是否有保证这个程序一直运行呢?
报表需求的随机性呢,如何处理?
 
娃娃:说详细点啊。
今天下午我要办理离开公司的手续,咱们快点结束讨论,好吗?
 
这两天再搞一个管理系统,到了仓存这一块,真是搞的我头都大了!
几个难题:1、出仓问题,现在为了考虑网络数据传输量的问题,采
用的是客户端数据缓冲提交的方法,但是现在如果库
中某类物品还有100,A操作员出了80(未提交),B操
作员又出了60(未提交),一经提交后库存还不乱了
套?如果这样的话是不是还要维护一个当前库存量表?
所有的出仓都在这里读取仓存量,然后再出仓?网络数
据流量问题又如何解决?
答:你可以在服务器端增加一个校验机制,比如用触发器,可以检查如果库存低于某数量的时候就让提交触发一个错误并由前台来处理并显示这个错误.
也就是说只允许第一笔提交的数据(假如是A操作员提交了,在B操作员提交时能过计算发现库存不足,就中止提交.)
2、用进出仓流水帐记录生成日报表的问题,如果现在是
2002/07/14,而现在需要出 2002/01/15的日报表,如何
生成?难道说要以2002/01/15为准,把自2002/01/15以后
所有的进仓量减去,把所有的出仓量加上,然后生成日报
表,是不是有点太夸张了?还是维护一个月结表,生成日
报的时候按月结表来推算?比如生成2002/01/15可以用
2001/12的月报表的仓存量为依据,再加上17天(28号月
结)的进出仓量得到日报表?如果这样的话,月报表又变
得很重要了,如果在那一期月报表的生成过程中出错,那
以后不是都要跟着错?
A:流水账,记录每一笔数据,可能过能后台触发器维护,比如在提交时更新流水账可以基本避免数据不一至的错误;
B:月结:一般一旦月结,数据便不允许修改,如果非常修改,也不是去修改原来的数据,而是以新单据的形式来修改,
至少还可以记录操作员的错误情况和修改记录.同时还可以维护月结数据.

那位朋友有相关经验的,给点提示吧!
 
修改时保存新单这个想法倒是不错啊

我想一下先。
 
后退
顶部