《会计信息化实验指导书_存货子系统eohf.docx》由会员分享,可在线阅读,更多相关《会计信息化实验指导书_存货子系统eohf.docx(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、会计信息化库存管理存货核算系统实验指导书会计学院会计信息化系2005年8月目 录 实验一 存货子系统业务流程分析1实验二 存货子系统数据处理流程分析1实验三 存货子系统功能分析2实验四 存货子系统数据字典及数据库设计2实验五 建立存货子系统数据库3实验六 存货子系统基本窗口设计4实验七 存货子系统软件编程码表处理44实验八 存货子系统软件编程单表处理47实验九 存货子系统软件编程导入导出处理53实验一 库存管理存货核算系统业务流程分析实验目的:分析库存管理存货核算系统的业务流程,画出存货子系统业务流程图。实验环境:安装Windows操作系统、Word软件、Visio软件等。实验方式:分组进行。
2、上机机时: 2机时实验内容:1、库存管理存货核算系统业务流程描述。为了深入了解存货核算与管理的特点,我们首先分析手工条件下存货核算与管理的业务处理流程,掌握存货出库、入库、期末结账、对账以及管理分析的过程。存货包括原材料、包装物、低值易耗品、自制半成品、产成品等。在手工条件下,当存货到达企业并办理入库手续后,除了仓库保管员要登记存货数量账外,财会部门也要根据各种凭单(如入库单、验收报告等)登记存货明细账,反映存货增加等经济业务;当各个部门领用存货时(如生产车间领用材料用于生产、销售部门领用产品用于销售),仓库保管员又要登记存货数量账,财会部门又要根据各种凭单(如入库单等)登记存货明细账,反映存
3、货减少等经济业务;定期编制记账凭证传递到总账子系统,登记总账。此外,还要及时为管理提供各种存货报告,如存货状态报告、ABC存货成本分析报告、超储积压存货分析报告等。下面我们对入库流程、出库流程以及期末结账和管理分析流程进行分析。(1)存货核算与管理入库流程分析当采购部门或者供应商将存货送入仓库,生产部门或者物流部门将生产的产成品送入仓库,入库业务便开始进行了。 仓库保管员依据采购订单和计划入库安排,检查供应商送货及时性,根据事先设定的送货接收标准,判定是否收货。 如果可以收货,仓库保管员编制收货凭证,并将收货凭证和质检抽样存货移入质检部门,进行抽样检验。 如果质检合格,将质检合格存货退返仓库,
4、进行库存移库操作,并编制验收报告。 将验收报告传递给仓库和财务部门。 仓库保管员根据验收报告和收货凭证编制入库单。 登记相应存货的入库数量和结存数量,即存货三级账,并将相应的单据传递到财务部门。 财务贲门根据入库单、验收报告编制记账凭证。 存货核算会计审核凭证,登记存货明系账,并将凭证传递到总账子系统。 总账会计定期根据记账凭证登记总账。(2)存货核算与管理出库、期末处理与管理的分析流程当生产部门提出领料申请、销售部门提出发运产品时,出库业务便开始进行;到会计期末进行相应的处理,并提交各种管理分析报告。 仓库保管员接到各车间、用料单位提出的领料申请,或者销售部门提出的发运请求,经审核单据后,编
5、制出库单,并发出存货。 仓库保管员登记相应存货出库数量和结存数据,即存货三级账,并将相应的单据传递到财会部门。 财会部门会计人员根据出库单等单据编制记账凭证,登记存货明细账,并将凭证传递到总账子系统。由于存货种类繁多、数量大、收发业务频繁,存货成本计算比较复杂,为了满足不同企业对核算的需要,存货可以按计划成本计价,也可按实际成本计价。按实际成本计价时,存货成本可以按照加权平均、移动加权平均、先进先出、后进先出和个别计价等方法进行计算。 期末处理。财务部门期末对存货进行实地盘点,编制盘盈盘亏表,经审批后通知仓库、财会部门修改相应的存货一级、二级以及三级账。由于存货数量账(三级账)、存货明细账(二
6、级账)、总账(一级账)是由不同的人员编制的,因此,会出现账账不一致的问题。因此,期末还需要进行三级账的核对工作,很多企业要花费一定的人力物力每月必须进行对账。财务部门根据不同的计价方法和成本计算方法,分别计算存货成本差异、发出存货成本,并进行结账工作。 存货分析。财务管理人员需要根据入库单、出库单、存货数量账等编制包括超储积压一览表、ABC成本分析表、仓库存货汇总表等内容的管理分析报告,并提出存货管理的改进意见和评价信息。2、通过分析存货子系统的业务流程,利用Visio软件画出存货子系统的业务流程图。业务流程图如图1所示:图1 存货子系统业务流程图实验二 存货子系统数据处理流程分析实验目的:通
7、过存货子系统的业务流程图,进一步分析优化存货子系统的数据处理流程,画出存货子系统的数据处理流程图。实验环境:安装Windows操作系统、Word软件、Visio软件等。实验方式:分组进行。实验内容:1、通过分析存货子系统的业务流程图,利用Visio软件画出存货子系统的数据处理流程图。根据前面对存货子系统业务流程图的分析,运用系统分析法,可以绘出存货子系统的数据流程图。依据模块结构设计的原则,通过对存货子系统的数据流程图进行模块划分,存货子系统可以划分为入库管理、出库管理、存管理、损管理和调拨管理等功能模块。数据流程图如图2所示:图2 存货子系统数据流程图实验三 存货子系统功能分析实验目的:通过
8、分析 存货子系统的业务流程与数据处理流程图,进一步分析存货子系统的功能。实验环境:安装Windows操作系统、Word软件、Visio软件等。实验方式:分组进行。实验内容:1、通过分析存货子系统的业务流程与数据处理流程图,画出存货子系统的功能图。根据业务流程图和数据流程图,存货子系统基本可以划分为入库管理、出库管理、盘点管理、报损管理、调拨管理等五个功能模块。每个功能模块又可以继续划分为若干个功能模块,直到每个功能模块都能够表示相当独立的功能为止。我们的存货子系统侧重于核算模块的设计。主要的功能结构有入库管理、出库管理、盘点管理模块。功能结构图如图3所示:图3 存货子系统功能结构图实验四 存货
9、子系统数据字典及数据库设计实验目的:通过分析存货子系统的数据流程图,进一步写出存货子系统的数据字典。利用PowerDesigner软件,建立存货子系统的PDM。实验环境:安装Windows操作系统、Word软件、Visio软件、PowerDesigner软件等。实验方式:分组进行。实验内容:1、 通过分析存货子系统的数据流程图,写出存货子系统的数据字典。数据流的描述数据流编号数据流名称简述数据流来源数据流去向F1库存产品信息表库存部门记录存货信息的表库存模块其他各模块F2库存盘点表库存部门记录存货期末盘点情况的表库存模块账务模块F3入库单库存部门开出的入库单库存模块采购模块F4出库单库存部门开
10、出的出库单库存模块销售模块F5销售退货入库单库存部门开出的销售退货入库单库存模块销售模块F6采购申请单库存不足时库存部门开出的采购申请单库存模块采购模块F7报损单库存部门开出的报损单库存模块质管模块F8部门用途表各部门领用存货类别表库存模块账务模块F9流水账单存货出入情况的账单库存模块信息使用者F10期初余额表库存期初余额库存模块信息使用者处理逻辑的描述处理逻辑编号处理逻辑名称简述输入的数据流输出的数据流P1验收货物对采购入库的货物进行检验采购单验收单P2出库处理对销售的货物进行出库检验销售单销售检验单P3审核调拨单对调拨单申请进行审核调拨单(申请)调拨单(审核)P4盘点库存对库存中的存货进行
11、盘点实物清单库存盘点单P5审核报损单对报损单申请进行审核报损单报损单(审核) 数据存储的描述数据存储编号数据存储名称简述S1库存账目存货入库、出库、退货、报损后修改当前库存量外部实体的描述外部实体编号外部实体名称简述输入的数据流输出的数据流E1仓库部门对存货保管、增减变化进行管理的部门验收单、销售单入库单、出库单E2采购部门采购存货的部门入库单采购单E3销售部门销售商品的部门出库单销售单E4财务部门进行账务处理的部门库存盘点单、报损单帐簿、报表2、 利用PowerDesigner软件,建立存货子系统的PDM。实验五 建立存货子系统数据库实验目的:建立存货子系统的SQL Anywhere数据库。
12、删除所建数据库的transaction log file文件。建立存货子系统的ODBC。通过存货子系统的PDM,生成 存货子系统数据库中的各张表。实验环境:安装Windows操作系统、PowerDesigner软件、PowerBuilder软件、SQL Anywhere数据库等。实验方式:分组进行。实验内容:1、在PowerBuilder中,建立存货子系统的SQL Anywhere数据库。2、在Sybase 中心Sybase Central中,利用Utilities 工具中的Change Log File Information功能,删除所建数据库的transaction log file文件
13、。3、在PowerBuilder中,或在PowerBuilder中,建立存货子系统的ODBC。4、在PowerDesigner AppModeler软件,连接存货子系统数据库。5、通过存货子系统的PDM,利用PowerDesigner AppModeler软件,生成存货子系统数据库中的各张表。数据库设计1.码表设计一 仓库表仓库表c_ch_ckb字段名类型长度是否空含义ckb_codechar(6)NOT NULL仓库编号ckb_namechar(20)NULL仓库名称二 职员表职员表c_ch_zyb字段名类型长度是否空含义zyb_codechar(6)NOT NULL职员编号zyb_name
14、char(20)NULL职员名称zyb_szbmchar(20)NULL所在部门三 部门表部门表c_ch_bmb字段名类型长度是否空含义bmb_codechar(6)NOT NULL部门编号bmb_namechar(20)NULL部门名称四 货位表货位表c_ch_hwb字段名类型长度是否空含义hwb_codechar(6)NOT NULL货位编号hwb_namechar(20)NULL货位名称hwb_szckchar(20)NULL所在仓库五 业务性质表业务性质表c_ch_ywxzb字段名类型长度是否空含义ywxzb_codechar(6)NOT NULL业务性质编码ywxzb_namecha
15、r(40)NULL业务性质名称2.基本表设计一 库存产品信息表库存产品信息表 T_kcxx字段名类型长度是否空含义*chbmChar(10)NOT NULL存货编码chmcchar(50)NULL存货名称ggxhChar (5)NULL规格型号jldwChar(10)NULL计量单位chlbChar(10)NULL存货类别ChsxChar(20)NULL存货属性JhjgChar(10)NULL计划价格ckjgchar(10)NULL参考价格hwchar(10)NULL货位shchar(10)NULL审核标志qyrqChar(30)NULL启用日期bzchar(100)NULL备注二 存货结存表
16、存货结存表 T_chjcb字段名类型长度是否空含义*chbmChar(10)NOT NULL存货编码qcsldecimal(10,2)NULL本月期初数量qcdjdecimal(10,2)NULL本月期初单价qcjedecimal(10,2)NULL本月期初金额=本月期初单价*本月期初单价ssldecimal(10,2)NULL本月收数量sjedecimal(10,2)NULL本月收金额fsldecimal(10,2)NULL本月发数量fjedecimal(10,2)NULL本月发金额jcsldecimal(10,2)NULL本月结存数量jcdjdecimal(10,2)NULL本月结存单价j
17、cjedecimal(10,2)NULL本月结存金额三 入库单入库单表 T_rkd字段名类型长度是否空含义*rkdhChar(10)NOT NULL*入库单编号(自动生成)rkrqChar(15)NULL入库单日期ywbhChar(15)NULL业务编号ywyxmChar(10)NULL业务员姓名chbmChar(10)NULL存货编码sldecimal(10,2)NULL数量djdecimal(10,2)NULL单价jedecimal(10,2)NULL金额cdChar(10)NULL产地gysChar(10)NULL供应商ckChar(10)NULL仓库hwChar(10)NULL货位sh
18、bzChar(2)NULL审核标志clbzChar(2)NULL处理标志shbzChar(2)NULL收货标志zdrChar(10)NULL制单人shrChar(10)NULL审核人四 出库单出库单表 T_ckd字段名类型长度是否空含义*ckdhChar(10)NOT NULL*出库单编号(自动生成)ckrqChar(15)NULL出库单日期ywbhChar(15)NULL业务编号ywyxmChar(10)NULL业务员姓名chbmChar(10)NULL存货编码sldecimal(10,2)NULL数量djdecimal(10,2)NULL单价jedecimal(10,2)NULL金额ytC
19、har(10)NULL用途bmChar(10)NULL部门ckChar(10)NULL仓库hwChar(10)NULL货位shbzChar(2)NULL审核标志clbzChar(2)NULL处理标志shbzChar(2)NULL收货标志zdrChar(10)NULL制单人shrChar(10)NULL审核人bzchar(100)NULL备注五 销售退货入库单销售退货入库单 T_xsthrkd字段名类型长度是否空含义*ckthdhChar(10)NOT NULL*销售退货单编号(自动生成)ckthdrqChar(15)NULL销售退货单日期ywbhChar(15)NULL业务编号ywyxmCha
20、r(10)NULL业务员姓名chbmChar(10)NOT NULL存货编码sldecimal(10,2)NULL数量djdecimal(10,2)NULL单价jedecimal(10,2)NULL金额bmChar(10)NULL部门ckChar(10)NULL仓库hwChar(10)NULL货位shbzChar(2)NULL审核标志clbzChar(2)NULL处理标志shbzChar(2)NULL收货标志zdrChar(10)NULL制单人shrChar(10)NULL审核人thyyChar(100)NULL退货原因六 采购申请单采购申请单ch_cgsqd字段名类型长度是否空含义*sqdb
21、hChar(10)NOT NULL*申请单编号(自动生成)rqChar(15)NULL日期chbmChar(10)NULL存货编码chmcChar(20)NULL存货名称ggxhChar(10)NULL规格型号jldwChar(4)NULL计量单位chlbChar(10)NULL存货类别chsxChar(10)NULL存货属性xqsldecimal(10,2)NULL需求数量chrChar(10)NULL制单人shrChar(10)NULL审核人七 报损单入库退货单 T_rkth字段名类型长度是否空含义*bsbhChar(10)NOT NULL*报损单编号(自动生成)bsrqChar(15)N
22、ULL报损单日期ywyxmChar(10)NULL业务员姓名chbmChar(10)NULL存货编码sldecimal(10,2)NULL数量djdecimal(10,2)NULL单价jedecimal(10,2)NULL金额cdChar(10)NULL产地gysChar(10)NULL供应商ckChar(10)NULL仓库hwChar(10)NULL货位shbzChar(2)NULL审核标志clbzChar(2)NULL处理标志shbzChar(2)NULL收货标志zdrChar(10)NULL制单人shrChar(10)NULL审核人bsyyChar(100)NULL报损原因八 部门用途表
23、部门用途表 T_bmytb 字段名类型长度是否空含义*bmbmChar(10)NOT NULL*部门编码bmmcChar(20)NULL部门名称ytdmChar(10)NULL用途代码ytmcChar(10)NULL用途名称xmfy Char(10)NULL项目费用九 流水账单流水账单ch_lszd字段名类型长度是否空含义*xhchar(3)NOT NULL序号sjChar(15)NULL时间djhchar(2)NULL单据号ywxzchar(4)NULL业务性质chbmchar(10)NULL存货编码chmcchar(20)NULL存货名称sldecimal(10,2)NULL数量djdec
24、imal(10,2)NULL单价jedecimal(10,2)NULL金额十 期初余额表期初余额表 T_qcyeb字段名类型长度是否空含义chbmChar(10)NULL存货编码chmmChar(50) not NULL存货名称sldecimal(10,2)NULL数量djdecimal(10,2)NULL单价jedecimal(10,2)NULL金额cdchar(50)null产地gyschar(50)null供应商ckChar(10)NULL仓库hwChar(10)NULL货位bzchar(100)NULL备注十一 存货盘点表存货盘点表 T_chpdb字段名类型长度是否空含义pddbhCh
25、ar(10) not NULL盘点单编号pddrqChar(15)NULL盘点单日期ywyxmChar(10)NULL业务员姓名bmChar(10)NULL部门chbmChar(10) not NULL存货编码chmcchar(20)null存货名称hwchar(10)null货位chdjdecimal(10,2)NULL存货单价zcsldecimal(10,2)NULL账存数量pdsldecimal(10,2)NULL盘点数量yksldecimal(10,2)NULL盈亏数量zdrchar(10)NULL制单人 shrchar(10)NULL审核人实验六 存货子系统基本窗口设计实验目的:存货
26、子系统窗口设计。存货子系统全局变量设计。存货子系统全局函数设计。实验环境:安装Windows操作系统、PowerBuilder软件、SQL Anywhere数据库、教师提供的软件原型平台等。实验方式:分组进行。实验内容:1、存货子系统全局变量设计。全局变量定义string g_oper_code,g_oper_name,g_sheet_code,g_printstring g_date,g_dept,g_dept_day,g_func_codestring g_dept_month_date=2000-01-01string g_orig,g_warehousestring g_sp_info
27、,g_menu_nameboolean gb_db_connectedstring g_price_powerdecimal g_dept_intervalstring g_color=80,g_color_key=80string g_IPAddress,g_MachineNamestring g_log_rec=0 /记录日志标记 1:记录,0:不记录string g_sys_name=重庆工学院会计学院 实验案例string g_comp_name=重庆工学院 会计学院会计学院 string g_proj_code=,g_proj_name=string g_drive=d:io ,g_
28、pathfilename /导入导出路径string g_dir_sc= /自动生成路径integer g_sheet_code_len =10 /单据长度integer g_len1=3,g_len2=7,g_len3=11,g_len4=19 /小区、大楼、单元、房间编码长度integer g_len4_1=3,g_len4_2=3 /g_len4_1楼层长度 g_len4_2 房间长度string g_zth=001 /帐套号string g_nkjqj=2005 /年会计期间2、存货子系统全局函数设计。函数名函数功能f_oper_check判断操作员输入的编码及密码是否合法gf_dw_
29、count显示数据窗口的行数f_where_exist判断有无WHERE条件f_string字符变量的处理f_sqlsqlca.sqlcode判断,0、100:false,-1:truegf_ini_table码表初始化f_i_o导入导出初始f_dw_test_repeat对数据窗口中的导入数据进行重复性测试f_dw_test_repeat_del删除导入导出中的重复数据函数名f_oper_check返回值类型integer函数功能判断操作员输入的编码及密码是否合法参数定义r_oper_code:stringr_pass:string脚本string r_oper_passSELECT pas
30、s INTO :r_oper_pass FROM c_operator WHERE oper_code= :r_oper_code;IF sqlca.sqlcode = 100 thenmessagebox(g_sys_name,您提供的操作员号码不正确!)return 1ELSEIF trim(r_oper_pass) trim(r_pass) THENmessagebox(g_sys_name,您提供的密码和操作员号不符!rr是否没有区分大小写?)return 2END IFEND IFreturn 0函数名gf_dw_count返回值类型无函数功能显示数据窗口的行数参数定义r_dw_ta
31、ble: datawindowr_sle_count: singlelineedit脚本long r_row,r_countr_count=r_dw_table.ROWCOUNT()r_row=r_dw_table.getrow()IF r_row0 and r_count0 THENr_sle_count.TEXT=string(r_row)+/+string(r_count)ELSEIF r_count0 thenr_sle_count.TEXT=共+string(r_count)+条ELSEr_sle_count.TEXT=END IFreturn函数名f_where_exist返回值类
32、型integer函数功能判断有无WHERE条件参数定义r_orig_sql: string脚本if pos(r_orig_sql,WHERE)0 or pos(r_orig_sql,where)0 thenreturn 1/有WHERE条件elsereturn 0/无WHERE条件end if函数名f_string返回值类型string函数功能字符变量的处理参数定义r:string脚本IF ISNULL(r) OR TRIM(r)= THENr=%ELSEr= r+%END IFRETURN r函数名f_sql返回值类型boolean函数功能sqlca.sqlcode判断,0、100:fals
33、e,-1:true参数定义无脚本if sqlca.sqlcode=-1 thenmessagebox(sql错误信息,sqlca.sqlerrtext)rollback;return trueelsecommit;return falseend if函数名gf_ini_table返回值类型无函数功能码表初始化参数定义无脚本 /职位码表DELETE FROM c_postion ;INSERT INTO c_postion(postion_code, postion_name) VALUES (01,董事长) ;INSERT INTO c_postion(postion_code, postio
34、n_name) VALUES (02,副董事长) ;INSERT INTO c_postion(postion_code, postion_name) VALUES (03,财务总监) ;INSERT INTO c_postion(postion_code, postion_name) VALUES (04,销售总监) ;/学历码表c_edu_level INSERT INTO c_edu_level(edu_level_code,edu_level_name ) VALUES (01,博士) ;INSERT INTO c_edu_level(edu_level_code,edu_level_
35、name ) VALUES (02,硕士) ;INSERT INTO c_edu_level(edu_level_code,edu_level_name ) VALUES (03,学士) ;/凭证类型码表DELETE FROM ZW_C_PZLX ;INSERT INTO ZW_C_PZLX(PZLX_CODE,PZLX_NAME) VALUES (CH,转账凭证) ;INSERT INTO ZW_C_PZLX(PZLX_CODE,PZLX_NAME) VALUES (SK,收款凭证) ;INSERT INTO ZW_C_PZLX(PZLX_CODE,PZLX_NAME) VALUES (FK
36、,付款凭证) ;if f_sql() then return函数名f_i_o返回值类型无函数功能导入导出初始参数定义脚本SetPointer(HourGlass!)delete from save_import ;/导入导出码表delete from c_save_import ;insert into c_save_import values (01,导入);insert into c_save_import values (02,导出);delete from c_mean ;insert into c_mean values (01,固定);insert into c_mean valu
37、es (02,自由);insert into c_mean values (03,生成);delete from c_file_type ;insert into c_file_type values (01,dbf);insert into c_file_type values (02,txt);insert into c_file_type values (03,excel);insert into c_file_type values (04,sql);delete from c_interval ;insert into c_interval values (00,无);insert
38、into c_interval values (01,每日);insert into c_interval values (02,每周);insert into c_interval values (03,每月);insert into c_interval values (04,每季度);insert into c_interval values (05,每年);delete from c_flag_code ;insert into c_flag_code values (01,成功);insert into c_flag_code values (02,失败);if f_sql() th
39、en returnINSERT INTO save_import VALUES (001,c_operator,dw_c_operator_grid,01,02,D:iodata,c_operator,01,人员信息,00,000,2002-01-01,2002-01-01,01,);INSERT INTO save_import VALUES (001,c_operator,dw_c_operator_grid,02,02,D:iodata,c_operator,01,人员信息,00,000,2002-01-01,2002-01-01,01,);SetPointer(arrow!) if f_sql() then returnelse/messagebox(提示,导入导出表初始成功!)end ifreturn函数名f_dw_test_repeat返回值类型long函数功能对数据窗口中的导入数据进行重复性测试参数定义r_type:stringr_dw: datawindowr_sle: singlelineedit脚本long r_row,r_rowcount,r_count,r_select,r_return=0
限制150内