云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 企业进销存管理系统毕业论文

企业进销存管理系统毕业论文

  • 62 次阅读
  • 3 次下载
  • 2025/6/10 16:57:06

具体代码如下)

--==============================

--创建收货单主表(OrderConsign) --============================== CREATE TABLE OrderConsign (

OrderConsignNo varchar (20) NOT NULL primary key , --主键 Address int NULL, --交货地点 ConsignDate datetime NULL, --交货时间 Descript varchar (50) NULL --备注 EmployeeNo varchar (10) NOT NULL --业务员 )

--============================== --创建收货单从表(ConsignGoods) --==============================

CREATE TABLE GoodsConsign (

GoodsId int IDENTITY(1,1) not null primary key --从表编号,自动产生 GoodsNO varchar (10) NOT NULL , --收货编号 Goods Count into NULL , --收货数量 GoodsPrice int NULL , --收货单价 GoodsMoney AS (GoodsCount * GoodsPrice) , --总金额 GoodsMainInf varchar (20) NULL ,

--关联引用主表的OrderConsignNo字段 GoodsSupplier varchar (10) NULL , --供应商 GoodsWare varchar (10) NULL --入库仓 )

从表主要保存所收货品的一些基本信息,通过关键字段GoodsMainInf引用收货单的主表信息,其中字段GoodsId 是一个自增字段,作为从表的主键,而字段GoodsMoney则是一个计算字段,其数值为货品单价与数量的乘积,货品单价与数量确定后,自动计算总金额,减少了用户的计算麻烦,其数值不可编辑。

4.2 关于客户端设计的实现

系统的前台设计遵循着用户易于使用、技术上易于实现的原则,为用户创造一个易于使用的进销存系统,一切为用户考虑,我们主要在以下几个方面作了创新。

word文档 可自由复制编辑

4.2.1导航窗体的实现

导航窗体的优越性在系统设计部分已作了阐述,导航窗体的设计实现简单,导航窗体基本上集成了系统的所有功能,真正为用户提供了“所见即所得”的应用环境,而且我们尽力为用户创造一个美观的系统界面,使用了大量亲切形象的图标,注意各个不同功能窗体的颜色搭配,不同模板之间颜色的协调,特别是导航窗体,在不同的功能模块下,图表按钮显示不同的颜色,使用户不仅知道正在使用哪一个功能模块,而且使用起来有一种美的享受。其基本代码如下:

procedure TF_main.n_AviWindowClick(Sender: TObject); //定制导航窗体

begin

if n_AviWindow.Checked=True then //判断导航窗体是否已经定制 n_AviWindow.Checked:=False else

n_AviWindow.Checked:=True ; if n_AviWindow.Checked = True then begin

Application.CreateForm(TF_Purchase,F_Purchase); F_Purchase.Show; //显示导航窗体 end else

F_Purchase.Close; end;

对于用户的不同需要,充分使用人性化的设计,用户可以通过系统菜单定制是否需要导航窗体。一切从用户的角度考虑,这是软件开发所应遵循的基本原则,也是日后软件从技术型走向服务型的软件的必由之路,人性化的软件才更能得到市场的认同,才能取得先发的优势。

4.2.2库存信息表数据库到前端显示映射实现

在数据库设计时,一种货品是否超限,我们用一个字段State来表示,当State 的数值为True 时,表示货物未超限,否则已经超限,需要引起决策层的注意,而在前段,则需要以文字来表示,因此在前端设计时,在表示的货品信息表中,新建一个计算字段VoidName,并在其OnCaleFields 事件上书写如下代码:

procedure TDM_Main.T_GoodsInfoCalcFields(DataSet: TDataSet); begin

if T_GoodsInfo.FieldByName('GoodsState').Value='T' then

word文档 可自由复制编辑

T_GoodsInfo.FieldByName('VoidName').AsString:='未超限' else

T_GoodsInfo.FieldByName('VoidName').AsString:='已超限'; end;

因为在数据库设计时,我们对货品信息表设置了如下的触发器: create Trigger Trig_GoodsInfoSate on GoodsInfo for insert , update as

update GoodsInfo set GoodsState ='F'

where WareQuantity not between GoodsMin and GoodsMax; update GoodsInfo set GoodsState ='T'

where WareQuantity between GoodsMin and GoodsMax

其中,VoidName是在数据表里的一个新建计算字段。

这样,每当货品出入库时,货品触发器可以设置货品的目前状态,这样我们在前端(客户端)就可以看到货品是否超限,从而可以最快的速度采取相应的决策,避免存货不足和库存过量的情况出现,减少了不必要的损失和浪费,使企业可以降低成本,增加收益。

4.2.3 业务单据编号的自动生成

为了减少业务单据编号的随意性,我们在设计时,实现由系统自动生成单据编号。根据用户要求编号规范且易识别、易理解的要求,系统的编号由三部分组成,前两个字符为单号性质,接下来六个字符为下单日期,后三个字符为当日的单据流水号。如单号:‘CS030530002’的含义为:‘CS’表示这是一张采购收单(“采购收单”的首尾字符汉语拼音的首字母),‘030530’表示开单日期是:2003年5月30日开单, ‘002’ 表示这张单子是今天开出的第二张单子。考虑到一个中小企业一天的开单数量不可能超过1000张,因此流水号用单号的后三位表示。以“采购收货”为例,其具体实现代码如下:

procedure TF_OrderConsign.FormCreate(Sender: TObject); var Id :String; left:String; Right: String; mid:String; begin

if DM_Main.T_OrderConsign.Active = False then

word文档 可自由复制编辑

DM_Main.T_OrderConsign.Open;

left := leftstr(Datetostr(Date),4); //获取收单日期年份 mid:= midstr(Datetostr(Date),6,2);//获取收单日期月份 Right:= Rightstr(Datetostr(Date),2); //获取收单日期 left:=RightStr((left+mid+Right),6);

ID:='000'+inttostr(DM_Main.T_OrderConsign.RecordCount+1); //通过查询现在记录数目,获取收单开单流水号 ID:=RightStr(Id,3); ID:='CS'+left+ID;

edt_ConsignNo.Text:=ID; //单号生成 end

这样,每次开单的时候,单号可以自动生成,避免了人工输入的麻烦,保持了单号的规范性和易识别、易理解的特性。

4.2.4 采购退货功能的实现

采购退货的实现,需要调用到收货表单的主(OrderConsign)、从表(ConsignGoods)信息及退货表单的主表(OrderReturn)、从表(ReturnGoods)的信息,而且退货要实现从一个表(ConsignGoods)读数据,同时实现向另一个表(ReturnGoods)写数据的功能。其主要部分代码如下:

Qry_delete.SQL.Text:='delete from GoodsConsign where GoodsNO=' + ''''+i_Goods.KeyValue+''''; //删除对应的收货单的货品信息 Qry_delete.ExecSQL; Qry_OrderConsign.Close; Qry_InsertReturn.Close;

Qry_InsertReturn.SQL.Clear;

Qry_InsertReturn.SQL.Text:='insert into

GoodsReturn(GoodsNo,GoodsCount,GoodsPrice,ReturnMainInf,GoodsSupplier,EmployeeNo)values('+''''+i_Goods.KeyValue+''''+','+''''+dbedt_Quantity.Caption+''''+','+''''+dbedt_Price.Caption+''''+','+''''+edt_ReturnNO.Text+''''+','+''''+i_Supplier.KeyValue+''''+','+''''+i_Employee.KeyValue+''''+')';

Qry_InsertReturn.ExecSQL;//在退货信息表里插入数据 其具体的操作界面如下图3所示:

word文档 可自由复制编辑

搜索更多关于: 企业进销存管理系统毕业论文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

具体代码如下) --============================== --创建收货单主表(OrderConsign) --============================== CREATE TABLE OrderConsign ( OrderConsignNo varchar (20) NOT NULL primary key , --主键 Address int NULL, --交货地点 ConsignDate datetime NULL, --交货时间 Descript varchar (50) NULL --备注 EmployeeNo varchar (10) NOT NULL --业务

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com