版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、物资进销存微机管理系统目录前言0第一章系统简述1第二章 设计方案提出1§1 问题的提出1§2 开发工具的选择1§3 管理系统设计方案的提出1第三章管理系统子模块的具体论证1§1物资管理1§2 进库管理1§3 销售管理1§4 库存管理1§5 系统维护1第四章 管理系统的特点1第五章 综述应用程序开发步骤1第六章 表结构1第七章收获与体会1打印要求:证书、简历各复印五份论文:要求:1. 报告一律用B5,四号字打印装订成册。2. 要求报告字数在15000字(30页)左右。简历:1.可以变动、修改2.纸张B5,字号不限3.
2、封面可以重新设计。前言计算机的出现和发展是当代科学技术最伟大的成就之一。随着科学技术的迅猛发展,计算机已成为各个科学领域中不可缺少的应用工具。计算机的普及和应用已成为一个国家现代化程度的重要标志。在今天的社会中,微机的普及加快了人们工作和生活的节奏,随着计算机应用的迅速普及,整个人类社会的信息化进程正在不断深入,信息技术正变得与我们每一个人都更加密切相关。在未来社会中,掌握计算机知识已成为对人才的最基本要求。时代在前进,人们的物质需要也越来越先进,作为现代化的企业,在激烈的竞争中,有必要建立尽可能完善的仓储管理系统。利用电脑承担起商品的销售管理工作。数据库技术是60年代末作为数据管理的最新技术
3、登上数据处理舞台的。近三十年来,数据库技术得到迅速的发展,现在已经成为计算机软件的一个重要分支。当今的管理信息系统、办公自动化技术、计算机集成制造系统(CIMS)和知识库系统等,大都离不开数据库技术。目前,商业和企事业单位,每天都要进行大量的商品买入和卖出,因此,我们为了适应这一市场需求开发了“物资进销存微机管理系统”小型软件,将计算机引入了企、事业单位。该软件是由Power Builder6.5作为client/server(客户端/服务器)前台开发工具进行编写的;由当今流行的数据库系统软件Microsoft SQL Server 7.0作为后台数据库进行管理维护的,其实此软件在一些发达国家
4、早已普及,现在在我国随着计算机的发展和人们的认可,此项技术也逐渐被认可和应用。第一章系统简述“物资进销存微机管理系统”是集财物管理、物资管理、人事管理、计算系统管理等一体的综合性大型Client/Server数据管理系统软件。该网络系统的各个终端是用前台开发工具Power Builder 6.5开发的,后台服务器是用大型数据库MS-SQL Server 7.0管理的。各个终端之间的信息传递是靠系统服务器来完成的。服务器上的各种信息是共享的。该微机管理系统包括物资管理、商品的入库管理、商品的销售管理、仓库的库存管理、统计销售管理及系统维护等几个子系统模块。而每一个子系统模块又根据其具体的功能划分
5、不同又分为若干个小模块,每一个小模块窗口都具有其不同的作用。我们此次开发的微机管理软件是以新潮公司为调查研究的对象。该公司以销售四季的男、女服装为主要营业项目。根据我们的调研,该公司的主要业务流程如附图一所示。根据该公司的业务流程图(附图一)我们可以将它分为几个小的业务流程:1、购货入库业务流程:该公司向各商客订货购买入库,此时该公司工作人员需填写入库单据进行入库登记。此时工作人员需在库存账簿中查找该商品是否以前曾经购入过,如果以前曾购入过该商品,那么只需将此次购买的商品数量在原有的基础上进行累加。若该商品在以前未曾购入过,则需在账簿中增加一条新的商品,并登记该商品的属性,如商品名称、商品规格
6、、库存数量、单位、进价该商品在购入的同时还要进行财物的处理登记是现金支付还是支票支付或是赊账等。2、售货出库业务流程:当有用户向该公司购买商品时,工作人员需要填写领物单据,此时仓库管理售货员就要到仓库中查看该商品是否还有存货,如果仓库中没有该商品或商品数目不够时,就要通过工作人员向客户做出解释停止此次购物交易。如果仓库中还有该商品,那么仓库管理人员就要进行出库登记,并填写出库单据,然后仓库管理员将商品提取出库交给工作人员,并修改账簿,将原有该商品库存量减少相应的数目。工作人员此时就可将商品组装或销售出去,但在售出商品同时要进行财物的处理。3、客户退货流程:当客户发现购买的商品出现损坏,合理地要
7、求退货时,我们此时需要填写一张退货入库单据,将该商品进行重新登记,并修改库中记录。与此同时还要进行财物处理退还客户的现金。使客户重新购买或退款。4、退货给商家的业务流程:当工作售货员发现商品非人为性损坏时可将该商品向商家要求退货或更换,此时处理这些损坏商品时需填写退货出库单据,将商品进行出库登记并修改其库存记录。当将该商品退还给商家时还要进行财物的处理。以上流程是我们经过调研所确定的几个主要业务流程。第二章 设计方案提出§1 问题的提出对于一些中小型企业来说,单凭手写、手算的工作方式统计、处理数据,既费时又费力,查阅也很不方便。当工作量过多的时候,所需的工作人员也会相应的增加,在办理
8、各种手续、填写各种单据、计算一些数据时,又显得过于繁锁,常常弄得情况混乱。如果一时疏忽,一次处理不好也可能会给今后的工作带来更多的麻烦,使情况变得越来越复杂。针对新潮公司的调查研究来看,它所存在的弊端在于以下几点:一、不易及时地反馈所需要的信息。当公司的主管人员想知道目前或某一时刻仓库中某种商品的库存量是多少时,只有通过工作人员当时的盘点才能得出,但是盘点货物是一项十分费时的工作,它是通过工作售货员的整理、点数、统计、合算等若干步骤来实现的,少则需要十几分钟,多则需要几个小时,这样一来就很难做到及时反馈信息的需求。二、统计不准确。由于该公司商品的买、卖都是经过流水账来记录下来的。在每日打烊后才
9、进行核算工作,在核算的过程中大部分都是人工手工作业,他们要将每一笔业务进行查看、核对、统计。如果稍一疏忽点错一位小数或写错一位数字,都会使计算出来的数字不能准确的反映出所需的实际数值来。三、费时、费力。由于一时失误将统计出的数据计算使帐实不符,那么就要重新进行每项业务的核算。这样一来不但浪费了宝贵的时间,还浪费了不少的精力在查明帐实不符的原因上。§2 开发工具的选择该管理系统是基于Power Builder 6.5的基础上开发出来的一个小型软件。Power Builder 6.5是美国的Power Soft公司最新推出的客户/服务器应用程序开发工具。它必须在Windows 98或NT
10、环境下运行,它所采用的图形用户界面这使得程序能够快速容易地开发出相互独立的对象,而这此对象可供其它程序员共享可重复使用。Power Builder 6.5是一种大型数据库管理系统,是客户/服务器体系结构的数据库应用程序开发工具,是一种面向对象的图形方式的集成开发工具,并可作为Sybase、Oracle、Infomix等数据库系统的前端开发工具。使用Power Builder 6.5应用程序的开发者不需要使用C或C+语言就能编写出具有类似于Windows系统的界面更好、更美观的应用程序。Power Builder 6.5的主要几个特点有:1、使用Power Builder 6.5只需要设置与相应
11、数据库的连接,就可以同时使用几个数据库。不需要像以前那样,使用什么数据库就要安装和启动什么样的数据库管理系统,使用都还须同时要掌握几种不同的数据库管理系统的使用方法。2、使用Power Builder 6.5可以从一个数据库中一个表或几个表生成各种各样的数据窗口,比如标签式数据窗口、分组式数据窗口、图表式数据窗口等。如果数据库系统支持存储过程,则还可以从存储过程生成数据窗口,从而更增加了数据窗口的灵活性,进一步丰富了用户界面。3、使用Power Builder 6.5可以设计出丰富多彩的用户界面。在用户界面中可以调用数据窗口;可以在界面中放置各种控制部件,如命令按钮,图形图片,图表等。因而可以
12、设计出完全图形化的界面,方便用户的操作和使用。4、使用Power Builder 6.5设计数据库应用程序,不但可以设计出非常丰富的用户界面,而且几乎不需要编写多少程序,就能开发出功能强大的应用程序。§3 管理系统设计方案的提出现在,管理科学化与管理手段的现代化已经提到了非常重要的地位。企、事业单位为了提高自身的管理水平和竞争能力,纷纷投入人力物力财力,开发适合本单位需求的管理信息系统。而他们最需要的就是价格适中,实用性强,能给他们带去实际利益的管理软件。“物资进销存微机管理系统”就是非常适合大部分的中小型企业的一套实用性非常强的系统,一个好的物资进销存微机管理系统,既节省了人力减轻
13、了劳动强度,又降低了成本节省了开支。它进行有效科学的管理,准确、及时地统计各种数据,增强了企业在同行业中的竞争能力,并能完全替代原先繁锁、沉重、效率低、易出错的工作方式,使之能更灵活地应用于各个单位的部门,为企业创造更多的经济效益。而现今的社会又是一个信息的社会,计算机作为传播信息的一个重要媒体在社会得到了广泛的应用,以上的问题何不用计算机来解决呢?计算机具有存储量大、速度快、查询简便、计算精度高等特点。因此,我们为以上提出的问题得以解决而开发了“物资进销存微机管理系统”的基本模型。从而避免或减少各种损失,实现了上一章所提到的该管理软件的各项功能。“物资进销存微机管理系统”设计方案包括数据库设
14、计和功能模块设计两大部分。一、数据库设计为了实现物资进销存微机管理系统的各个功能模块,就应该针对数据库进行系统而有序的设计。在此我们为该数据库命名为Wz.pbl在该数据库中主要包括以下几个表:1、 物资表(STOCK):该表的主要功能是将公司的所有物资进行登记,使仓库中的物资有一个统一的规范的管理。它的主要字段有:物资编号、物资名称、拼音名、规格、生产单位、库存数量、单位、进价、批发价、售价和最低限量、类型。其中物资编号为主关键字,因为它在此表中是唯一的字段值,因为每一个商品都有一个自身在仓库中的编号,就像每样商品都有唯一的一个条形码一样。2、 进库登记表(INSTOCK):每批商品在进库时都
15、要进行登记,这与物资表有所不同,在物资表中每种商品只有一条记录,而在该表中它可以有多条同商品的记录,这是因为它入库的时间不同。其中该表的主要字段有:进库编号、物资编号、进库数量、单位、进价、已售数量、进库人、进货渠道和摘要。其中进库编号为主关键字段,因为它也同样是唯一性的。3、 售货记录主表(SELLP):由于售货过程是十分简单的过程,它只是一买一卖两个动作即达成售货这一过程。但是简单的交易却反应出许多不同方面的内容,如它的财物核算、营业效率等等,只有通过销售的记录才能反应出。因此,为了防止有些字段在不同地方的多余使用及防止过多记录造成的冗余量,我们将售货记录分为两个表记录不同内容。而该表为销
16、售记录的主表,它记录的主要字段有:发票号、售货日期、总金额、支票号、售货员号、用户名称、用户电话和摘要。该表主要用户公司自己留底及查询统计有关数据或信息。此表由售货日期加上发票号作为索引。4、 售货记录从表(SELLS):该表主要字段有:发票号、序号、物资编号、数量、单位、进价、售价、金额和实际售价。此表主要用于打印售货单,将每一位顾客的购货记录下来,可一式两份,自己公司留一份作为留底,另一份给顾客,以明细的列出他们所购物品。该表的索引是以用户名称加上售货日期再加上物资编号为标准。5、 借出记录表(LOAN):该表主要用于有些熟客在该公司进行的赊账记录。该表主要记录赊账客户的主要信息,其字段包
17、括:用户名称、借出日期、物资编号、数量、单位、折扣、实际售价、售货员、用户电话、发票号和摘要。6、 工作人员表(SELLER):该表用于系统对营业售货员的管理,它的主要字段包括:编号、姓名、职务、权限、口令。7、 供应商资料表(SUPPLIER):此表主要记录供应商的相关信息。主要字段包括:供应商编号、供应商名称、供应商单位、供应商地址、供应商电话、供应商传真、供应商账号及备注几个字段。8、 报损表(BSB):它的主要功能是将公司所有损坏的商品进行登记记录。它的字段包括:报损表编号、物资编号、物资名称、报损名称、单位和备注。9、 退货出库表(THCHKB):是将要退给商家的货物进行登记,以便公
18、司售货员查询管理它的字段包括:退货编号、物资编号、物资名称、进库编号、退货日期、退货数量、进价、进货人、进货渠道和摘要。10、 退货入库表(THRKB):该表是将客房退回的商品进行返回登记以备抵账,它的字段包括:退货编号、售货日期、发票号、售货数量、售货金额、支票号、售货号、用户名称、退货日期、退货人和备注。11、 顾客表(CUSTOM)它的字段包括:姓名、性别、年龄、职务、单位、地址、电话、传真、帐号、备注。12、 数据备份表(SJBF)它的字段包括:备份序号、备份年份、备份月份、备份日期、备份人、备注。13、 GRAPHICS它的字段包括:年、月、日、物资编号、销售额、利润。 二、功能模块
19、设计“物资进销存微机管理系统”的基本结构模型如下图所示(整体管理系统图见附图四)物资进销存微机管理系统物资管理进库管理库存管理系统维护销售管理统计计算我们可以将六个模块再具体化:物资管理增新物资显示物资管理查询物资打印物资报价单1、物资管理(1)显示物资管理:该模块是将公司的所有物资进行显示列数,并将其物资表按照字段的排列顺序显示成报表的形式。(2)增加新物资:该模块是将原先物资库中不存在的新物资增加并保存到物资库中。(3)查询物资: 该模块可将物资按其拼音名进行查询度显示出符合条件的物资。(4)打印物资报价单:该模块的主要功能是将该公司所要出售的商品以报价单的形式打印出来。2、进库管理进库管
20、理退货出库查入库单登记入库(1)登记入库:它是将采购人员每一笔购回的商品进行入库登记的录入,以方便日后的管理。(2)查入库单:将已入库的记录以列表方式显示出来以方便公司工作售货员的管理。(3)退货出库:该模块将公司里已有损坏的商品进行退货给商家的库管理。一旦损坏的商品退出,其相应的表中就要增减相应的字段值。3、销售管理销售管理退货登记营业员结算销账处理售货登记查售货单(1)售货登记:该模块是将售出的货品进入账目登记,可同时在此打印出售货单据。(2)退货登记:该模块是将客户买走的商品退回,并将其退回的商品进行登记,以备抵账时用。(3)销账处理:该模块是核对退货单据,并进行以前销售货物的销账处理。
21、(4)查售货单:它是将一段时间内出售的货物以列表的方式显示出来以方便工作售货员的查询、管理。(5)营业员结算:将每一个营业员在一定的时间内售出的货物进行汇总结算,以显示出营业员为公司创造的效益高低。4、库存管理库存管理库存盘点供应商管理报损登记查询库存缺货报告修改库存限量(1)查询库存:将仓库中所有的物资的字段值以列表的方式显示出来。以方便售货员的查看与管理。(2)库存盘点:进行存货的清查,即检查账面数量与库存实际数量是还相符。如果不符查明原因,然后调整账面数量,使账实相符。(3)报损登记:对损坏的物品进行登记出库。(4)缺货报告:由于每一物资都有一最低限量,这里就是将不满足最低限量的物资以报
22、表的形式显示出来,以提示采购售货员应该购入该物资。(5)供应商管理:该处是将所有与本公司有业务往来的供应商的具体情部在此处管理,也可查询供应商的具体信息。(6)修改库存限量:该处是用于对库存的修改并保存。5、查询统计:查询统计顾客查询物资顾客查询物资销售统计(1)销售统计:该模块是通过按钮来完成显示日销售统计报表,月销售统计报表及年销售统计报表。(2)销售比较:该模块同样是通过单选项来完成显示当年或当月的销售统计图。6、系统维护系统维护人员管理系统退出定义系统客户管理树型结构实验(1) 人员管理:通过该模块可以管理营业人员,可将他们的姓名、口令及权限在此处设定, 可以进行售货员的增加或删除管理
23、。(2) 客户管理:通过该窗口可以查询客户的信息并且可以增加、删除、保存记录。(3) 树型结构:列出库的结构,属性。(4) 系统退出:该模块是为安全退出该微机管理系统的一层保护提示内容。可通过确认命令来完成有效的操作。(5) 实 验:一个具有动画功能的窗口,用于统计数据。(6) 定义系统:用于建立数据库、ODBC、创建表第三章管理系统子模块的具体论证§1物资管理一、显示物资管理该窗口是将物资表在本窗口中完全的显示出来。首先创建一个数据窗口对象,在创建时选中物资表,将其中所有的字段全部选中,并在数据窗口中进行具体的完善工作。如:字体、字号、颜色、大小。完善工作做好后保存该数据窗口,接下
24、来创建窗口,打开“窗口”画板的工作区,定其窗口的大小及位置,并在窗口中添加一个“退出”按钮,再添加一个数据窗口在该窗口中,并将刚才做好的数据窗口在此处提交。然后可以通过预览按钮,进行预览窗口,最后进行更完美的修饰工作。此时就可将该窗口连接到子菜单中。单击子菜单中显示物资管理命令即可打开该窗口此时窗口会显示出完整的记录。再通过退出按钮来关闭此窗口。二、增加新物资在此窗口中有一个数据窗口和几个按钮。其中按钮包括:添加按钮、保存按钮、删除按钮、取消按钮和退出按钮。在此窗口中可以往数据窗口中输入新记录的各个字段值。它的操作方法是先单击添加按钮,此时它将数据窗口中添加一条空,此时可通过键盘的输入来增加新
25、物资的各个字段值,当输入完毕后,单击保存按钮即可将该条记录保存到物资列表中。在此处我们还可以对物资库进行修改工作,即通过滚动条在数据窗口中找到所要修改的记录并对其修改,然后单击保存按钮,即可更新物资表。在该窗口中还可以删除记录,即通过滚动条选择要删除的记录,再单击删除按钮即可。取消按钮是将最近一步的操作进行取消。最后一具就是退出按钮,单击按钮可关闭增加新物资的窗口。1. 应用的脚本:/* * Function : 打开窗口 * * Author: zh.x * * Create date: 2001/11/25 * */long rsmstringxq, hhdw_1.ShareData(dw
26、_2)dw_1.SetTransObject(sqlca)dw_2.SetTransObject(sqlca)rsm = dw_1.retrieve()if rsm<=0 thencb_2.Enabled = FALSEelsecb_2.Enabled = TRUEend ifCOMMIT USING SQLCA ; dw_1.SetRowFocusIndicator(Hand!)dw_1.SetFocus()xq="日一二三四五六" hh="操作员:"+" 日期:"+string(Today(),"yyyy-mm-d
27、d")+space(1)+& "星期"+mid(xq,DayNumber(today()*2 - 1, 2)this.Title = "增加新货物"+space(50)+hh2。Dw_2的脚本:/* *处理主从数据窗口中的键盘事件* */Choose Case KeyCase KeyEnter!, KeyDownArrow!, KeyUpArrow!, KeyPageDown!, KeyPageUp!/ 数据窗口中的默认行为是接受输入值,所以我们执行了同样的动作this.AcceptText()Return 1Case KeyTab!t
28、his.SetRedraw(FALSE)this.Post Function ScrollToRow(this.GetRow()if KeyFlags=1 then/ Shift-Tab陷阱并捕获光标回到附窗口dw_1.SetRedraw(FALSE)this.Post Function SetFocus()dw_1.Post Function SetRedraw(TRUE)end ifthis.Post Function SetRedraw(TRUE)End Choose三、查询物资该窗口可通过拼音名对物资库进行查询。用户可以输入拼音名的专访输入要查询物资的拼音名,然后单击刷新按钮,即可将要
29、查询的物资列表显示在数据窗口的位置上。如果要再查询其它的物资,可再次输入其拼音名,单击刷新按钮即可。该窗口中还有一个打印按钮,单击该按钮可将刚刚查询过的记录以报表方式通过打印机打印出来。最后就是退出按钮了,通过单击该按钮可以关闭该窗口退回到主菜单的界面。通过以上的介绍就能了解到该窗口中包含一个数据窗口、三个命令按钮及一个待输入的文本框。四、打印物资报价单由于公司要向客户提供所出售物的情况,而报价单是客户的需要的一个重要信息,因此我们有必要将其打印出来,提供给每一个需要信息的用户。单击主菜单“物资管理”中的“打印物资报价单”子菜单命令即可进入该窗口。该窗口中数据窗口的地方显示出所有的物资的报价单
30、,其中主要字段包括:物资名称、物资规格、生产单位、单位、售价。此时可单击打印按钮,将其报价单通过打印机打印出来。最后也是退出探险钮。通过该按钮呆关闭此窗口,退回到主菜单界面。1 应用的脚本:/* * Function : 打开窗口 * * Create date: 2001/8/1* */longrsmstringxq, hh, strdw_1.SetTransObject(sqlca)rsm = dw_1.retrieve()COMMIT USING SQLCA ; / 改变当前行光带if rsm > 0 thendw_1.SelectRow(0, FALSE)dw_1.SelectR
31、ow(1, TRUE)end ifxq="日一二三四五六" hh="操作员:"+" 日期:"+string(Today(),"yyyy-mm-dd")+space(1)+& "星期"+mid(xq,DayNumber(today()*2 - 1, 2)this.Title = "报价单"+space(50)+hh2 Dw_print的脚本:longrowmstring scode, stextCHOOSE CASE sqldbcodeCASE -3 / 在检索和更新之
32、间数据发生变化ROLLBACK USING SQLCA ;MessageBox("警告信息", "更新操作失败, 其他部门改变了数据, 请重新操作", exclamation!)if Buffer=Primary! thenthis.ScrollToRow(Row)this.SetFocus()this.ReselectRow(Row)elseMessageBox("警告信息","更新操作失败,其他部门修改了删除数据,请重新检索",exclamation!)end ifCASE 515ROLLBACK USING
33、SQLCA ;MessageBox("错误提示", "有些内容未填写, 请填写全部信息", exclamation!)CASE 1205/ 死锁ROLLBACK USING SQLCA ;MessageBox("错误提示", "其他部门争抢资源造成操作失败, 请重新操作", exclamation!)CASE 2627ROLLBACK USING SQLCA ;MessageBox("错误提示", "编号重复, 请重新操作", exclamation!)CASE ELSERO
34、LLBACK USING SQLCA ;scode = "数据库出错, 错误代码"+string(sqldbcode)stext = "更新操作失败, 数据没有变化. 错误原因为"+sqlerrtext+"n"+"错误语句为"+sqlsyntaxMessageBox(scode, stext, stopsign!)END CHOOSEreturn 13 Dw-1的脚本:/ 改变当前行光带this.SelectRow(0, FALSE)this.SelectRow(CurrentRow, TRUE)§2 进
35、库管理进库管理是物资进、销、存微机管理系统三大重要环节中的一个重要模块,从字面上理解可以看出此系统的三大环节是“进、销、存”,而进库管理则代表此系统的“进”。它也是完成商品存储,销售的前提。完成好进库管理模块的程序设计对整个系统起着重要的作用。特别是对“库存管理”模块是必要的前提条件,它直接影响着库存管理发挥作用,因为进库数据的改变就一定改变“库存数量”字段。总之,进库管理对系统发挥功效起着举足轻重的作用。进库管理模块根据功能的不同分为三个子模块:进库登记表、入库单据查询、退货出库登记表。下面详细介绍此三个子模块的功能与操作方法。一、进库登记表子模块功能介绍:当采购员将物资从供货商采购到时,将
36、物资送入库房,库房验收人在采购清单上填写有关信息,采购员携采购清单到供应科,微机操作人员根据采购清单录入,进行进库登记,填写必要的属性值。进行保存管理。值得注意的是:当填写进库数量时,相应就会将库存管理中的库存数量累加。操作方法:当进入用户主窗口时可从此界面中看见进库管理菜单,鼠标单击此项出现下拉式菜单栏分别有:进库登记表,入库单据查询、退货出库登记表三个子模块,单击鼠标出现“进库登记表窗口”(见附图)看见该窗口中有一个“数据窗口”和五个按钮。数据窗口中摆放着所要填写录入的字段名,它连接着“入库表”,当有商品进行进库登记时,可以按“入库”按钮,在各字段中填写信息,此后填写完毕请按“保存”按钮。
37、此时弹出“寻问对话框”,寻问是否保存当前记录,单击“确定”即可完成此次操作,否则按“取消”按钮。如果在填写时有错误信息,超出了事先约定的数据范围时,系统提示无法保存与保存失败对话框,请重新填写。当填写时录入了与实际不符的数据时,而系统保存成功了,则可以“取消”按钮消除上保存的操作。完成操作即可按“退出”按钮,退出进库登记表窗口。1 应用的脚本:/* * Function : 打开窗口 open事件 * Create date: 2001/8/1 * */longrsmstringxq, hhids_Data = Create DataStore /创建一个数据存储对象。ids_Data.Dat
38、aObject = "d_stockpym"ids_Data.SetTransObject(SQLCA) /SetTransObject() 给数据存储对象设置事务对象, /并提供控制事务的能力,包括程序中提交事务的能力。dw_1.ShareData(dw_2) /ShareData()在主数据存储对象与辅数据存储对象之间共享数据。dw_1.SetTransObject(sqlca)dw_2.SetTransObject(sqlca)dw_1.Reset() /Reset()清除数据存储对象中的所有数据。dw_1.SetRowFocusIndicator(Hand!) /设
39、置行光标指示为手。dw_1.SetFocus() /设置跟踪光标。 xq="日一二三四五六" hh="操作员:"+" 日期:"+string(Today(),"yyyy-mm-dd")+space(1)+& "星期"+mid(xq,DayNumber(today()*2 - 1, 2) /Space()生成一个由空格组成的指定字符个数的字符串。 / DayName()得到指定日期是一周中的星期几 /(例如,Sunday, Monday.)。this.Title = "登记入库单
40、"+space(50)+hh2 Dw-1的脚本:longrowmstring scode, stextCHOOSE CASE sqldbcodeCASE -3 / 在检索和更新之间数据发生变化ROLLBACK USING SQLCA ;MessageBox("警告信息", "更新操作失败, 其他部门改变了数据, 请重新操作", exclamation!)if Buffer=Primary! thenthis.ScrollToRow(Row) /ScrollToRow()滚动数据窗口控件的显示到指定行,该函数改变当前行但不改变当前列。/this.
41、SetFocus() /设置跟踪光标。this.ReselectRow(Row) /ReselectRow()访问数据库,重新选择所有被修改的列.elseMessageBox("警告信息", "更新操作失败, 其他部门修改了删除数据, 请重新检索", exclamation!)end ifCASE 515ROLLBACK USING SQLCA ;MessageBox("错误提示", "有些内容未填写, 请填写全部信息", exclamation!)CASE 1205/ 死锁ROLLBACK USING SQLCA
42、 ;MessageBox("错误提示", "其他部门争抢资源造成操作失败, 请重新操作", exclamation!)CASE 2627ROLLBACK USING SQLCA ;MessageBox("错误提示", "编号重复, 请重新操作", exclamation!)CASE ELSEROLLBACK USING SQLCA ;scode = "数据库出错, 错误代码"+string(sqldbcode)stext = "更新操作失败, 数据没有变化. 错误原因为"+s
43、qlerrtext+"n"+"错误语句为"+sqlsyntaxMessageBox(scode, stext, stopsign!)END CHOOSEreturn 13 Dw-2:longrowmstring scode, stextCHOOSE CASE sqldbcodeCASE -3 / 在检索和更新之间数据发生变化ROLLBACK USING SQLCA ;MessageBox("警告信息", "更新操作失败, 其他部门改变了数据, 请重新操作", exclamation!)if Buffer=Prima
44、ry! thenthis.ScrollToRow(Row) /ScrollToRow()滚动数据窗口控件的显示到指定行, /该函数改变当前行但不改变当前列。this.SetFocus() /设置跟踪光标。this.ReselectRow(Row) /ReselectRow()访问数据库,重新选择所有被修改的列.elseMessageBox("警告信息", "更新操作失败, 其他部门修改了删除数据, 请重新检索", exclamation!)end ifCASE 515ROLLBACK USING SQLCA ;MessageBox("错误提示&
45、quot;, "有些内容未填写, 请填写全部信息", exclamation!)CASE 1205/ 死锁ROLLBACK USING SQLCA ;MessageBox("错误提示", "其他部门争抢资源造成操作失败, 请重新操作", exclamation!)CASE 2627ROLLBACK USING SQLCA ;MessageBox("错误提示", "编号重复, 请重新操作", exclamation!)CASE ELSEROLLBACK USING SQLCA ;scode = &
46、quot;数据库出错, 错误代码"+string(sqldbcode)stext = "更新操作失败, 数据没有变化. 错误原因为"+sqlerrtext+"n"+"错误语句为"+sqlsyntaxMessageBox(scode, stext, stopsign!)END CHOOSEreturn 1二、入库单据查询子模块功能介绍:主要用于某种物资入库单据的查询及打印。由于同一种物资可分批入库的特点的存在,在入库单据中就体现了多张入库单的存在。只是其中各别字段不同。例如:进库日期、进库编号(国为它是主关键字)。而物资编号相
47、同,抓住这一特点,我们可以按物资编号进行查询,再进行日期排序就可以展现给我们该商品进库全貌。操作方法:单击进库管理菜单栏内的查询子模块,出现入库单据查询窗口(见附图)。在输入条中,输入要查询的物资编号后按回车,数据窗口中则显示出符合条件的数据信息。如果需打印则按“打印”按钮。“刷新”按钮用于消除此次查询结果,供再次查询使用。完成查询功能后按“退出”按钮。退出此窗口。1. 应用脚本:/* * Function : 打开窗口 * Create date: 2001/8/1 * */long rsmstringxq, hhem_1.text = string(today(), 'yyyy-m
48、m-dd')em_2.text = string(today(), 'yyyy-mm-dd')dw_1.ShareData(dw_2)dw_1.SetTransObject(sqlca)dw_2.SetTransObject(sqlca)dw_1.SetRowFocusIndicator(Hand!)dw_1.SetFocus()xq="日一二三四五六" hh="操作员:"+" 日期:"+string(Today(),"yyyy-mm-dd")+space(1)+& "星期
49、"+mid(xq,DayNumber(today()*2 - 1, 2)this.Title = "查询入库单"+space(50)+hh2. Dw-1:longrowmstring scode, stextCHOOSE CASE sqldbcodeCASE -3/ 在检索和更新之间数据发生变化ROLLBACK USING SQLCA ;MessageBox("警告信息", "更新操作失败, 其他部门改变了数据, 请重新操作", exclamation!)if Buffer=Primary! thenthis.ScrollT
50、oRow(Row)this.SetFocus()this.ReselectRow(Row)elseMessageBox("警告信息", "更新操作失败, 其他部门修改了删除数据, 请重新检索", exclamation!)end ifCASE 515ROLLBACK USING SQLCA ;MessageBox("错误提示", "有些内容未填写, 请填写全部信息", exclamation!)CASE 1205/ 死锁ROLLBACK USING SQLCA ;MessageBox("错误提示"
51、;, "其他部门争抢资源造成操作失败, 请重新操作", exclamation!)CASE 2627ROLLBACK USING SQLCA ;MessageBox("错误提示", "编号重复, 请重新操作", exclamation!)CASE ELSEROLLBACK USING SQLCA ;scode = "数据库出错, 错误代码"+string(sqldbcode)stext = "更新操作失败, 数据没有变化. 错误原因为"+sqlerrtext+"n"+&quo
52、t;错误语句为"+sqlsyntaxMessageBox(scode, stext, stopsign!)END CHOOSEreturn 13. dw-2: longrowmstring scode, stextCHOOSE CASE sqldbcodeCASE -3 / 在检索和更新之间数据发生变化ROLLBACK USING SQLCA ;MessageBox("警告信息", "更新操作失败, 其他部门改变了数据, 请重新操作", exclamation!)if Buffer=Primary! thenthis.ScrollToRow(R
53、ow)this.SetFocus()this.ReselectRow(Row)elseMessageBox("警告信息", "更新操作失败, 其他部门修改了删除数据, 请重新检索", exclamation!)end ifCASE 515ROLLBACK USING SQLCA ;MessageBox("错误提示", "有些内容未填写, 请填写全部信息", exclamation!)CASE 1205/ 死锁ROLLBACK USING SQLCA ;MessageBox("错误提示", &qu
54、ot;其他部门争抢资源造成操作失败, 请重新操作", exclamation!)CASE 2627ROLLBACK USING SQLCA ;MessageBox("错误提示", "编号重复, 请重新操作", exclamation!)CASE ELSEROLLBACK USING SQLCA ;scode = "数据库出错, 错误代码"+string(sqldbcode)stext = "更新操作失败, 数据没有变化. 错误原因为"+sqlerrtext+"n"+"错误语句
55、为"+sqlsyntaxMessageBox(scode, stext, stopsign!)END CHOOSEreturn 1三、退货出库登记表子模块功能介绍:物资退货分为两种方式:一种退货入库的它是指:顾客出于某种原因提出退货,那么就将物资重新存入仓库,仓库库存量相应增加。另一种是退货出库它是指:仓库中的物资有质量问题无法销售要退给供货商,那么仓库库存量相应的减少。无论是哪一种退货方式都要填写退货登记表,记录数据信息,以方便库存管理。此模块属于退货第二种方式。操作方法:单击退货出库登记表子模块,出现退货出库登记表窗口(见附图)操作与入库登记类同不再介绍。进库登记表与查入库单据,
56、都是基于“进库表”开发出来的,而退货出库登记表则是基于“退货出库表”开发出来的。整个进库管理模块具有用户界面友好,易操作等特别,方便了用户的使用。§3 销售管理销售货品有多种方式,各种各样。其中有的是现款销售,即在出售货品的同时收取货款;有的是与长期客房交易,发生的欠款销售。即出售货物给客户时,客户利用在帐余额付款或分期付款,或在以后某个期限内付款的交易都属于这种类型;有的还是以订单的形式作为销售货品的前提,每张销售订单还可以订购多种货品。总之,销售管理模块是整个系统中最为繁锁,也最为重要的一个环节。它与其他各个模块或多或少地都有些联系,可以说,销售管理模块发挥举足轻重的作用。它共分为五个子模块。一、售货登记售货等于物资出库。当销售某种物品时,首先要对库存进行查看,看一下仓储量是否能达到销售数量。如果满足则从库房中提取物资。否则,就要打出“缺货报告”,督促采购员加紧进货。这一点直接与库存管理模块中的查询库存子模块相联系。当顾客要购买货品,也确定了仓库中确定还有库存的时候,就要先由工作人员填写该出库单,输出库手续
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025股权质押合同精简版范本
- 以房偿债协议书
- 2025国际工程采购合同(标准) 工程采购合同
- 抹灰安全协议合同范本
- 著作权授权协议书
- 电商商户入驻协议书
- 2025租赁合同范本封面
- 2025年低空经济适航审定能力不足的问题诊断与对策报告
- 口腔颌面外科学
- 2025年低空智联网建设标准前瞻与通信基站布局优化策略分析报告
- 干洗店合作经营协议
- START检伤分类法课件
- 《乡村电子商务培训》培训教学大纲及教学计划
- 2023年初级会计师《初级会计实务》真题及答案
- 卧床病人大小便管理
- 《科学计算语言Julia及MWORKS实践》全套教学课件
- 与法同行主题班会课件
- 学习通《科研诚信与学术规范》课后及考试答案
- 中国帕妥珠单抗生物类似药行业市场现状分析及竞争格局与投资发展研究报告2024-2029版
- 人教新目标八年级英语上册《任务型阅读》专项练习题(含答案)
- 计算机基础知识题库1000道带答案(满分必刷)
评论
0/150
提交评论