对会计中凭证输入模块的一点看法

来源:互联网 发布:杨辉三角c语言程序数组 编辑:程序博客网 时间:2024/04/30 05:26
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

对会计软件中凭证输入模块的一点看法

                                                     武汉华中师大信管系  谢刚

摘要:

凭证的制作和处理是会计工作中最为重要的一环,特别是对会计电算化来说,就显得更重要了,应用软件来实现传统的会计过程,凭证是其他一切处理的基础。没有了凭证就没有会计软件后面的一切。而就凭证这块来说,最为基础也最为重要的当属凭证的输入。而凭证的输入的第一步就是确定此凭证的凭证编号,在会计软件中应该尽量的避免由人工来获取凭证编号,可实施的软件都应该由程序来自动获得凭证编号,因为前面说过,凭证编号不容错误。本文就凭证编号的获取过程进行以下讨论。使用开发工具:8.0+MSSQL-Server2000

 

关键字:

会计软件凭证输入凭证编号PowerBuilder8.0 SQL-Server2000

 

正文:

 

   一.传统方法的探讨:

通过对目前国内会计软件中凭证输入模块的调查分析,发现大部分软件的凭证输入模块在凭证编号获取上面使用的方法基本一致。使用方法如下:

在一张新的凭证输入之前,必须先确定这张凭证的凭证编号。一般做法为:由程序检查PPK(日库)记录。如果发现里面有记录,就取其最后一记录的凭证编号,再加上1就为正准备输入的这张凭证的编号;如果PPK库里面没有记录(说明正准备输入的这张凭证为本工作日的第一张凭证),就必须得访问pok&rq(当月月库)记录,如果发现里面有记录,同理取其最后一记录的凭证编号,再加上1就为正准备输入的这张凭证的凭证编号;如果POK库里面没有记录,就说明此天为月初的第一个工作日(但是这种情况一年一共就仅12次)。

 

二.亲自过程中的经验:

我在亲自设计凭证输入程序的时候(用PowerBuilder+MSSQL-Server2000设计),发现上述方法用语言实现起来具有以下不足:

第一:是在代码设计和维护的时候不方便,

第二:更为重要的是在凭证编号的连续性方便不好,比如:从工资模块转过来的工资凭证就不得不用一个新的凭证机制来存放这些凭证,

第三:还有就是浪费了很多系统资源,比如每次添加凭证的时候都要移动大量的记录,特别是在月初的第一个工作日,在月末也面临同样的问题(月到月末,表中的记录月多,移动的次数就月多)。

所以,我在实际设计的过程中,摸索出了一种新的思路来解决这个问题,可以很好解决上述三个问题,觉得这个思路有必要拿出来和大家共同商讨,具体实现思路如下:

第一:另外新建一个数据表(表名为HQPZBH):

字段名称分别为:ID,PZBH,字段属性分别为:integer,char型。建立好后进行附一组值(最好用程序来附值)。ID字段附值为1,PZBH字段为0000(根据具体的要求进行选择位数,如000000等)。

用程序实现代码如下(仅为参考,根据具体的语言变换形式):

(连接数据库语句省略,以下同)

insertintoHQPZBH(hqpzbh.id,hqpzbh.pzbh)

values(1,0000);

第二:每次在输入新的凭证之前获取该凭证编号的思路:

数据表HQPZBH里面始终只有一条记录,ID始终为1,PZBH是始终为库里面的最后一张凭证的编号。每次进行输入凭证获取凭证编号的时候就访问此数据表,读取表中PZBH字段的值,再加1就OK了。

用程序实现的代码如下(参考):

integer nowpzbh;(定义存储准备输入的这张凭证的凭证编号的变量)

//在表hqpzbh中获取pzbh字段的值,并放于nowpzbh变量中

select hqpzbh.pzbh1<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击