物流管理系统财务子系统的设计与实现论文_第1页
物流管理系统财务子系统的设计与实现论文_第2页
物流管理系统财务子系统的设计与实现论文_第3页
物流管理系统财务子系统的设计与实现论文_第4页
物流管理系统财务子系统的设计与实现论文_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南南 开开 大大 学学 本 科 生 毕 业 论 文(设 计) 题 目:津菱物流管理系统财务子系统的设计与实现 学 号: 姓 名:沈泼 年 级:2000 级 学 院:软件学院 系 别:软件工程 专 业:软件工程 完成日期:2004 年 5 月 指导教师:张波 摘要 津菱物流管理系统财务子系统的设计与实现 软件学院软件工程系 软件工程专业 沈泼 学号: 指导教师:张波 副教授 摘要摘要: 津菱物流管理系统是在良凌物流管理系统的基础上进行的二次开发, 本项目组承担了扩充原系统未有的财务业务部分的开发任务,笔者主要负 责了对财务业务中的进货及盘点部分的财务功能模块的设计与开发工作, 目标在保持已开发完成的物流系统功能不受影响、流程及原系统数据库结 构尽量不受改动的情况下,实现津菱物流公司所提出的有关财务业务的功 能。 本文首先对津菱物流管理系统的功能和设计进行了简单的描述,然后 给出了津菱物流公司就财务部分所提出的功能需求,最后详细阐述了对财 务业务中入库及盘点部分的功能的分析及模块的设计与实现。 关键字:关键字: 物流管理系统,财务子系统,会计 ABSTRACT Abstract The JinLing Logistics Management system is a revision on the basis of the Lianglin Logistics Management System . We undertakes the task of expending undeveloped financial business in original system ,and mainly responsibility for redesigning and implementing the financial function module of merchandise sale delivery, which is part of financial business. And our goal is to keep the original database function and structure of the Jinling logistic management system and to realize the requirement of the Jinling Logistic Corporation that the database has the new financial function, such as merchandise sales delivery, merchandise stocking and checking storage. At the beginning of the article, we described the function and design of JinLing Logistics Management system in general, then offered the functional requirement of JinLing Logistics Corp. on the financial part. And finally we discussed the function analysis as well as module design and realization of merchandise sale delivery. Key Words: Logistics Management System , Financial subsystem , Account 目录 目目 录录 第一章第一章 绪论绪论1 1.1 项目背景1 1.2 本文内容4 第二章第二章 津菱物流管理系统概述津菱物流管理系统概述5 2.1 系统开发背景5 2.2 系统功能模块的划分6 2.3 开发环境及应用到的主要技术8 第三章第三章 财务模块的需求分析财务模块的需求分析11 3.1 扩充财务功能的现实经济性的分析11 3.2 有关津菱公司财务功能的需求11 第四章第四章 财务功能模块的设计与实现财务功能模块的设计与实现17 4.1 入库部分财务模块的设计与实现17 4.2 盘点部分财务模块的设计与实现33 第五章第五章 项目总结及展望项目总结及展望36 5.1 开发经验总结36 5.2 项目展望36 致致 谢谢38 参考文献参考文献39 绪论 - 1 - 第一章第一章 绪论绪论 1.1 项目背景项目背景 物流是指为了满足消费者需要而进行的从起点到终点间原材料中间过程库 存、最后产品和相关信息有效流动和储存的计划、实施和提高控制管理的过程。 物流这一概念,随着它对商品生产、流通和消费的影响,日益明显并越来越引 起人们的注意。目前,物流一词在我国也越来越多地被使用,如在运输行业中, 物流公司、物流中心等不断出现。物流对企业在市场上能否取胜的决定作用变 得越来越明显。从本质上说企业在市场上的表现主要是由产品的质量、价格以 及产品的供给三个在素决定,其中任何一个因素对企业的竞争能力都起着重要 的影响作用,而这三个因素都分别直接受到物流的影响。尤其是在顺应经济全 球化、信息化和企业竞争战略的要求而产生的第三方物流(Third Party Logistics)“第三方物流”一词于 80 年代中后期开始盛行,当时它是对物 流环节的要素进行外包的一个主要考虑方面。在 1988 年美国物流管理委员会的 一项顾客服务调查中,首次提到“第三方服务提供者” ,这种新思维被纳入到顾 客服务职能中。它也被用来描述“与服务提供者的战略联盟” ,尤其指“物流服 务提供者”这种物流形态是由物品供方和需方以外的物流企业提供物流服 务的业务模式,是在物流渠道中,由专业物流企业以合同的形式在一定期限内 提供用户所需的全部或部分物流服务。 第三方物流的概念也可以说源自于管理学中的 Out-sourcing(Out-sourcing 意指企业动态地配置自身和其他企业的功能和服务,利用外部的资源为企业内 部的生产经营服务) 。将 Out-sourcing 引人物流管理领域,就产生了第三方物流 的概念,即生产经营企业为集中精力搞好主业,把原来属于自己处理的物流活 动,以合同方式委托给专业物流服务企业,同时通过信息系统与物流服务企业 保持密切联系,以达到对物流全程的管理和控制的一种物流运作与管理方式。 因此第三方物流又可以称为合同制物流(Contract logistics) 。 第三方物流的基本运作模式可由图 1-1 表示: 绪论 - 2 - 图 1-1 第三方物流的基本运作模式 在物流业蓬勃发展的今天,相应的物流管理系统也应运而生。关于物流管 理的概念,美国物流管理委员会(CLM)给出了如下的定义: 1998 年以前的定义 Logistics is the process of planning, implementing and controlling the efficient, effective flow and storage of raw material, in-process inventory, finished goods, service, and related information from point of origin to point of consumption (including inbound, outbound, internal, and external movements) for the purpose of conforming to customer requirements. 物流学就是研究对原材料、中间产品、产成品、服务及相关信息从供应始 点到消费终点的流动与存储进行有效地计划、实施与控制以满足客户需要 的科学。1 1998 年以后的定义 Logistics is that part of the supply chain process that plans, implements, and controls the efficient, effective forward and reverse flow and storage of goods, services, and related information between the point of origin and the point of consumption in order to meet customers requirements. 物流管理是供应链流程的一部分,它对从起始点到消费地的前向与逆向的 货物、服务及相关信息的流动与存储进行富有效率和效果的计划、实施与 控制,以满足顾客的需要。1 由此可知,物流管理系统就是应物流企业对订货、进货、盘点、出货、库 存结账、客户服务等活动进行有效管理的要求下而产生的。借助于物流管理系 统,物流企业就可以有效地完成库存管理,减少商品的积压,避免重复进货, 第三方物流第三方物流 制造商制造商商业企业商业企业消费者消费者 绪论 - 3 - 从而实现“零损失” ,并可由此获得更充裕的流动资金,对于企业的扩大再发展 有着重要作用。同时,物流管理系统还可以提供单据的打印与相关业务的查询 功能,节约了大量人力,提高了员工的工作效率。此外,物流管理系统还可为 企业的发展提供很好的决策支持,决策者不必亲自下仓库检查,就可以清楚的 了解库存情况和销售情况,从而可以对市场及客户进行合理细分,作出发展和 投资决策。 津菱物流公司是最近在天津开设的一家专门从事物流业务的公司,其主要 运作模式为第三方物流运作,规模比较大。在对业务往来和仓库管理上如果没 有一个好的管理系统进行辅助,势必公司的效率将大大降低,而且业务上差错 的风险会很大。本项目即是开发一套适合津菱物流公司的管理系统软件,此软 件是在原良菱系统基础上进行的二次开发,由于津菱物流公司和良菱物流公司 在业务上差别比较大,因而所谓的“二次开发”实际上是以原系统作为参考, 有些地方还是做了较大的改动,同时,应津菱公司的就财务业务方面的要求, 扩充了原系统未有的财务功能模块。 考虑到项目组成员对物流行业的业务逻辑都不太了解,熟悉业务流程及运 作方式需要较长的时间,加之原系统的设计已经基本实现了一般物流企业运作 所需的功能模块,所以在满足津菱公司特定需求的基础上,本项目的开发遵循 以下三个原则: 对于津菱公司和良菱公司在相同的业务逻辑上实现的核心代码,尽量不 做修改。原因不仅在于原系统核心逻辑代码已经由上海罗森物流配送公 司进行运行并且证明其正确,还在于这样可以减少程开发维护成本,缩 短开发周期。 对于两个公司在业务逻辑上有差别的业务逻辑,要么重新定义此模块, 要么只对原模块进行较小改动,尽量对两个系统业务相似的逻辑不做太 多的改动。因为原系统功能交错性比较强,模块间的耦合度比较高,修 改一个模块一般会影响到其它的模块功能的实现。 对于原系统未提供的财务业务的功能,在首先符合财务操作规则的前提 下,依据原系统的业务流程,在保持已开发完成的物流系统功能不受影 响、原系统数据库结构尽量不受改动的情况下,实现津菱物流公司所提 绪论 - 4 - 出的有关财务业务的功能。 关于财务功能模块,在通过与津菱物流公司的财务及仓管人员,就业务流 程及操作注意事项进行多次详尽的咨询后,有了较为清楚的认识,同时也对所 要实现的功能有了较为明确地了解,并在此基础上完成了一份较为完备的需求 分析,已得到双方相关人员的认可。 1.2 本文内容本文内容 对津菱物流系统的基本业务流程经过一段时间的熟悉,以及就津菱公司财 务方面的需求进行详细咨询和分析后,在保持与原物流系统兼容的前提下,对 于津菱公司所提出的财务功能进行了仔细地设计。在本文中,将系统介绍津菱 物流系统新增的财务功能的进货及盘点部分的模块的设计与实现,本文组织结 构如下: 第一章:绪论。本章主要介绍本项目的背景及第三方物流的概念及运作模 式。 第二章:津菱物流管理系统的概述。在本章中,对于系统二次开发背景作 了简要地介绍,并对津菱物流管理系统的实现模块进行了划分。同时还对本系 统开发所用的开发环境、配置环境及应用到的主要技术作概括地阐述。 第三章:财务模块的需求分析。在本章中,首先就津菱公司财务模块开发 的现实经济性进行了分析,然后给出了一些财务术语的详细解释以及津菱公司 第二阶段的财务功能需求。 第四章:财务功能模块的设计与实现。在本章中,首先对津菱公司给出的 财务功能的需求进行分析,并在此基础上,就新增的入库及盘点部分的财务模 块提出了设计上存在的问题,最后对所提出问题进行了一一解决。 第五章:项目总结及展望。总结本次项目的开发的体会,并对本项目进一 步步地开发提出了自己的看法。 第二章 津菱物流管理系统概述 - 5 - 第二章第二章 津菱物流管理系统概述津菱物流管理系统概述 2.1 系统开发背景系统开发背景 津菱物流公司所作的业务可以说是一种第三方物流的运作模式,有关第三 方物流的有关概念已在项目背景中作了较为详细的阐述,简而言之,即由第三 方来承担企业物流活动的一种物流形态。 津菱公司采取的是混合的经营模式,因此津菱物流管理系统要能够处理以 下三种类型的物流业务: 零售配送模式,即一些连锁店集团,例如华润、物美等,向多个供应商 购买商品,委托津菱对这些商品进行接受、存储、分拣、配送到该连锁 店集团的各个门店; 自营批发模式,即津菱公司在分析、预测客户的需求的基础上,主动向 供应商发出订货请求,购置多个商品,向自己联络的客户进行配送; 厂家配送模式,即某些客户提前向某个供应商购置了某些商品,供应商 主动向津菱提出配送要求,并将客户所购置的商品配送出去。 就这三种模式来讲,无论哪种模式,其物流的次序都是相同的:供应商 津 菱 客户,其中,供应商是物资的提供者。津菱是物资的仓储、分拣、运输 者。客户或者是物资的销售者,例如华润、津工等,或者是物资的直接消费者, 例如将这些物资当作原材料来生产其他产品的厂家。三种模式的区别在于是谁 拥有物资。 这样,如图2-1所示,存放在津菱的每一件商品都具有一个库存名义:到底 是谁购置并在财务上拥有该商品。 津菱公司要求一个存储仓位只能够存放一个名义下的商品。同时,在做分 拣操作的时候,对于每一种名义,都有一个独立的分拣线。以上这些约定也有 一定的缺点,就是对仓库空间、设备的要求比较大,有些浪费。 第二章 津菱物流管理系统概述 - 6 - 图 2-1 津菱公司的业务类型 津菱公司的一般业务工作流程可由下图 2-2 表示 图 2-2 津菱公司工作流程 2.2 系统功能模块的划分系统功能模块的划分 由于原系统的开发商TES公司在设计该系统时,试图完成一个通用系统, 该系统能够满足尽可能多个用户的各自不相同的需求。然后,针对某个用户的 特殊需求,将系统中的某些功能 Disable 掉,再做一些必要的修改。这个做法 虽然具有一定通用价值,但不可避免地也存在着缺陷:系统的源代码以及数据 库中的表都含有大量与津菱公司业务不相关的部分。 通过与津菱物流公司就其所需要的业务功能的进行多次需求咨询后,依据 津菱业务逻辑,对原系统作了大量的简化和重新设计、编码后。津菱物流管理 津菱公司 零售配送自营批发厂家配送 客户#1华润物美. 公司#1公司#N 客户#N 入库预报 配送出库 出库确认 返 品 分拣操作 验收 入库确认 分配仓位入库登记 出库登记配送预报 库存管理库存管理 第二章 津菱物流管理系统概述 - 7 - 系统实现了包括从商品订购入库、仓库内部管理以及配送出库的整个过程的管 理,其基本运作流程可由图 2-3 表示。 图 2-3 津菱物流管理系统基本运作流程 总体上来说,津菱物流管理系统可划分为八大功能模块,他们共同配合完 成了整个物流运作的管理,其中每个功能模块下面又包含了各自的子功能模块。 其主要功能模块可由图 2-4 表示。 系统基本信息设置,其中包含对打印的设置和用户密码的更改功能的实 现 仓库基本信息设置,其实现了对分拣仓位的设置、空仓位的生成以及导 入导出数据等功能。 商品的进货管理,其中包括了向供应商订货与登记入库、进货红冲、与 供应商退货以及涉及进货入库环节各种单据的打印等功能。 门店要货管理,其包含了要货单录入、门店退货、要货信息以及欠品历 史信息的查询等功能。 商品配送出库管理部分包括了配送启动、配送出库以及相关单据打印的 功能。 仓库内部管理,其主要实现了库存维护、商品封仓、移库、盘点、手工 损益、仓位优化以及库存查询等功能。 库存商品信息查询,该部分实现了基本商品信息、库存商品信息、进货 Sybase 数据库 入库金额 统计 入库查询库存查询出库查询盘点查询进销存 统计 出库金额 统计 补货移库退货盘点损益 入库 确定 入库管理 入库预 报单 入库验 货单 配送出 库 出库确认 第二章 津菱物流管理系统概述 - 8 - 信息和配送出库信息等的查询功能。 财务管理,该部分实现了进货实价入库、盘点损益、销售部分的财务以 及导出财务数据等功能。 图 2-4 津菱物流管理系统功能模块图 2.3 开发环境及应用到的主要技术开发环境及应用到的主要技术 2.3.1 服务器端环境 硬件环境:稳定服务器 软件环境:Redhat Linux 7.3, Sybase 12.5 2.3.2 客户端环境 硬件环境:普通 PC 机 软件环境:Microsoft 公司 Windows 2000 server 操作系统 2.3.3 开发环境 硬件环境:奔腾 2.4G Hz CPU,512M DDR 内存,17 寸纯平显示器、显 存 64M,80G 硬盘。 仓库基本信息设 置 商品入库管理 门店要货管理仓库内部管理 系统信息设置 商品配送出库管 理 库存商品信息查 询 津菱物流管 理系统 财务管理 第二章 津菱物流管理系统概述 - 9 - 软件环境:Windows2003 Server,Powbuilder7,Sybase Central3.1,ER Win4.0,SQL Server 2000,金蝶 K/3 9.4.1 2.3.4 应用到的主要技术 PowerBuilder 中的 DataWindow 技术 PowerBuilder 技术中,数据窗口(DataWindow)可是说是其核心的核 心,它使得数据库的开发和应用变得更加简单、快捷。DataWindow 可 以说是一种为正在被观察的数据保留数据信息的特有对象, DataWindow 可以多种不同的风格来显示数据源的数据。因此,它是一 个高质量的数据库事务应用程序开发的强大的处理工具。数据窗口对 象的主要功能是显示数据并允许用户修改,因为在数据窗口对象中包 含两个主要组件:数据信息和显示格式。数据窗口需要数据库和其他 非数据库的数据资源来组装自己,它按照定义时制定的表现风格显示, 并且 DataWindow 提供了动态的数据装载功能。用户定义了表现风格后, 可以对其进行进一步的修改,以增强数据窗口的功能。数据窗口不但 自身显示数据还可以作为生成所有报表的数据源。在一个实际的应用 程序处理过程中,数据窗口一般位于应用程序和数据库中间,按应用 程序的要求来检索,操纵并显示数据。Datawindow 控件除具有 Windows 的窗口的属性与事件还有自己独特的函数与事件,如 Retrievestart、Retrieveend、SqlPreview、Printpage 等事件与 Update,Reset 等函数。这些事件有些是系统自动触发的如 Dberror,SqlPreview 等,这些事件一般都有参数或有相关函数可以获得 事件信息,因此我们可以在这些事件中获得、 修改数据处理信息。 Datawindow 函数需要手工调用,包括有关于后台数据处理的 Datawindow 控件函数,与 SQL 语言类似,是 SQL 语言在 Datawindow 中的表示;有前台数据处理的 Datawindow 控件函数如 Getitem,Setitem 等;还有前后台协调的函数 Retrieve 等。Datawindow 定义了数据的显 示界面属性及与该 Datawindow 相关的数据库对象的数据操作属性。在 津菱物流管理系统中,DataWindow 占据了非常重要的地位,是操作服 务器端数据库的强有力的面板。 第二章 津菱物流管理系统概述 - 10 - Sybase 数据库中的存储过程 存储过程是由用户创建的、驻留在服务器的一组 Transact SQL 查询语 句。存储过程能够改善应用程序的性能。存储过程是在创建时编译的, 当存储过程第一次执行时,SQL Server 产生查询执行计划并将其存储 进来,以利于将来使用。使用存储过程可使系统性能得到提高,因为 此时发送到服务器的语句只是一条存储过程的 EXECUTE 语句,而不 是庞大的、复杂的查询。这种特性能降低网络的流量。除了性能方面 的改善外,存储过程还提供了方便地集中维护应用程序的功能。如果 将查询嵌入到应用程序中。而又需要对查询进行改变,则应用程序需 要重新编译,并重新发布到所有的客户端。而在存储过程中,修改对 用户而言是透明的,它只需要在服务器上重新编译存储过程。同时, 存储过程还能提供安全机制,尽管用户可能无权执行存储过程中的命 令,但它却可能有权执行存储过程本身。有时候,系统管理员不会给 用户以数据修改(UPDATE、INSERT 和 DELETE)的权力。创建的存 储过程却能进行这些操作。当然用户需要拥有执行该存储过程的权力。 在津菱物流系统中,存储过程的大量使用,也一方面提高了系统的 运行速度,另一方面,也保证了系统的稳定性。 Sybase 数据库中的游标 使用游标(CURSOR)在需要一行一行处理时,游标十分有用。游标 可以打开一个结果集合(按照指定的标准选择的行) ,并提供在结果集 中一行一行处理的功能。基于游标的类型,可以对其进行回滚或者前 进。 在津菱物流系统中,游标技术也被大量的使用于数据查找、数据库更新 等方面。这一技术的应用,既有利于提高操作人员的工作效率,也有利 于操作人员迅速判断被操作对象的状况。 第三章 财务模块的需求分析 - 11 - 第三章第三章 财务模块的需求分析财务模块的需求分析 3.1 扩充财务功能的现实经济性的分析扩充财务功能的现实经济性的分析 津菱物流系统基本实现了物流部分的进货、销售以及库存管理等的功能。 由于津菱公司财务业务上的需要,要在原系统的基础上增加财务业务的功能。 这样做有两大优势: I. 在已基本完成的物流系统上增加财务功能,将比较容易从物流系统的数 据库表中导出财务业务所需的数据。从实现上以及开发费用和周期上来 说,在已有系统上进行扩充将比重新开发新的系统,开发难度都会大大 的减少。并且从津菱的业务流程可知,新的财务系统在数据库的数据上 会与物流系统存在相当大一部分重复,这可以产生两种情况: 两系统使用同一数据库,这将不可避免的产生同时访问数据库的情 况,并且为物流系统建立的数据库的表中很多字段对于物流系统是 非常重要的,而对于财务系统却是没有价值的。由于存在两个不同 的系统,并且两系统的业务逻辑及流程存在着很大的差异性,因此 不能在财务系统很好的控制对于这些字段的访问。如果财务人员不 慎修改了这些字段,对于财务没有影响,但却有着仓库管理不能很 好运行的重大隐患。 两系统使用两个不同的数据库,这一方面,浪费了数据库空间。另 一方面,也是最重要的,这将带来了保持两数据库数据一致的问题 II. 为财务人员提供了很好的查询及批处理功能,这将大大减少财务人员的 复杂程度和工作压力,也更进一步减少了出错的概率。 基于以上两点原因,增加津菱物流系统的财务模块具有一定的现实经济性 和必要性。 3.2 有关津菱公司有关津菱公司财务功能的需求财务功能的需求 在通过与津菱公司的财务人员就业务逻辑、流程以及所需实现的功能进行 第三章 财务模块的需求分析 - 12 - 多次面谈咨询后,得到如下功能需求: 一、首先需要就财务功能模块涉及的术语加以明确: 会计科目会计科目:就是对会计核算单位的资产、负债、权益按其不同的特点和 经济业务过程核算的需要进行分类核算的项目,按照有关规定一级会计 科目必须以中文命名,并有一个标准的科目代码,不同行业的会计科目 会有所不同。 (例如:资产类项目,可以分别设置“现金” 、 “银行存款” 、 “应收账款” 、 “库存商品” 、 “固定资产”等会计科目;应当为各种资金 来源项目,分别设置“固定基金” 、 “流动基金” 、 “银行借款” 、 “应付账 款”等会计科目。设置会计科目对于正确运用填制凭证、登记账簿和编 制报表等核算方法,都具有重要的意义) 会计分录会计分录:就是在记账凭证中指明某项经济业务应借、应贷的账户名称 以及应记入账户的金额,即一笔业务的记录。编制会计分录,要以反映 经济业务发生的原始凭证作根据,以保证会计核算的客观性,也便于事 后检查。会计分录有简单会计分录和复合会计分录,简单会计分录只涉 及两个账户,复合会计分录涉及两个以上的账户。 K/3 软件系统软件系统: K/3 财务管理系统突出了面向中、大型企业和集团型企 业用户的应用功能。一方面在技术上保证了大规模并发用户使用的稳定 性;另一方面,除普通财务管理的应用功能之外,还提供了集团控制、 结算中心等功能模块,结合管理会计的功能模块,极大地加强了各种类 型企业用户的财务管理和控制功能,提高了企业的财务运筹能力。K/3 软件系统分成了数据库、中间件、具体应用三层。 二、财务功能模块涉及的软件系统及所要实现的目标: 物流软件系统(即本系统)的功能概述 物流软件系统具有物流方面进、销、存的功能。 财务软件(即金蝶 K/3)系统的功能概述 津菱公司所购买的K3软件系统中具有总账,应收应付两个功能的模块。 金蝶K/3 系统中,在会计科目体系是树形结构的,可以进行分级管理。 财务模块所要实现的目标是将物流软件与财务软件相结合 第三章 财务模块的需求分析 - 13 - 物流软件与财务软件相结合的目的 物流软件主要处理商品的进货、库存管理、销售出库,而不具备财 务上的功能,不关心商品的价值。财务软件只关心商品在财务上的 处理,不关心商品的进、出。但是每当有实物进、出,并开出发票 时,都要通告 K/3 生成会计凭证信息,此时由于 K/3 不支持数据导 入,需要把物流软件已经录入过的商品信息再次手工录入一遍,造 成了重复劳动,也容易产生错误。 出于安全的考虑,财务部门的计算机不能够通过网络与物流部门的 计算机相连。因此,财务模块将针对物流业务中自营批发过程的财 务处理实现生成会计凭证信息,与津菱公司所使用的金蝶 K/3 财务 软件的凭证接口标准配套,使得用物流软件生成的会计凭证信息,可 以按约定格式导出,通过存储介质传递到 K/3 软件系统,由 K/3 软 件系统负责转换成相应的会计凭证。 生成会计凭证信息的环节 需要生成会计凭证信息的环节有:估价进货、估价进货冲红、实价入库, 退换商品,盘点损溢处理,商品销售出库,商品成本计算。如实现从进 货到销售环节的全程的会计凭证信息处理,应当增加和扩展销售出库模 块的功能。本文将在下面章节就本文所涉及到的财务模块中的估价进货、 进货红冲、实价入库、盘点损益做详细的阐述。 K/3 需要的凭证信息格式 凭证信息是由多条记录构成的,每一条记录描述了物流部门所进货的某 一种商品的详细信息。而且每一条记录对应着财务部门会计凭证中的一 条会计分录。每一条记录包含以下基本信息: * 凭证信息生成日期 * 该商品的供应商编码 * 该商品的编码 * 该商品的进货数量 * 该商品的单价 * 该商品的金额 第三章 财务模块的需求分析 - 14 - * 该商品的税额 K/3 根据此条信息生成一个会计分录的时候,需要生成一个会计科目。 该科目包含有 3 级,其形式为 1243.XXX.XXXXX 各级之间以圆点为分 隔符。其中第一级必须为一个 4 位的标准会计科目编码,对于津菱公司 而言,此编码为 1243,表示“库存商品” 。第二级为该商品的供应商在 津菱物流系统中的编码。第三级为该商品在津菱物流系统中的编码。 对于一个供应商的一次送货,津菱物流系统将生成一个凭证信息包,根 据该凭证信息包,K/3 软件系统将生成一张会计凭证。凭证信息包可单 个传输或多个一起传输。本模块应该能够防止某个凭证信息包被漏传, 或者由于误操作被多次传输。但是本系统应该能够允许用户由于某些原 因(比如上次传输失败)对某个信息包有意多次传输。在系统运行过程 中,如果有新的供应商或新的商品品种出现,需要津菱物流系统的使用 者,首先将这些更新信息加入到津菱物流系统中,然后通知 K/3 软件系 统的使用者将这些更新信息加入到 K/3 软件系统中,再进行凭证信息传 递工作。 三、本文所涉及到的财务模块的方面的需求 I.采购进货阶段采购进货阶段 基本业务流程 当物流部门接收到供应商送来的商品并做了进货操作后,打印进货 四联单,其中一联送财务部门进行会计核算,同时需要向财务部门 传递这些进货单的会计凭证信息,以供财务部门生成进货会计凭证。 一般情况下津菱公司首先向供应商下定单,由于一张定单上可定品 种数量有限制,最多 30(6)种商品,所以如果所订商品比较多时, 应该下几张定单,每张定单上有一个不同的定单号码。供应商按照 定单送货,一次送货只开具一张送货单,即可以多个定单对应一张 送货单 ,一张送货单对应一张销售发票。商品入库时开具进货单, 一张进货单上可进品种数量有限制,也是最多 30 种商品,那么进 货时一张送货单可以对应一张或一张以上进货单,进货单的号码与 第三章 财务模块的需求分析 - 15 - 定货单的号码是一致的,没到的货数量用零来记录,一张送货单对应 生成一次会计凭证信息,到货数为零的商品不生成会计分录。 估价入库、估价红冲、实价入库 在进货时,如供应商的销售发票和货物同时到达,则凭证信息中的 商品单价就是供应商销售发票中的商品单价,也就是该商品的实际 单价。否则凭证信息中的商品单价为津菱公司根据以往业务历史记 录,对该商品估计的一个单价,即估价。 1) 估价时应考虑以下两种因素:一是处在不同时期会有不同的 价格浮动,二是按所要数量不同供应商会给出不同的折扣。 2) 估价是可以改变的。 3) 估价出现在以下三种情况:商品基本信息导入时、下定单时 和商品进货时。当生成会计凭证时,价格是不能改变的,应 等于商品进货时的价格。 当有估价情况发生的时候,我们称对该商品的进货为估价进货, 估价进货不需要计算进项税额。当经过一段时间后(最长可达 3 个 月) ,厂家销售发票到达津菱公司的时候,需要将该商品的估价更 新为厂家销售发票中的实际价格。此时需要做以下会计业务处理: 将该商品的估价进货的记录红冲掉(红冲就是根据以前估价进货进 货单的数量、单价、合计金额,生成一个负数表示的相同的进货单 如:进货时数量为-5 单价为-10 金额为-50,则做红冲的进货单时数 量为-5 单价为-10 金额为-50) 。估价与销售发票上的实际价格有出 入,但在财务上规定不能有改动,所以需要将上次的记录取负值以 红色的形式再生成一次会计凭证,然后按照销售发票上的实际价格又 生成一次会计凭证。 会计凭证的生成是由津菱物流系统生成一个凭证信息包并将其 传递给 K3 系统,再由 K3 系统将生成一张会计凭证。 II. 盘点损益盘点损益 库存盘点能够及时了解库存账面与实际的差距,调整、结清保证了 第三章 财务模块的需求分析 - 16 - 库存账面与实际相符。津菱公司根据公司的规定进行定期或不定期的商 品盘点工作,按照需要也可以分成全盘和部分盘。盘点的流程是:初盘 数据导出,盘点启动,复盘数据导入,盘点复核。津菱物流系统会根据 需要生成盘点表,由津菱公司组织盘点工作形成盘点数据表,导入津菱 物流系统,由津菱物流系统计算出商品盘点盈亏情况表,经复核后打印 出商品盘点盈亏情况表,每种商品具此产生调增或调减商品数量和金额 的一条记录,并生成相应商品损溢处理的会计凭证信息,津菱物流系统 将生成一个凭证信息包并将其传递给 K/3 系统。根据该凭证信息包, K/3 系统将生成一张会计凭证。当盘点没有生成损益时就不需要生成会 计凭证信息。 第四章 财务功能模块的设计与实现 - 17 - 第四章第四章 财务功能模块的设计与实现财务功能模块的设计与实现 4.1 入库部分财务模块的设计与实现入库部分财务模块的设计与实现 在对津菱公司就采购进货部分的需求和财务业务流程进行详细分析后,入 库部分财务模块设计与实现可由下面章节加以阐述。 4.1.1 入库部分财务需求的分析入库部分财务需求的分析 根据津菱公司有关进货的实际的财务业务流程,并依据基本已开发完成的 物流系统的操作流程,对于津菱公司采购进货部分财务业务进行分析后,其基 本业务流程可由图 4-1 表示,并在此基础上对其财务业务的运作进行了简化性 地规定: 津菱公司在购货前首先应先向供应商下订单,由于物流系统产生的订单为 六联单,即一次订货可能会对应多个订单,也即一次订货可能对应多个订单号。 供应商为津菱公司送货时,必须出据一张送货单,发票可以随同到达也可 以迟于到达。由于在津菱的财务业务中,存在着送货单与厂商销售发票一一对 应的关系,并考虑为了以后查询的方便,需要为系统设定一个唯一标识的字段, 在经过对物流系统仔细分析后,选定系统暂时未用的送货单号作为该唯一标志 字段。即送货单号与销售发票单号是一一对应的,这就要为物流系统的进货的 子模块中增加判定送货单号唯一性的功能。 对于实价入库的需求分析,为了保证物流系统的仍能正常运作,解决方法 是,可以对数据库的相应表的原始记录进行修改,使之成为估价入库记录,随 后在该表中添加一条红冲记录和一条实价入库记录,并使得实价入库记录的各 字段除价格外,均与原始记录一样。只要保证物流系统对数据库表的操作只能 访问的是最新添加的实价入库的记录行,不能访问到估价入库记录和红冲记录, 而财务功能模块可以取到上述三条记录,那么问题就可以加以解决了。 第四章 财务功能模块的设计与实现 - 18 - 图 4-1 津菱公司进货阶段的基本业务流程 4.1.2 入库部分财务模块的设计入库部分财务模块的设计 津菱物流系统已实现的基本物流操作流程为,供货方将货物送达后,对于 仓储来讲,将产生一张入库单号。但从财务功能实现的角度考虑,由于入库单 号是津菱公司内部产生的编号,很难从入库单号查出相应的供货方送来的销售 凭证的信息。为了实现财务凭证的方便查询,不可能取入库单号作为唯一标识, 需要另取一单号作为唯一标识。经过仔细考虑后,选定系统暂未使用的送货单 号作为此唯一标识,即送货单号与仓库管理的入库单号一一对应关系。 做出上述分析和决定后,将面临了两个必须解决的问题。 问题一: 向供应商下订单 货物及送货单到达 是否随带销售 发票 生成会计凭证 估价入库 销售发票到达,红冲估价 实价入库 实价入库 N Y 第四章 财务功能模块的设计与实现 - 19 - 已实现的津菱物流系统入库部分的对送货单号的操作为,在登记入库阶段, 由操作人员手工录入。由于手工录入送货单号,难免会产生操作失误,那么对 送货单号的修改,原系统没有提供相应的功能。并考虑到由于只是送货单号出 现误差,而入库商品,在数量和价格上,没有任何变化。从财务逻辑上考虑, 对于送货单号修改地处理,不能通过财务上的红冲实现。 问题二: 送货单号唯一性的判定。由于津菱物流系统对送货单号的处理,只是作为 一个普通字符串,并未对其唯一性作严格的约束。 除了上述两个问题外,还有一个最重要的,即实价入库功能的实现的问题。 要实现该功能,需要对数据库的相应表作如下处理:首先将数据库中相应表的 原始记录的状态标志作更改,并在相应表中插入一条红冲记录,即将原始估价 的数量和价格都红冲掉,最后还要在表中插入一项实价记录。 4.1.3 入库部分财务模块的实现入库部分财务模块的实现 在入库部分财务模块的设计中,已经详细讨论了实现该功能,需要解决的 问题。下面部分将对上述问题,做出相应地解决。 I.问题一的解决: 登记入库阶段,涉及到的数据库的表为 Tbh_Order、Tbd_StkReg,送货单号 对应于 Tbd_StkReg 中的 ProvSupplyNo 的这一列。因此,对于送货单号的修改 需要更新 Tbd_StkReg 中的相应的 ProvSupplyNo 的一列。 为实现该功能,在物流系统的登记入库相应界面 W_imp_all 上,添加一个 名为“修改”的按钮,当操作人员点击该按钮时,送货单号一列为可编辑状态, 输入新的送货单号后,再点击“入库” ,即完成了对送货单号的修改。实现该功 能时,为物流系统新添加了一个转变状态,即状态 Modifing_ProvSupplyNo。 系统的状态图如图 4-2: 第四章 财务功能模块的设计与实现 - 20 - Initial Editing_AritInfo Editing_CellInfo Import_Confirmed Modifing_ProvSupplyNo ll_AllStatus0 = 1 ll_AllStatus10 = 1 ll_AllStatus5 = 1 press button 价 价 press button 价 价 图 4-2 状态图 页面初始调出来时,处于 Initial 状态,然后由状态决定变量 ll_AllStautus0、 ll_AllStautus5、ll_AllStautus10 分别决定此时系统将进入状态 Editing_ArtiInfo、Editing_CellInfo、Import_ConFirmed。当操作人员点击“修改” 按钮后,即进入状态 Modifing_ProvSupplyNo;完成修改后,点击“入库”按钮, 即进入入库提交阶段。 实现的代码如下: 当操作人员点击“修改”按钮后,系统状态转变为 Modifing_ProvSupplyNo。此时即可进行对送货单号的修改。 choose case is_state /*物流系统其他的几个状态*/ case “Modifing_ProvSupplyNo“ /*物流系统的状态为可修改送货单号时 */ ls_ProvSupplyNo =dw_artiinfo.object.ProvSupplyNo 1 update Tbd_StkReg 第四章 财务功能模块的设计与实现 - 21 - set ProvSupplyNo = :ls_ProvSupplyNo whereTbd_StkReg.OrdId in (select Tbh_Order.OrdId from Tbh_Order where Tbh_Order.OrdNo = :ll_OrdNo ); /*更新数据库中 Tbd_StkReg 表的 ProvSupplyNo 的值*/ for ll_aiRow = 2 to dw_artiinfo.rowcount() dw_artiinfo.object.ProvSupplyNoll_aiRow=ls_ProvSupplyNo next dw_artiinfo.object.ProvSupplyNtect = 1 of_SwitchState(“Import_Confirmed“ ) /*转化状态到确认状态*/ return 1 end choose 其中,dw_artiinfo 为一个 datawindow,在其中显示了登记入库的商 品信息,包括了送货单号;of_SwitchState 为自定义的一个处理状态转 变的函数;在更新语句中的 OrdNo 为订货单号。 II.问题二的解决: 对于送货单号唯一性的判断,是在一个自定义函数 of_checkprovsupplyno() returns integer 中实现的。 实现的代码如下: /*return : 2-送货单号在同一张订单中不唯一;0-送货单号在数据库中 已经存在;1-送货单号合法*/ long ll_aiRow /*用于 datawindow dw_artiinfo 中行数的计数*/ string ls_ProvSupplyNo /*送货单号*/ ls_ProvSupplyNo=dw_artiinfo.object.ProvSupplyNo1 for ll_aiRow=2 to dw_artiinfo.rowcount() if ls_ProvSupplyNo=dw_artiinfo.object.ProvSupplyNoll_aiRow then continue 第四章 财务功能模块的设计与实现 - 22 - else goto ProvSupplyNo_not_exclusive end if next /*用于判断 dw_artiinfo 中 ProvSupplyNo 的一列是否是一致的,因为在 物流系统实现时同一订单必定对应单一的送货单号。如果不一致即跳转 到 ProvSupplyNo_not_exclusive ,然后退出*/ DECLARE cur_ProvSupplyNo CURSOR FOR SELECT distinct ProvSupplyNo FROM Tbd_StkReg; OPEN cur_ProvSupplyNo; do string ls_psn fetch cur_ProvSupplyNo into :ls_psn; if (sqlca.sqlcode 0 ) then exit if ls_psnls_ProvSupplyNo then continue else goto ProvSupplyNo_have_existed; loop while true return 1 /*由游标 cur_ProvSupplyNo 在表 Tbd_StkReg 中搜索 dw_artiinfo 的 ProvSupplyNo 的值是否已经在数据库中存在了,如果存在将跳转到 ProvSupplyNo_have_existed */ ProvSupplyNo_not_exclusive: messagebox(“提示“,“送货单号应该唯一!“) return 2 第四章 财务功能模块的设计与实现 - 23 - ProvSupplyNo_have_existed: close cur_ProvSupplyNo; /关闭游标 cur_ProvSupplyNo string ls_impDateList=“ “ int n Declare cur_ImpDate Cursor For Select ImpDate from Tbd_StkReg where ProvSupplyNo = :ls_ProvSupplyNo; open cur_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论