进销存的数据组织问题 (100分)

  • 主题发起人 主题发起人 lssgj
  • 开始时间 开始时间
前不久刚完成一套小的系统,对于你的数据结构,有两点我要说

1。把进库和出库并入到一个表,入库时,入出库编号相同,这不需要管,出库时,填入库批号,后面大有用处

2。增加一个入出库的标志位,I,O取值。数量只需要一个,进时数量为正,出时数量为负

若需多个点,则再增加一个门市部编号,进入库时,一般为总公司入库,出库时,为分公司出库。要看你站在什么立场,
分公司从总公司领用算总公司的出库,分公司的入库,分公司销售时算分公司的出库,这点我还没仔细考虑。

数据结构

总公司入库时
入出库编号相同,数量为正,标志为I(in)。

分公司领用时(相对总公司来说是总公司的出库)
出库编号新编,入库编号为总公司的入库编号,数量为负,标志为I

分公司销售时
出库编号新编,入库编号为分公司的出库编号,数量为负,标志为O


这样就区分了四种关系,组合起来就是两种进,两种出

统计报表

总公司入库清单,所有标志为I,部门为总公司
总公司出库清单,即分公司入库清单
分公司入库清单,所有标志为I,部门为分公司
分公司销售清单,所有标志为O,部门为分公司

下面是最关键的地方

总公司某物品库存,根据出库编号为指定入库编号的记录Join,再过滤物品,求和,就会得到部分记录,此为指定入库编号的剩余
比如进了一批电脑,显卡200个,显卡分三次各出了50,三次出库编号不同,但入库编号相同,得出此批入库有50显示余

总公司总库存,同上,全部清单,不过滤物品
比如进了3号200显卡,100机箱,10号200显卡,100键盘,20号100显示,可得出3号剩30机箱,20号剩50显卡

分公司报表与总公司同,仅需过滤不同部门

分析尚有缺陷,望各位多提意见

本系统是我为某公司做的,半夜写到两点,不写下来的话,一觉过后就记得了
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部