论文部分内容阅读
摘要:该系统是为改变一个五金批发部以人工手写管理的现状,而设计的一个进销存管理系统。系统的主要功能是对商品的进货、销售和库存进行监控、调配和管理,以实现商品进销存管理的信息化、自动化和科学化。该系统的前台应用程序界面采PowerBuilder 9.0开发,后台数据库选用PowerBuilder自带的关系数据库Sybase SQL Anywhere。在系统设计中,详细的展现了系统的各个功能模块,所需的数据库表、表字段以及菜单的设计等。
关键词:PB;关系数据库;数据窗口
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)36-2648-03
Design and Realize the Small Purchase Sales and Inventory Management System Based on PB
ZHAO Feng-hang
(Qinghai Normal University, Xining 810008, China)
Abstract: The system is designed as a Purchase, Sales and Inventory Management System for a hardware wholesale in order to change the status of managing by handwriting. The main functions of the system is monitoring, deploying and managing all the goods in order to achieve management informationautomation and scientific.The foreground application procedure interface of the system is developed by PowerBuilder 9.0, and the background database is created by therelational database Sybase SQL Anywhere which belongs to the PowerBuilder. In the system design, showing in detail the various systems function, the necessary database tables, table fields, as well as the menu design.
Key words: powerbuilder; adaptive server anywhere database; dataWindow
1 引言
随着计算机技术的不断发展,许多企事业单位的管理都实现了办公自动化,在手工管理的情况下,销售人员很难对客户作出正确的供货承诺,对库存数量没有明确评估,不能及时进货,这在激烈竞争的市场中是非常不利的。为了能够高效地管理博业批发部的进销存信息,老板提出使用计算机进行信息的管理,使管理科学化,最大限度地减少信息损失,提高利益。所以本系统是针对博业五金批发部的进货、销售、和库存基本上以手工管理手段,信息化程度非常低的情况,而设计的一个进销存管理系统。
2 PowerBuilder相关技术
2.1 数据库的创建与连接
本系统的数据库是利用PowerBuilder 9.0自带的小型关系数据库Adaptive Server Anywhere 8创建的。创建数据库的步骤如下:
1) 运行PowerBuilder 9.0 ,在工具栏中单击DB Profile 图标,弹出Database Profile对话框。
2) 在DB Profiles 对话框中打开ODB ODBC列表项,再打开其下面的Utilities列表,
3) 双击Create ASA Database 项,弹出Create Adaptive Server Anywhere Database 对话框。该对话框用于设置数据库的参数。
4) 在Create Adaptive Sever Anywhere Database对话框中输入Database Name为,其余用默认值,单击OK,系统开始创建数据库。创建数据库后,打开资源管理器,在选定的目录下能找到数据文件和事务日志文件。
5) 在数据库中创建数据表,在建立数据表时,每一个表可以设定一个主关键字.
6) 连接数据库:首先,添加数据源。我的电脑—>控制面版—>ODBC数据源32位—>系统DSN—>添加—>选择你使用的数据库。然后在工具条上点击DB PROFILE 选择已建立好的数据库连接,单击EDIT在弹出的对话框中选PREVIEW里面就是连接数据库的语句,COPY就OK了。
2.2 数据窗口对象的创建
1) 选择File|New菜单命令,在弹出如下图所示的New对话框中选择DataWindow選项卡,PowerBuilder数据窗有11种风格,每种风格都使用不同的场合;
2) 选择Grid风格,单击OK按钮,出现Choose Data Source 对话框;
通常,连接数据库的表时,使用SQL Select方式,使用外部变量时使用External方式。
3) 选中SQL Select方式,单击Next按钮,出现Select Tables对话框。PowerBuilder操作数据库的方便之处就在于它能将表的数据存储到数据窗对象中,然后放到窗口上,操作数据库就好像操作窗口上的控件。所以创建数据窗都需要选择数据表。
4) 选择 一个表单后点击Open按钮,在出现的对话框中,选择所需要的列。
5) 其他的步骤均用系统默认选项。
3 系统设计
3.1 数据库设计与实现
数据库结构设计是总体设计过程中非常重要的一个环节,好的数据库结构可以简化开发过程,使系统功能更加清晰明确,在任何一个关系型数据库管理系统中,数据表是最基本的组成部分,本数据库系统包含了8张表:
1) 销售单:包括编号(PK)、客户编号(PK1)、商品号(PK2)、经办人、销售日期、金额、不含税额、备注等
2) 销售明细表:编号(PK)、销售编号(Pk1)、商品号(PK2)、销售数量、销售体格、金额、税额、备注等。
3) 客户单:客户编号(PK)、拼音编码、名称、地址、邮编、电话、传真、银行账号、联系人等。
4) 供货商清单:供货商号(PK)、拼音编码、名称、地址、邮编、电话、传真、银行账号、联系人。
5) 商品信息表:商品号(PK)、拼音编码、品名、规格形码、单位、进货价、销售价、等级、描述等
6) 进货单:编号(PK)、供货商号、进货时期、制单人、金额、不含税额、备注等。
7) 进货明细表:编号(Pk)、商品号(PK1)、进货单号(PK)、进货数量、进货价、金额、货物质量。
8) 用户管理:包括用户名、用户密码、用户权限等。
系统功能模块包括:
1) 系统管理模块功能:对用户进行增加、删除、权限设置,更改自己的密码。数据库备份,可以定期进行对数据库备份,以便造成经济损失。需要数据时还可以恢复;
2) 资料管理模块功能:对商品资料、供货商资料、客户资料的管理,进行查询、增加、删除等操作;
3) 采购管理模块功能:进货单、进货明细单的编辑(查询、增加、删除、打印、保存、检索),进货入库将商品录入现有库存中的数据增加;
4) 销售管理模块功能:销售订单、销售单的管理(检索、录入、保存、增加、删除、打印);结帐交易录入要销售的商品信息输入销售数量和价格自动生成金额,销售出去现有库存中的库存数量自动减少;日销售查询查询出某一天的销售记录;
5) 库存管理模块功能:库存查询,通用打印,一个时间段的销售记录查询。
4 系统部分功能模块的具体描述
4.1 登录窗口设计
在用户输入用户名和密码后对用户的输入进行验证,两者输入都正确方能进入系统主界面进行操作。1) 创建一个窗体,保存名称为w_login;2) 设置窗体的window type属性为response;3) 添加两个静态文本控件别命名为用户名和密码,两个单行编辑框控件,两个命令按钮分别命名为登录和退出。
4.2 主界面窗口设计(如图2)
4.3 数据备份窗口设计
数据备份窗口用于数据库中各个表格记录的备份,由程序窗口上的”系统”菜单下”数据备份”子菜单单击事件激发。数据备份窗品上方有一个静态文本框控件,显示选择数据库表格,一个下拉式列表框控件用来让用户选择需要备份的数据库表格。该窗口中的数据备份通过七个数据窗口控件来完成的。数据窗口控件所连接的数据窗口对象对应数据库中的一个表格。这些数据窗口控件在运行时是不可见的。
4.4商品资料管理窗口设计
用于维护(增加、删除、查询)商品的基本信息,内容包括货号、条形码、品名、拼音编码、规格、类别、进货价、销售价、生产厂家等,其中拼音编码是商品名称的拼音名称,目的是在程序中可以通过拼音编码方便地查询到需要的商品。窗口设计如下:选项查询方式,模糊或精确查询,选择查询方法(货号、品名、拼音编码)输入查询内容,点击查询按钮就能在数据窗口中显示你要查询的记录,还以在数据窗口中做增加、删除操作,点击更新数据按钮,数据增加、删除的记录结果就会在数据窗口显示出来,而且后台数据库中的数据表也随着增加或减少。
图2 系统主界面
4.5 进货入库窗口设计
本窗口主要功能是商品入库。输入内容,点击确定,使现有库存中的这一商品的库存数量随之增加。库存数量=现有库存数量 入库数量。
4.6 销售明细编辑窗口设计
本窗口主要功能用于销售明细表的录入,检索、修改、打印、保存、排序。其中当输入销售数量和销售单价,金额自动算出,所有记录的金额会得出总金额,税额也自动得出总和。按销售数量排序,升序各降序能帮助用户查看哪些商品销售好,哪些商品销售的少,可以帮助老板在一定时间段内的决策,哪些商品抢手,就多进些,卖的少的商品就少进点。以便及时抓住机遇,也减少资金大量放在销售量少的商品上的风险。
4.7 结帐交易窗口设计
主要功能用于商品买卖,结帐时,录入商品信息输入销售数量和销售单价,自动得出总金额,然后打印出票据或保存。当用户改变主意不要这种商品时,可以删除该记录。点击更新数据库按钮现有库存中该商品数量随着销售出去而减少。库存数量=现有库存-销售数量。
4.8 通用打印窗口设计
由于很多的单据、查询、统计都需要打印,所以对一个比较理想的系统,不应该每个打印的地方都单独的来做一个打印窗口,所以做了这个通用打印窗口。每个打印都调用这个窗口就可以了。打印主要用到函数“setfullstate”和“getfullstate”.这里的dataobject没有设置任何值,因为是通用的打印窗口,不可能为某一个特定的窗口打印设置特定的数据对象,这里主要利用“setfullstate”来对数据窗口dw_1進行赋值。 在窗口打开的过程,接收打印窗口传来的参数,在窗口w_print的open事件中加入如下代码。接收参数并对数据窗dw_1赋值。
String Is_dwfullstate
Is_dwfullstate =message/stringparm
Dw_1.setfullsatate(is_dwfullstate)
5 结论
本系统实现了商品资料,供货商资料和客户资料的管理;进货单、销售单及进货销售明细的录入、打印、保存,查询;库存查询,库存数量随着商品进货入库而增加,销售出库而减少等功能;本次设计的进销存系统功能简单随着使用情况可以不断完善功能。
参考文献:
[1] 于洪文,蔡毅,杨鸿雁,等.PowerBuilder9.0案例开发篇[M].北京:清华大学出版社,2004:16-40.
[2] 李茜.PowerBuilder程序设计基础[M].北京:清华大学出版社,2005:1-20.
[3] 蔡毅,邓格琳.PowerBuilder9.0基础开发篇[M].北京:清华大学出版社,2005:334-358.
[4] 王晟,邓远辉.PowerBuilder 数据库开发经典案例解析[M].北京:清华大学出版社,2006:1-66.
[5] 崔巍.PowerBuilder 8.0数据库应用系统开发教程[M].北京:清华大学出版社,2004:14-252.
[6] 华传铭,张振坤,吴晓英.PowerBuilder 数据库开发实例解析[M].北京:机械工业出版社,2003.
[7] 汉龙.PowerBuilder 9.0项目开发实例导航[M].上海:上海科学普及出版社,2004:1-64.
[9] 张振坤,李文立,焦虹.PowerBuilder精彩编程200例[M].北京:机械工业出版社,2004:52-71.
关键词:PB;关系数据库;数据窗口
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)36-2648-03
Design and Realize the Small Purchase Sales and Inventory Management System Based on PB
ZHAO Feng-hang
(Qinghai Normal University, Xining 810008, China)
Abstract: The system is designed as a Purchase, Sales and Inventory Management System for a hardware wholesale in order to change the status of managing by handwriting. The main functions of the system is monitoring, deploying and managing all the goods in order to achieve management informationautomation and scientific.The foreground application procedure interface of the system is developed by PowerBuilder 9.0, and the background database is created by therelational database Sybase SQL Anywhere which belongs to the PowerBuilder. In the system design, showing in detail the various systems function, the necessary database tables, table fields, as well as the menu design.
Key words: powerbuilder; adaptive server anywhere database; dataWindow
1 引言
随着计算机技术的不断发展,许多企事业单位的管理都实现了办公自动化,在手工管理的情况下,销售人员很难对客户作出正确的供货承诺,对库存数量没有明确评估,不能及时进货,这在激烈竞争的市场中是非常不利的。为了能够高效地管理博业批发部的进销存信息,老板提出使用计算机进行信息的管理,使管理科学化,最大限度地减少信息损失,提高利益。所以本系统是针对博业五金批发部的进货、销售、和库存基本上以手工管理手段,信息化程度非常低的情况,而设计的一个进销存管理系统。
2 PowerBuilder相关技术
2.1 数据库的创建与连接
本系统的数据库是利用PowerBuilder 9.0自带的小型关系数据库Adaptive Server Anywhere 8创建的。创建数据库的步骤如下:
1) 运行PowerBuilder 9.0 ,在工具栏中单击DB Profile 图标,弹出Database Profile对话框。
2) 在DB Profiles 对话框中打开ODB ODBC列表项,再打开其下面的Utilities列表,
3) 双击Create ASA Database 项,弹出Create Adaptive Server Anywhere Database 对话框。该对话框用于设置数据库的参数。
4) 在Create Adaptive Sever Anywhere Database对话框中输入Database Name为,其余用默认值,单击OK,系统开始创建数据库。创建数据库后,打开资源管理器,在选定的目录下能找到数据文件和事务日志文件。
5) 在数据库中创建数据表,在建立数据表时,每一个表可以设定一个主关键字.
6) 连接数据库:首先,添加数据源。我的电脑—>控制面版—>ODBC数据源32位—>系统DSN—>添加—>选择你使用的数据库。然后在工具条上点击DB PROFILE 选择已建立好的数据库连接,单击EDIT在弹出的对话框中选PREVIEW里面就是连接数据库的语句,COPY就OK了。
2.2 数据窗口对象的创建
1) 选择File|New菜单命令,在弹出如下图所示的New对话框中选择DataWindow選项卡,PowerBuilder数据窗有11种风格,每种风格都使用不同的场合;
2) 选择Grid风格,单击OK按钮,出现Choose Data Source 对话框;
通常,连接数据库的表时,使用SQL Select方式,使用外部变量时使用External方式。
3) 选中SQL Select方式,单击Next按钮,出现Select Tables对话框。PowerBuilder操作数据库的方便之处就在于它能将表的数据存储到数据窗对象中,然后放到窗口上,操作数据库就好像操作窗口上的控件。所以创建数据窗都需要选择数据表。
4) 选择 一个表单后点击Open按钮,在出现的对话框中,选择所需要的列。
5) 其他的步骤均用系统默认选项。
3 系统设计
3.1 数据库设计与实现
数据库结构设计是总体设计过程中非常重要的一个环节,好的数据库结构可以简化开发过程,使系统功能更加清晰明确,在任何一个关系型数据库管理系统中,数据表是最基本的组成部分,本数据库系统包含了8张表:
1) 销售单:包括编号(PK)、客户编号(PK1)、商品号(PK2)、经办人、销售日期、金额、不含税额、备注等
2) 销售明细表:编号(PK)、销售编号(Pk1)、商品号(PK2)、销售数量、销售体格、金额、税额、备注等。
3) 客户单:客户编号(PK)、拼音编码、名称、地址、邮编、电话、传真、银行账号、联系人等。
4) 供货商清单:供货商号(PK)、拼音编码、名称、地址、邮编、电话、传真、银行账号、联系人。
5) 商品信息表:商品号(PK)、拼音编码、品名、规格形码、单位、进货价、销售价、等级、描述等
6) 进货单:编号(PK)、供货商号、进货时期、制单人、金额、不含税额、备注等。
7) 进货明细表:编号(Pk)、商品号(PK1)、进货单号(PK)、进货数量、进货价、金额、货物质量。
8) 用户管理:包括用户名、用户密码、用户权限等。
系统功能模块包括:
1) 系统管理模块功能:对用户进行增加、删除、权限设置,更改自己的密码。数据库备份,可以定期进行对数据库备份,以便造成经济损失。需要数据时还可以恢复;
2) 资料管理模块功能:对商品资料、供货商资料、客户资料的管理,进行查询、增加、删除等操作;
3) 采购管理模块功能:进货单、进货明细单的编辑(查询、增加、删除、打印、保存、检索),进货入库将商品录入现有库存中的数据增加;
4) 销售管理模块功能:销售订单、销售单的管理(检索、录入、保存、增加、删除、打印);结帐交易录入要销售的商品信息输入销售数量和价格自动生成金额,销售出去现有库存中的库存数量自动减少;日销售查询查询出某一天的销售记录;
5) 库存管理模块功能:库存查询,通用打印,一个时间段的销售记录查询。
4 系统部分功能模块的具体描述
4.1 登录窗口设计
在用户输入用户名和密码后对用户的输入进行验证,两者输入都正确方能进入系统主界面进行操作。1) 创建一个窗体,保存名称为w_login;2) 设置窗体的window type属性为response;3) 添加两个静态文本控件别命名为用户名和密码,两个单行编辑框控件,两个命令按钮分别命名为登录和退出。
4.2 主界面窗口设计(如图2)
4.3 数据备份窗口设计
数据备份窗口用于数据库中各个表格记录的备份,由程序窗口上的”系统”菜单下”数据备份”子菜单单击事件激发。数据备份窗品上方有一个静态文本框控件,显示选择数据库表格,一个下拉式列表框控件用来让用户选择需要备份的数据库表格。该窗口中的数据备份通过七个数据窗口控件来完成的。数据窗口控件所连接的数据窗口对象对应数据库中的一个表格。这些数据窗口控件在运行时是不可见的。
4.4商品资料管理窗口设计
用于维护(增加、删除、查询)商品的基本信息,内容包括货号、条形码、品名、拼音编码、规格、类别、进货价、销售价、生产厂家等,其中拼音编码是商品名称的拼音名称,目的是在程序中可以通过拼音编码方便地查询到需要的商品。窗口设计如下:选项查询方式,模糊或精确查询,选择查询方法(货号、品名、拼音编码)输入查询内容,点击查询按钮就能在数据窗口中显示你要查询的记录,还以在数据窗口中做增加、删除操作,点击更新数据按钮,数据增加、删除的记录结果就会在数据窗口显示出来,而且后台数据库中的数据表也随着增加或减少。
图2 系统主界面
4.5 进货入库窗口设计
本窗口主要功能是商品入库。输入内容,点击确定,使现有库存中的这一商品的库存数量随之增加。库存数量=现有库存数量 入库数量。
4.6 销售明细编辑窗口设计
本窗口主要功能用于销售明细表的录入,检索、修改、打印、保存、排序。其中当输入销售数量和销售单价,金额自动算出,所有记录的金额会得出总金额,税额也自动得出总和。按销售数量排序,升序各降序能帮助用户查看哪些商品销售好,哪些商品销售的少,可以帮助老板在一定时间段内的决策,哪些商品抢手,就多进些,卖的少的商品就少进点。以便及时抓住机遇,也减少资金大量放在销售量少的商品上的风险。
4.7 结帐交易窗口设计
主要功能用于商品买卖,结帐时,录入商品信息输入销售数量和销售单价,自动得出总金额,然后打印出票据或保存。当用户改变主意不要这种商品时,可以删除该记录。点击更新数据库按钮现有库存中该商品数量随着销售出去而减少。库存数量=现有库存-销售数量。
4.8 通用打印窗口设计
由于很多的单据、查询、统计都需要打印,所以对一个比较理想的系统,不应该每个打印的地方都单独的来做一个打印窗口,所以做了这个通用打印窗口。每个打印都调用这个窗口就可以了。打印主要用到函数“setfullstate”和“getfullstate”.这里的dataobject没有设置任何值,因为是通用的打印窗口,不可能为某一个特定的窗口打印设置特定的数据对象,这里主要利用“setfullstate”来对数据窗口dw_1進行赋值。 在窗口打开的过程,接收打印窗口传来的参数,在窗口w_print的open事件中加入如下代码。接收参数并对数据窗dw_1赋值。
String Is_dwfullstate
Is_dwfullstate =message/stringparm
Dw_1.setfullsatate(is_dwfullstate)
5 结论
本系统实现了商品资料,供货商资料和客户资料的管理;进货单、销售单及进货销售明细的录入、打印、保存,查询;库存查询,库存数量随着商品进货入库而增加,销售出库而减少等功能;本次设计的进销存系统功能简单随着使用情况可以不断完善功能。
参考文献:
[1] 于洪文,蔡毅,杨鸿雁,等.PowerBuilder9.0案例开发篇[M].北京:清华大学出版社,2004:16-40.
[2] 李茜.PowerBuilder程序设计基础[M].北京:清华大学出版社,2005:1-20.
[3] 蔡毅,邓格琳.PowerBuilder9.0基础开发篇[M].北京:清华大学出版社,2005:334-358.
[4] 王晟,邓远辉.PowerBuilder 数据库开发经典案例解析[M].北京:清华大学出版社,2006:1-66.
[5] 崔巍.PowerBuilder 8.0数据库应用系统开发教程[M].北京:清华大学出版社,2004:14-252.
[6] 华传铭,张振坤,吴晓英.PowerBuilder 数据库开发实例解析[M].北京:机械工业出版社,2003.
[7] 汉龙.PowerBuilder 9.0项目开发实例导航[M].上海:上海科学普及出版社,2004:1-64.
[9] 张振坤,李文立,焦虹.PowerBuilder精彩编程200例[M].北京:机械工业出版社,2004:52-71.