成本管理子系统的.docx
《成本管理子系统的.docx》由会员分享,可在线阅读,更多相关《成本管理子系统的.docx(36页珍藏版)》请在冰豆网上搜索。
![成本管理子系统的.docx](https://file1.bdocx.com/fileroot1/2023-2/4/f8ead358-a17f-4113-ade9-54bd80b7d80a/f8ead358-a17f-4113-ade9-54bd80b7d80a1.gif)
成本管理子系统的
第6章成本管理子系统的文档
6.1概述:
建立和完善现代企业制度的前提,是严格加强企业的成本管理,提高企业成本管理水平,这也是现代企业制度的一项重要标识。
成本作为综合反映企业工作质量的一项重要指标,是推动企业提高经营管理水平的重要杠杆。
企业的一项基本任务,就是要努力降低成本。
企业成本越低,表明企业的经营管理水平越高。
为了达到降低成本的目的,企业必须强化成本管理,搞好成本控制。
成本管理的主要活动就是对成本进行有效控制,提高生产率。
6.2职能层次划分
成本管理职能模块的1-3级结构
成本管理职能1-2级模块的具体划分
06-01-00成本资料管理(见2-3级模块划分)
06-02-00成本初始化管理
06-03-00成本调整管理
06-04-00成本查询管理
成本管理职能2-3级模块的划分
2级3级
06-01-00成本资料管理06-01-01成本中心
06-01-02定额工时
06-01-03约当产量系数
2级3级
06-02-00成本初始化管理06-02-01成本初始化
2级3级
06-03-00成本调整管理06-03-01库存成本调整
06-03-02标准成本调整
2级3级
06-04-00成本查询管理06-04-01库存成本调整查询
06-04-02标准成本查询
06-04-03成本帐查询
6.3业务流程描述
产品销售成本的业务流程图:
(为例)
6.4各子业务描述
6.4.1成本中心:
在成本中心设置成本中心编码,对应名称以及相应说明,然后选择在费用科目表中选择费用科目,选择科目方向,费用类型等。
6.4.2定额工时:
输入货位代码,显示相应货位名称,根据货位代码和名称显示在此货位的产品编码,计量单位,定额工时,然后输入相应信息。
6.4.3约当系数:
输入工序编码,可以添加产品编码以及约当系数。
6.4.4制造成本:
由成本中心、定额工时、约当系数产生的信息汇总到制造成本产生制造成本。
6.4.5成本调整:
对已产生的成本进行调整。
6.5应用构件描述
成本子系统业务库分析
1.1子系统功能界面
1.
1.1子系统各功能模块分析
[成本资料]——成本中心
实例图
SQL语句
主界面:
select*fromsdCc(成本)
科目查询:
select*fromsdGlkm(属于财务,点击费用科目时触发)
表结构
createtabledbo.sdCc(
CcCodevarchar(18)notnull,
CcNamevarchar(20)notnull,
CcDescvarchar(40)notnull,
CcGlKm(费用科目)varchar(18)notnull,
CcKmDirintnotnull,
CcTypetinyintnotnull,
CcUservarchar(18)notnull,
CcCanceltinyintnotnull,
CcCancelDatevarchar(18)null,
CcSysDatevarchar(18)null,
constraintPK_sdCcprimarykey(CcCode)
)
说明
单表
[成本资料]——定额工时
实例图
SQL语句
主表:
货位编码:
select*fromsdLg(货位物料资料表,库存)orderbylgLocCode
货位名称:
selectlocNamefromsdloc(库存)wherelocCode=sdLg.lgLocCode
从表(主表是货位编码)select*fromsdRwt(产品定额工时表,成本)
"计量单位"来源:
sdUnit(基础资料)由物料查询返回值为参数,查询sdUnit.
"产品名称"来源:
由物料查询返回值。
物料查询:
SELECTgoodscode,goodsname,goodsunitcodeFROMsdGoods(库存),sdlgwhere(goodstype='1'orgoodstype='2')andGOODSCODE=LGGOODSCODEandLGLOCCODE='HW001'(主表的货位编码字段)orderbygoodscode
表结构
createtabledbo.sdRwt(
RwtGoodsvarchar(18)notnull,
RwtLocvarchar(18)notnull,
RwtUnitvarchar(18)notnull,
RwtTimedecimal(12,4)notnull,
RwtEdatedatetimenull,
RwtIdatedatetimenull,
RwtUservarchar(18)notnull,
constraintPK_sdRwtprimarykey(RwtGoods,RwtLoc)
)
说明
SdLoc的LocCode与sdRwt中的RwtLoc关联。
这里sdLoc是主表,sdRwt是从表。
货物的名称又是通过sdGoods中查询得到。
查询是通过sdRwt的RwtGoods获得的。
RwtGoods是货物编码。
sdLoc和sdLg的关系:
sdLoc的LocCode与sdLg的LgLocCode相匹配就可以得到获取查询中可以有的货物代码。
[成本资料]——约当系数
实例图
SQL语句
主表:
select*fromsdProcess(工序编码,工序名称,生产)
从表:
select*fromsdEqucwhereEQUCPROCESS='1001000'OrderbyEqucGoods,EqucProcess(由主表,传入工序编码EqucProcess,成本)
(从表)产品名称来源:
由物料查询确定.
产品编码,产品名称:
由物料查询填入
“所有物料”来源:
SELECTPmpcCode,PmpcName,PmpcLevel,PmpcEnd
FROMsdPmpc(库存)
ORDERBYPmpcCode,PmpcLevel
原材料:
SELECT*
FROMsdGoods(库存)
WHERE(GoodsType='1')OR
(GoodsType='2')AND(GoodsCodeLIKE'001%')OR
(GoodsType='2')AND(GoodsPmpcCodeLIKE'001%')
ORDERBYGoodsPmpcCode,GoodsType,GoodsCode
产成品:
select*
fromsdgoods
wheregoodstype='1'orgoodstype='2'and
(goodscodelike'002%'orGoodsPmpcCodelike'002%')
orderbyGoodsPmpcCode,GoodsType,GoodsCode
半成品:
select*
fromsdgoods
wheregoodstype='1'orgoodstype='2'and
(goodscodelike'003%'orGoodsPmpcCodelike'003%')
orderbyGoodsPmpcCode,GoodsType,GoodsCode
测试类:
select*
fromsdgoods
wheregoodstype='1'orgoodstype='2'and
(goodscodelike'004%'orGoodsPmpcCodelike'004%')
orderbyGoodsPmpcCode,GoodsType,GoodsCode
表结构
createtabledbo.sdEquc(
EqucGoodsvarchar(18)notnull,
EqucProcessvarchar(18)notnull,
EqucValuedecimal(12,6)notnull,
EqucUservarchar(18)notnull,
EqucSysDatedatetimenull,
constraintPK_sdEqucprimarykey(EqucGoods,EqucProcess)
)
说明
产品编码的选择与工序编号没有直接的关系,sdProcess是主表,sdEquc是从表。
SdProcess中ProcessLoc是货仓代码,需要通过sdLoc查询。
[成本初始化]——成本初始化
实例图
SQL语句
成本初始化,左侧界面:
SELECTPmpcCode,PmpcName,PmpcLevel
FROMsdPmpc(库存)
ORDERBYPmpcCode,PmpcLevel
select*froma0302wherea030201='1080201'//它的结果可以提供下面的语句
select*froma0303wherea030301=''1080201''anda030302=1orderbya030314
//下面查询语句的结果为右边的框中对应的数据
selecttop0
cdfmonth,cdgoods,cdgoodsname=goodsname,CdpmpcCode=goodspmpcCode,cdBopprice,cdBopqty=stockbopqty,cdbopamt,CdInitFlgFROMSdcd,sdgoods,sdstock
表结构
createtabledbo.sdCd(
CdFmonthvarchar(6)notnull,
CdGoodsvarchar(18)notnull,
CdBoyPricedecimal(12,4)notnull,
CdBoyQtydecimal(12,4)notnull,
CdBoyAmtdecimal(12,2)notnull,
CdBopPricedecimal(12,4)notnull,
CdBopQtydecimal(12,4)notnull,
CdBopAmtdecimal(12,2)notnull,
CdIopQtydecimal(12,4)notnull,
CdIopAmtdecimal(12,2)notnull,
CdSopQtydecimal(12,4)notnull,
CdSopAmtdecimal(12,2)notnull,
CdIoyQtydecimal(12,4)notnull,
CdIoyAmtdecimal(12,2)notnull,
CdSoyQtydecimal(12,4)notnull,
CdSoyAmtdecimal(12,2)notnull,
CdPopPricedecimal(12,4)notnull,
CdNopPricedecimal(12,4)notnull,
CdNopQtydecimal(12,4)notnull,
CdNopAmtdecimal(12,2)notnull,
CdFopPricedecimal(12,4)notnull,
CdFopQtydecimal(12,4)notnull,
CdFopAmtdecimal(12,2)notnull,
CdInitFlgtinyintnotnull,
CdClosetinyintnotnull,
constraintPK_sdCdprimarykey(CdFmonth,CdGoods)
)
说明
这个界面的使用上,不能往里添数据,无法实现其功能。
财务月份所在框中的内容不能操作。
Sdcd,sdgoods,sdstock比较重要。
Sdgodds.和sdstock在前面已经定义,这里就不再列出
[成本调整]——标准成本调整
实例图
从表编辑及物料查询
SQL语句
主表select *fromsdScmbh(标准成本更改单,库存)
从表select*fromsdScmbd(表针成本更改明细单,库存);
SELECT* FROMsdScmbd WHEREEXISTS (SELECT* FROMsdScmbh WHEREScmbhCode=ScmbdCode) ORDERBYScmbdGoods,ScmbdCode
物料编码由物流查询得来。
物料查询:
SELECTsdGoods.GoodsCode,sdGoods.GoodsName,sdGoods.GoodsUnitCode,sdScd.ScdCost
FROMsdGoodsINNERJOIN
sdScd(老成本)ONsdGoods.GoodsCode=sdScd.ScdGoods
表结构
//主表
createtabledbo.sdScmbh(
ScmbhCodevarchar(18)notnull,
ScmbhDatevarchar(10)null,
ScmbhFmonthvarchar(6)notnull,
ScmbhChecktinyintnotnull,
ScmbhCheckervarchar(18)notnull,
ScmbhCheckDatevarchar(10)null,
ScmbhUservarchar(18)notnull,
ScmbhDescvarchar(255)notnull,
ScmbhSysDatevarchar(10)null,
constraintPK_sdScmbhprimarykey(ScmbhCode)
)
//从表
createtabledbo.sdScmbd(
ScmbdCodevarchar(18)notnull,
ScmbdGoodsvarchar(18)notnull,
ScmbdLineintnotnull,
ScmbdOCostdecimal(12,4)notnull,
ScmbdNCostdecimal(12,4)notnull,
ScmbdDescvarchar(40)notnull,
constraintPK_sdScmbdprimarykey(ScmbdCode,ScmbdGoods)
)
说明
主从表:
主表sdScmbh,从表:
sdScmbd
其余的表为其中的字段提供信息。
[成本调整]——库存成本调整
实例图
SQL语句
主表:
select*fromsdAdjCoh(库存调整单,成本)
从表:
SELECT*FROMsdAdjCod(库存调整单明细,参数AdjCohCode,成本)
财务月份:
SELECTFcmonthFROMsdFc(财务月份,基础资料)
收发类型:
SELECTPosTypeName,PosTypeCodeFROMsdPosType(库存收发类型,库存)WHERE(PosTypeFlg=6)
从表中的"批号":
SELECTBatchCode(批次资料,库存)FROMsdBatch
表结构
//主表
createtabledbo.sdAdjCoh(
AdjCohCodevarchar(18)notnull,
AdjCohDatevarchar(10)null,
AdjCohFmonthvarchar(6)notnull,
AdjCohPosTypevarchar(18)notnull,
AdjCohDescvarchar(40)notnull,
AdjCohKeepervarchar(18)notnull,
AdjCohUservarchar(18)notnull,
AdjCohChecktinyintnotnull,
AdjCohCheckervarchar(18)notnull,
AdjCohCheckDatevarchar(10)null,
AdjCohPosttinyintnotnull,
AdjCohPostervarchar(18)notnull,
AdjCohPostDatevarchar(10)null,
AdjCohSysDatevarchar(10)null,
constraintPK_sdAdjCohprimarykey(AdjCohCode)
)
//从表
createtabledbo.sdAdjCod(
AdjCodCodevarchar(18)notnull,
AdjCodLineintnotnull,
AdjCodGoodsvarchar(18)notnull,
AdjCodAmtdecimal(12,2)notnull,
AdjCodBatchvarchar(18)notnull,
AdjCodDescvarchar(40)notnull,
constraintPK_sdAdjCodprimarykey(AdjCodCode,AdjCodGoods)
)
说明
主从表关系:
主表sdAdjCoh从表sdAdjCod
[成本查询]——标准成本调整查询
实例图
SQL语句
//查询:
selectFormQueryField,FormQueryDesc,FormQueryType,FormQueryBtn,FormQueryWherefromsdFormQuerywhereFormQueryName='frmQu_Scmbh'orderbyFormQueryLine
//结果
selectdistinctScmbhCode,ScmbhDate,ScmbhFmonth,ScmbhDesc,ScmbhOCost,ScmbhNCost,ScmbhCheck,ScmbhUser,ScmbhChecker,ScmbhSysDatefromsdVW_ScmbhwhereScmbhCheck=1orderbyScmbhCODE
表结构
//视图结果
createviewdbo.sdVW_Scmbh(ScmbhCode,ScmbhDate,ScmbhFmonth,ScmbhDesc,ScmbhOCost,ScmbhNCost,ScmbhCheck,ScmbhUser,ScmbhChecker,ScmbhSysDate,scmbdgoods)as
SELECTScmbhCode,
ScmbhDate,
ScmbhFmonth,
ScmbhDesc,
ScmbhOCost=ISNULL((SELECTSUM(ScmbdOCost)FROMsdScmbdWHEREScmbdCODE=ScmbhCODE),0),
ScmbhNCost=ISNULL((SELECTSUM(ScmbdNCost)FROMsdScmbdWHEREScmbdCODE=ScmbhCODE),0),
ScmbhCheck,
ScmbhUser,
ScmbhChecker,ScmbhSysDate=convert(varchar,ScmbhSysDate),
scmbdgoods
FROMsdScmbh,sdscmbd
wherescmbhcode=scmbdcode
说明
来自于视图
视图中的表sdScmbh,sdscmbd来自于Inventory。
[成本查询]——库存成本调整查询
实例图
SQL语句
//查询时对话框
selectFormQueryField,FormQueryDesc,FormQueryType,FormQueryBtn,FormQueryWherefromsdFormQuerywhereFormQueryName='frmQu_AdjCoh'orderbyFormQueryLine
//选择收发类型
selectPOSTYPECODE,POSTYPENAMEfromsdPosType
//查询结果
selectdistinctAdjCohCode,AdjCohDate,AdjCohFmonth,postypename,AdjCohDesc,AdjCohAmt,AdjCohKeeper,AdjCohCheck,AdjCohPost,AdjCohUser,AdjCohChecker,AdjCohPoster,AdjCohSysDatefromsdVW_AdjCohorderbyADJCOHCODE
表结构
//查询结果来自于一个视图
createviewdbo.sdVW_AdjCoh(AdjCohCode,AdjCohDate,AdjCohFmonth,postypename,AdjCohDesc,AdjCohAmt,AdjCohKeeper,AdjCohCheck,AdjCohPost,AdjCohUser,AdjCohChecker,AdjCohPoster,AdjCohSysDate,adjcodgoods,ADJCOHPOSTYPE)as
SELECTAdjCohCode,
AdjCohDate,
AdjCohFmonth,
postypename=ISNULL((SELECTpostypenameFROMsdpostypeWHEREpostypecode=AdjCohPosType),0),
AdjCohDesc,
AdjCohAmt=ISNULL((SELECTSUM(AdjcodAMT)FROMSDadjcodWHEREadjcodCODE=adjcohCODE),0),
AdjCohKeeper,
AdjCohCheck,
AdjCohPost,
AdjCohUser,
AdjCohChecker,
AdjCohPoster,
AdjCohSysDate=convert(varchar,AdjCohSysDate),
adjcodgoods,
ADJCOHPOSTYPE
FROMsdAdjCoh,sdadjCod