商业物流支持手册.docx
《商业物流支持手册.docx》由会员分享,可在线阅读,更多相关《商业物流支持手册.docx(149页珍藏版)》请在冰豆网上搜索。
商业物流支持手册
商业物流系统原理及数据结构分析
商业物流系统原理及数据结构分析
1.基础资料
1.01客户资料
1、处理流程:
客户资料存放在基础资料表t_Item和客户资料表t_Organization中。
新增客户资料时,系统先从种子表t_identity取得t_Item的FitemID内码,保存时,系统分别往基础资料表t_Item、客户资料表t_Organization、基础资料权限表t_ItemRight、基础资料相关属性表t_BaseProperty四个表中插入数据。
在t_Item中,其中fitemclassid=1表示是客户数据,Fdetail=1表示明细项目,Fdetail=0表示非明细用于项目分组,Flevel表示项目的级数,FparentID表示父级代码(只有一级项目的FParentID=0,多级的FParentID等于其上级的fitemid值)。
在t_Item中Fdetail=1且FItemClassID=1的记录才会匹配t_Organization里。
2、相关的数据结构:
主表1:
t_Item(基础资料表):
FItemClassID=1为客户数据
字段名
类型
描述
说明
FItemID
INTEGER
项目内码
来源种子表t_identity中Fname=t_Item的记录的FNext字段值
FItemClassID
INTEGER
类别内码
FItemClassID=1为客户数据
FNumber
STRING
项目编码
手工录入
FName
STRING
项目名称
手工录入
FParentID
INTEGER
上级项目内码
只有一级项目的FParentID=0,多级的FParentID等于其上级的fitemid值
FLevel
INTEGER
项目级别
表明项目的级次
FDetail
INTEGER
是否明细
Fdetail=1是明细,Fdetail=0是非明细
FUnUsed
INTEGER
是否未使用
0为使用,1为未使用
FBrNo
STRING
公司代码
与t_SystemProfile表中FCategory=’com’且FKey=’BrID’的Fvalue值相等
FDeleted
INTEGER
是否禁用
0为未禁用,1为禁用
FFullNumber
STRING
项目长编码
系统自动产生
FShortNumber
STRING
项目短编码
系统自动产生
FFullName
STRING
项目全名
系统自动产生
主表2:
t_Organization(客户资料表):
在表t_Item的Fdetail=1且FItemClassID=1的记录才会匹配到t_Organization里。
字段名
类型
描述
说明
FItemID
INTEGER
客户内码
与t_Item表的Fdetail=1且FItemClassID=1的记录的FItemID值相对应
FParentID
INTEGER
上级项目内码
系统自动产生
FBrNo
STRING
公司代码
与t_SystemProfile表中FCategory=’com’且FKey=’BrID’的Fvalue值相等
FStatus
INTEGER
状态
1072为使用,1073为未使,1074为冻结
FARAccountID
INTEGER
应收账款科目内码
手工录入,对应t_Account表中应收账款科目的FaccountID字段值
FpreAcctID
INTEGER
预收账款科目内码
手工录入,对应t_Account表中预收账款科目的FaccountID字段值
FCreditLimit
STRING
信用额度
手工录入
FDeleted
INTEGER
是否禁用
0为正常使用,1为禁用
FDepartment
INTEGER
分管部门
来源于t_Item表中FitemClassID=2且Fdetail=1的记录的FItemID字段值
FEmployee
INTEGER
专营业务员
来源于t_Item表中FitemClassID=3且Fdetail=1的记录的FItemID字段值
FlastReceiveDate
DATETIME
最后收款日期
应收系统最后一笔收款单上提取的单据日期
FlastRPAmount
FLOAT
最后收款金额
应收系统最后一笔收款单上提取的金额
FlastTradeDate
DATETIME
最后交易日期
应收系统最后一笔销售发票上提取的开票日期
FlastTradeAmount
FLOAT
最后交易金额
应收系统最后一笔销售发票上提取的金额
FStockIDAssign
INTEGER
委托代销仓内码
与t_Item表中FitemClassID=5且Fdetail=1的记录的FItemID值相对应
FStockIDInst
INTEGER
分期收款仓内码
与t_Item表中FitemClassID=5且Fdetail=1的记录的FItemID值相对应
FStockIDKeep
INTEGER
代管物资仓内码
与t_Item表中FitemClassID=5且Fdetail=1的记录的FItemID值相对应
……
……
……
……
3、相关说明:
客户管理不仅是销售管理的重要组成部分,同时也是应收款管理、信用管理、价格管理所不可或缺的基本要素,因此应对客户资料的设置给予高度重视。
客户资料信息分为基本资料标签页和应收资料标签页,基本资料标签页主要保存客户的一些基本信息,如名称、地址等;应收资料标签页保存的客户资料主要是在应收系统中需要使用到的一些客户信息;在应收资料中如果输入了对应的分管部门和专营业务员后,在录入单据时,当录入了此客户后,系统会把对应的部门和职员都给带出,为录入单据提供方便;在应收资料中的最后交易日期、最后交易金额是系统从最后一笔销售发票上提取的数据,且只能从应收系统录入的其他应收单或销售发票上提取,从物流传入的销售发票不会更新此数据;最后收款日期、最后收款金额是系统从最后一笔收款单上提取的数据。
在t_Organization表中,所有的记录都是最明细客户的记录,各个字段的含义可以参考t_FieldDescription表中FTableID字段值为46的所有记录信息,需要注意Fstatus这个字段,一般此字段的值为1072,如果某个客户的记录不是这个值,那么在录入单据按F7选取客户时,此客户的记录就不能显示出来。
t_Item和t_Organization两表是依据FitemID的值进行关联的,且t_Organization表中的记录数与t_Item表中FItemClassID字段值为1、FDetail字段值为1的记录数相等。
1.02商品资料
1、处理流程:
商品资料存放在基础资料表t_Item和商品资料表com_Item中。
新增商品资料时,系统先从种子表t_identity取得基础资料表t_Item的FitemID内码,保存时,系统分别往基础资料表t_Item、商品资料表com_Item、基础资料权限表t_ItemRight、基础资料相关属性表t_BaseProperty四个表中插入数据。
在t_Item中,其中fitemclassid=4表示是客户数据,Fdetail=1表示明细项目,Fdetail=0表示非明细用于项目分组,Flevel表示项目的级数,FparentID表示父级代码(只有一级项目的FParentID=0,多级的FParentID等于其上级的fitemid值)。
在t_Item中Fdetail=1且FItemClassID=4的记录才会匹配com_Item里。
2、相关的数据结构:
主表1:
t_Item(基础资料表):
FItemClassID=4为商品数据(见客户资料主表1)
主表2:
com_Item(商品资料表):
在表t_Item的Fdetail=1且FItemClassID=4的记录才会匹配到com_Item里。
字段名
类型
描述
说明
FItemID
INTEGER
客户ID
来源于t_Item表中Fdetail=1且FItemClassID=4的记录的FItemID字段值
FtypeID
INTEGER
商品类别ID
与辅助资料中的商品类别相对应,即与com_Systype表中FClassid=504的记录的FSysTypeID值相对应
FauxClassID
INTEGER
辅助属性ID
来源于COM_ItemAuxProp表的FAuxPropID字段值
FunitGroupID
INTEGER
计量单位组ID
来源于t_UnitGroup表中的FUnitGroupID字段值
FbaseUnitID
INTEGER
默认计量单位ID
来源于t_MeasureUnit表中的FMeasureUnitID字段值
FminStock
FLOAT
最低存量
进行商品存量管理时,系统就取此数据与当前数据进行比较
FmaxStock
FLOAT
最高存量
进行商品存量管理时,系统就取此数据与当前数据进行比较
FinPrice
FLOAT
参考进价
有循环调拨时,系统就是先取此数据
FoutPrice
FLOAT
参考售价
做单据时,系统如果取不到特价或基本价,则就取此数据
Ftrack
INTEGER
计价方法
1为加权平均,2为移动平均,3为先进先出,4为后进先出,5为分批认定
FKeep
INTEGER
是否保质期管理
0为不需要保质期管理,1为需要保质期管理
FstockTime
INTEGER
是否库龄管理
0为不需要库龄管理,1为需要库龄管理
FBatch
INTEGER
是否批次管理
0为不进行批次管理,1为进行批次管理
FdefStockID
INTEGER
默认仓位ID
设置了此数据后,在做出入库单据时系统能自动带出默认仓库
FpriceScale
INTEGER
单价小数位数
手工录入
FqtyScale
INTEGER
数量小数位数
手工录入
FStockAcctID
INTEGER
库存商品科目ID
来源于t_Account表中库存商品科目内码,初始余额传入总帐系统时的依据
FsaleAcctID
INTEGER
销售收入科目ID
手工录入,与t_Account表中销售收入科目的FaccountID字段值相对应
FCOGSAcctID
INTEGER
销售成本科目ID
手工录入,与t_Account表中销售成本科目的FaccountID字段值相对应
FtaxRate
INTEGER
税率
手工录入,每个商品都可以有不同的税率
FIsBOM
INTEGER
是否组合件
1为是组合件,做组合出入库时才能选此商品
FisReplace
INTEGER
是否可替代商品
0为不可替代,1为可替代
FReplaceClassID
INTEGER
可替代类别
来源于com_Systype表中FClassid=480的记录的FSysTypeID字段值
……
……
……
……
3、相关说明:
商品资料主要是标识和描述每个商品及其详细信息,并对商品进行集中、分级管理。
商品资料涉及到的数据表有两个,表名分别为t_Item和COM_Item。
在t_Item表中,字段FitemClassID值为4的所有记录,都表示为商品资料的记录,此表中只记录了商品资料的一些信息,如商品内码,商品代码,商品长代码,商品短代码,商品名称,商品全名,级别,是否明细,父级代码,是否使用,是否删除等;在COM_Item中,所有的记录都是最明细商品的记录,各个字段的含义可以参考字段描述表t_FieldDescription表中FTableID字段值为1502的所有记录信息;t_Item和COM_Item两表是依据FitemID的值进行关联的,且COM_Item表中的记录与t_Item表中FItemClassID字段值为4、FDetail字段值为1的记录数相等,如果两表不符合上面的关系,进行初始化录入数据时可能会出错,在以后的例题中将会讲到。
1.03仓库资料
1、处理流程:
仓库资料存放在基础资料表t_Item和仓库资料表com_Stock中。
新增仓库资料时,系统先从种子表t_identity取得基础资料表t_Item的FitemID内码,保存时,系统分别往基础资料表t_Item、仓库资料表com_Stock、基础资料权限表t_ItemRight、基础资料相关属性表t_BaseProperty四个表中插入数据。
在t_Item中,其中fitemclassid=5表示是客户数据,Fdetail=1表示明细项目,Fdetail=0表示非明细用于项目分组,Flevel表示项目的级数,FparentID表示父级代码(只有一级项目的FParentID=0,多级的FParentID等于其上级的fitemid值)。
在t_Item中Fdetail=1且FItemClassID=5的记录才会匹配com_Stock里。
2、相关的数据结构:
主表1:
t_Item(基础资料表):
FItemClassID=5为仓库数据(见客户资料主表1)
主表2:
com_Stock(仓库资料表):
在表t_Item的Fdetail=1且FItemClassID=5的记录才会匹配到com_Stock里。
字段名
类型
描述
说明
FItemID
INTEGER
仓位ID
与t_Item表的Fdetail=1且FItemClassID=5的记录的FItemID值相对应
FtypeID
INTEGER
仓位类别ID
仓库的类型,即普通仓、委托代销仓等类型,下面会详细说明,与com_Systype表中FClassid=505的记录的FSysTypeID值相对应
FBr
INTEGER
分支机构信息
与t_SystemProfile表中FCategory=’com’且FKey=’BrID’的Fvalue值相等
FGroupID
INTEGER
仓位组ID
3、相关说明:
仓库分为很多种类型,分别为普通仓位、锁库、其它、委托代销仓、分期收款仓、受托代销仓,分期收款仓和零售仓。
仓库又有实仓和虚仓之分。
其中普通仓位,受托代销仓、锁库和其它这四种类型的仓库为实仓;委托代销仓、分期收款仓,分期收款仓这四种类型的仓库为虚仓;至于零售仓,这是为“售价数量核算法”成本计算方法而设计的仓库类型。
仓库资料涉及到的数据表有两个,表名分别为t_Item和COM_Stock。
在t_Item表中,字段FitemClassID值为5的所有记录,都表示为仓库资料的记录;在COM_Stock表中,所有的记录都是最明细仓库的记录,这个表中的字段比较简单,主要的是FTypeID字段,它表示的是仓库的类型(值为11表示是普通仓位,12为委托代销仓,13为受托代销仓,14为分期收款仓,15为锁库,16为代管物资仓库,17为其它仓,18为零售仓)。
t_Item和COM_Stock两表是依据FitemID的值进行关联的,且COM_Stock表中的记录与t_Item表中FItemClassID字段值为5、FDetail字段值为1的记录数相等。
1.04供应商资料
1、处理流程:
供应商资料存放在基础资料表t_Item和供应商资料表COM_Supplier中
新增供应商资料时,系统先从种子表t_identity取得基础资料表t_Item的FitemID内码,保存时,系统分别往基础资料表t_Item、供应商资料表COM_Supplier、基础资料权限表t_ItemRight、基础资料相关属性表t_BaseProperty四个表中插入数据。
在t_Item中,其中fitemclassid=8表示是客户数据,Fdetail=1表示明细项目,Fdetail=0表示非明细用于项目分组,Flevel表示项目的级数,FparentID表示父级代码(只有一级项目的FParentID=0,多级的FParentID等于其上级的fitemid值)。
在t_Item中Fdetail=1且FItemClassID=8的记录才会匹配COM_Supplier里。
2、相关的数据结构:
主表1:
t_Item(基础资料表):
FItemClassID=8为仓库数据(见客户资料主表1)
主表2:
COM_Supplier(供应商资料表):
在表t_Item的Fdetail=1且FItemClassID=8的记录才会匹配到t_Supplier里。
字段名
类型
描述
说明
FItemID
INTEGER
供应商内码
与t_Item表的Fdetail=1且FItemClassID=1的记录的FItemID值相对应
FParentID
INTEGER
上级项目内码
系统自动产生
FBrNo
STRING
分公司代码
与t_SystemProfile表中FCategory=’com’且FKey=’BrID’的Fvalue值相等
FStatus
INTEGER
状态
1072为使用,1073为未使,1074为冻结
FAPAccountID
INTEGER
应付账款科目代码
手工录入
FPreAcctID
INTEGER
预收账款科目代码
手工录入
FCreditAmount
FLOAT
信用金额
手工录入
FCreditDays
INTEGER
信用期限
手工录入
FStockIDAssignee
INTEGER
受托代销仓内码
与t_Item表中FitemClassID=5且Fdetail=1的记录的FItemID值相对应
FLicAndPermit
INTEGER
是否需要证照管理
0为不需要,1为需要
FAlarmPeriod
INTEGER
预警提前期
手工录入
FDepartment
INTEGER
分管部门
来源于t_Item表中FitemClassID=2且Fdetail=1的记录的FItemID字段值
FEmployee
INTEGER
专营业务员
来源于t_Item表中FitemClassID=3且Fdetail=1的记录的FItemID字段值
FlastReceiveDate
DATETIME
最后付款日期
应付系统最后一笔付款单上提取的单据日期
FlastRPAmount
FLOAT
最后付款金额
应付系统最后一笔付款单上提取的金额
FlastTradeDate
DATETIME
最后交易日期
应付系统最后一笔采购发票上提取的开票日期
FlastTradeAmount
FLOAT
最后交易金额
应付系统最后一笔采购单据上提取的金额
……
……
……
……
3、相关说明:
供应商资料主要是标识和描述每个供应商及其详细信息,并对供应商进行集中、分级管理。
供应商资料信息分基本资料与应付资料两个标签页。
基本资料标签页主要用户保存供应商的一些基本信息,如名称、地址等;应付资料标签页保存的是在应付系统中需要使用到的一些供应商信息。
供应商资料涉及到的数据表有两个,表名分别为t_Item和COM_Supplier。
在t_Item表中,字段FitemClassID值为8的所有记录,都表示为供应商资料的记录;在COM_Supplier表中,所有的记录都是最明细供应商的记录,各个字段的含义可以参考字段描述表t_FieldDescription表中FTableID字段值为1507的所有记录信息,需要注意一下Fstatus这个字段,一般此字段的值为1072,如果某个供应不是这个值,在录入单据按F7选供应商时,此供应商的记录就不能显示出来;t_Item和COM_Supplier两表是依据FitemID的值进行关联的,且COM_Supplier表中的记录与t_Item表中FItemClassID字段值为8、FDetail字段值为1的记录数相等。
1.05商品辅助属性
1、处理流程:
一、增加基本类别和基本类别具体记录
新增商品辅助属性基本类别时,系统先取种子表t_identity中Fname=t_ItemClass的记录的FNext字段值的值做为核算项目类别表t_ItemClass的FitemClassID字段的值。
在保存数据时,系统先检查在t_ItemClass表中是否存在与录入的代码和名称相同的数据存在,如果存在,则给出提示,如果不存在,则在t_ItemClass表中插入一条记录;然后在核算项目横表t_ItemDetail中增加一列,列名为“F”+“FitemClassID的值”;再新建一个表,表名为t_Item_“FitemClassID的值”,最后还会在核算项目附表信息描述表t_ItemPropDesc表中插入一条或几条记录(记录数取决于新增的基本类别有多少个自定义属性)。
举例说明:
新增一个“颜色”的基本类别时辅助属性,在这个基本类别中只有一个自定义属性,系统先取种子表t_identity中Fname=t_ItemClass的记录的FNext字段值的值做为核算项目类别表t_ItemClass的FitemClassID字段的值,假设为3004;然后在t_ItemClass表中增加一条记录,其FType字段为值为3,FitemClassID字段的值为3004;然后系统在核算项目横表t_ItemDetail中增加一列,列名为F3004;然后新建一个t_Item_3004的表;最后在t_ItemPropDesc表中增加FitemClassID字段值为3004的记录。
新增基本类别的具体记录时,系统先取种子表t_identity中Fname=t_Item的记录的FNext字段值的值做为基础资料表t_Item的FitemID字段的值。
在保存数据时,系统先检查在t_Item表中是否存在与录入的代码和名称相同的数据存在,如果存在,则给出提示,如果不存在,则分别在t_Item表和t_Item_“FitemClassID的值”表中插入记录。
二、增加组合类别和组合类别具体记录
新增组合类别和新增基本类别大部分是一致的,只不过插入t_ItemClass表中的Fype字段为值为4;主要的区别在于新增组合类别具体记录时,有一些区别,例如:
当再新增“颜色加尺寸”组合类别的具体记录时,如“黑色14英寸”(其中黑色表示“颜色”基本类别的值,“14英寸”表示“尺寸”基本类别的值)这条记录,系统先分别检查“颜色”和“尺寸”基本类别中没有“黑色”和“14英寸”的记录,如果哪条记录没有,则系统会自动在哪个类别里增加这条记录,即在t_Item表中增加记录,然后再在t_Item表中增加一条FName值为“黑色14英寸”的组合类别的记录。
三、商品怎样对应辅助属性类别
当某个商品选择了对应的辅助属性类别后,系统更新商品表com_Item表中的FauxClassID字段的值为t_ItemClass表中的FItemClassID字段相应的值,在基础资料的商品管理中,商品就可以对应这个辅助属性类别中的所有记录,对应完后进行保存时,系统会往COM_ItemAuxProp表中记录插入相应的辅助属性类别具体记录的内码,即t_Item表中相应的FItemID字段的值;在录入单据时,就可以按F7键选择