商品销售管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1引言
1.1系统的开发背景
商品销售管理是企业经营管理的核心内容,在企业管理中占据首要地位,一个企业的经济实力如何,很大程度取决于企业的销售管理效果。
利用先进的计算机技术,对企业的销售及销售过程中所涉及的一系列账务关系进全面的跟踪管理,解决了人工管理过程中的管理效率低下、数据不准确、管理不及时等问题,从而大大提高了企业经营运转的速度,提升企业的管理水平、提高企业的经济效益,使企业的销售管理更加的科学、合理。
管理方式的转变,使企业能够及时通过计算机管理系统,对整个销售过程进行数据的统计与分析,并根据分析结果做出必要的调整,使企业在经济浪潮中占据有利地位,更好的适应市场的发展变化。
1.2系统调研与可行性分析
基于VC课程的商品销售管理系统的设计与开发,主要是利用Visual C++6.0和SQL数据库制作一个有特色的管理系统。
本系统的设计主要从以下几方面做起:系统的开发环境、系统需求分析、系统的数据库结构设计、系统的页面设计等。
做这些工作需了解Visual C++6.0的使用和管理系统的相关知识。
(1)技术可行性:本系统主要是用Visual C++6.0作为网站的开发工具,使用了SQL数据库来实现。
虽然本次开发使用的工具和技术是目前比较旧的,但是微软出的产品最大的好处就是快速入门、益于上手,所以从这方面来看,技术上是可行的。
(2)经济可行性:现在各大企业都已经具有了自己的管理系统,这样就需要在管理中提供一个简单易操作可行性高的系统,也就是本项目所要开发的管理系统。
并且开发一个小型的管理系统的成本也不高,企业是完全可以承受的。
从这一方面来看,经济上是可行的。
1.3 本文的内容安排
本文共分六章,各个章节的内容安排如下:
第一章是引言,介绍了项目的开发背景和系统调研与可行性分析。
第二章介绍系统的开发环境,着重介绍了Visual C++6.0和SQL数据库以及MFC的相关知识等。
第三章是管理系统的需求分析,包括商品销售管理系统的介绍,商品销售管理系统的角色,商品销售管理系统功能性需求。
第四章是概要设计,列出了系统的总体结构图,系统流程图,以基本系统所用到的数据库表。
第五章是系统的详细设计和实现,重点介绍了本系统权限模块的设计,并对各个界面进行了详细的分析。
第六章是总结,总结了本系统已经实现的功能和系统的不足。
2开发环境简介
2.1 Visual C++6.0特点
Visual C++6.0[1]是功能最为强大的可视化开发工具之一,它不仅支持传统的软件开发方法,更重要的是它能支持面向对象、可视化的开发风格。
因此Visual C++6.0又称作是一个集成开发工具,它提供了软件代码自动生成和可视化的资源编辑功能。
Visual C++ 具有多种优点:它提供了面向对象的应用程序框架MFC (Microsoft Foundation Class),简化了程序员的编程工作,提高了模块的可重用性;提供了基于CASE技术的可视化软件的自动生成和维护工具AppWizard、Class Wizard、Visual Studio、Wizard Bar等,实现了直观、可视的程序设计风格,方便地编辑和管理各种类,维护程序的源代码;封装了Windows的API函数、USER、KERNEL、GDI函数,简化了编程时创建、维护窗口的许多复杂的工作。
2.2 MFC的简介
MFC的英文全称是Microsoft Foundation Class Library,MFC中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法。
因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。
Microsoft Visual C++提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;Class Wizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑。
2.3 SQL数据库的介绍
SQL是Structured Query Language(结构化查询语言)的缩写。
SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。
在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。
SQL功能强大、简
单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。
在SQL中,关系模式(模式)称为“基本表”(base table);存储模式(内模式)称为“存储文件”(stored file);子模式(外模式)称为“视图”(view);元组称为“行”(row);属性称为“列”(column)。
SQL语言的组成:
1.一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义。
2.一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项。
3.一个表或者是一个基本表或者是一个视图。
基本表是实际存储在数据库的表,而视图是由若干基本表或其他视图构成的表的定义。
4.一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。
每个存储文件与外部存储上一个物理文件对应。
5.用户可以用SQL语句对视图和基本表进行查询等操作。
在用户角度来看,视图和基本表是一样的,没有区别,都是关系(表格)。
6.SQL用户可以是应用程序,也可以是终端用户。
SQL语句可嵌入在宿主语言的程序中使用,宿主语言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada语言等。
SQL用户也能作为独立的用户接口,供交互环境下的终端用户使用。
SQL包括了所有对数据库的操作,主要是由4个部分组成:
1.数据定义:这一部分又称为“SQL DDL”,定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分。
2.数据操纵:这一部分又称为“SQL DML”,其中包括数据查询和数据更新两大类操作,其中数据更新又包括插入、删除和更新三种操作。
3.数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务控制语句等。
4.嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则。
SQL的优点:
1)非过程化语言
2)统一的语言
3)是所有关系数据库的公共语言
总之,SQL是一个既可以只用来存放数据的数据库,也可以作为一个客户端开发工具来进行数据库应用系统开发;既可以开发方便易用的小型软件,也可以用来开发大型的应用系统。
2.4本章小结
本章主要介绍了该商品销售管理系统的开发环境、MFC以及SQL数据库。
3需求分析
3.1商品销售管理系统的介绍
本系统是基于VC课程开发的管理系统。
用户使用本系统可以方便的对企业的销售及销售过程中所涉及的一系列账务关系进全面的跟踪管理。
该系统主要分为六个模块:在基础信息管理模块中需要实现操作员信息、商品信息、供
应商信息、客户信息的管理和商品库存表等功能。
在入库管理模块中需要实现商品入库管理、入库退货管理。
在销售管理模块中需要实现商品销售管理、销售退货管理。
在查询管理中需要实现商品入库查询、入库退货查询、销售查询、销售退货查询。
在往来帐管理模块中需要实现供应商结款管理、客户结款管理。
在系统管理模块中需要实现系统的退出功能。
基础信息管理模块各功能性需求见下表3-1、 3-2所示:
表3-1用户登录界面
表3-2基础数据管理界面
商品销售档案管理模块各功能性需求见下表3-3、3-4所示:
表3-3商品销售资料管理界面
表3-4商品销售资料查询界面
3.2商品销售管理系统的角色
在管理系统中不同的用户有不同的角色,而本管理系统只设置管理员权限,具体角色名称和职责描述见下表3-5所示:
表3-5角色信息表
3.3本章小结
本章主要介绍了基于VC课程的商品销售管理系统的介绍、商品销售管理系统中的角色、商品销售管理系统功能性需求。
其中商品销售管理系统中的角色分为普通用户和管理员,通过设定的权限来对不同的页面进行管理。
商品销售管理系统功能性需求介绍了各个模块各个页面的功能和实现。
4概要设计
在正式设计程序之前,先要作一个概要设计,概要设计目的主要是为程序系统的设计考虑,包括程序系统的总体结构,整个系统的流程,模块划分、功能分配等,为系统的详细设计、程序的具体实现打好基础。
本章将主要介绍概要设计说明书。
4.1系统总体结构
本论坛系统共划分为六个模块,包括基础信息管理、入库管理、销售管理、查询管理、往来帐管理和系统管理,每个模块都有各自所实现的功能。
系统总体结构如下图4-1所示[8]
图4-1系统结构图
4.2系统流程图
当用户登陆系统时,首先呈现在用户面前的是系统的主页,用户想要对商品销售信息进行管理需登录系统,点击主页上的登录按钮,输入正确的用户名和密码即可登录系统。
成功登陆后,管理员即可对商品销售进行管理,系统流程如下图4-2所示[8]
图4-2 系统流程图
4.3数据库设计
本系统利用SQL作为后台的数据库,建立数据库SellManage.MDF。
首先对系统分析得到的数据进行分析,说明数据库基本结构的设计。
图4-6为zw表中的信息
4.4本章小结
本章主要介绍了商品销售管理系统的框架机构和系统流程以及数据库中各个表的信息
图4-3数据库表图
4.4本章小结
本章主要介绍了商品销售管理系统的框架机构和系统流程以及数据库中各个表的信息。
5系统详细设计与实现
5.1用户登录页面
当用户进入到商品销售管理系统后,会进入登录页面,用户分为普通用户和管理员,普通用户无法对该系统进行设置、管理,而管理员可对该系统进行设置、管理。
在登录页面上,用户必须正确填写用户名,密码,成功登录后用户才具有商品销售管理系统普通用户的操作权限。
如图5-1所示
图5-1为用户登录页面
以下为用户登录页面部分代码:
void CDlg_login::OnOK()
{
// TODO: Add extra validation here
//CDialog::OnOK();
this->UpdateData(true);
if(this->m_login_name=="000" && this->m_login_pwd=="000") CDialog::OnOK();
else
MessageBox("登录有误");
}
void CDlg_login::OnCancel()
{
// TODO: Add extra cleanup here
//CDialog::OnCancel();
exit(0);
}
5.2系统管理页面
商品销售管理系统主窗口主要由菜单、工具栏和客户区域3部分组成,其主要功能是实现对各个子功能模块的调用。
商品销售管理系统主界面效果如图5-2所示。
图5-2商品销售管理系统主界面
以下为系统管理页面部分代码:
BOOL CMerchandiseSellDlg::OnInitDialog()
{
CDialog::OnInitDialog();
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon, FALSE);
//显示标题栏标题
char m_szTitle[256] = "" ;
sprintf(m_szTitle, "商品销售管理系统-----管理员:%s,级别:%s", m_szOpName, m_szLevel) ;
SetWindowText(m_szTitle) ;
//工具栏内容的设置
m_ImageList.Create(32,32,ILC_COLOR24|ILC_MASK,1,1); //创建图像列表
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONOper)); //操作员信息管理
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONMech)); //商品信息管理
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONSup)); //供应商信息管理
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONClient)); //客户信息管理
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONSPKC)); //库存管理
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONSPRK)); //入库管理
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONRKTH)); //入库退货
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONSPXS)); //商品销售
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONSXTH)); //销售退货
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONRKCX)); //入库查询
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONRKTHCX)); //入库退货查询
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONXSCX)); //销售查询
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONXSTHCX)); //销售退货查询
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONGYSJK)); //供应商结帐
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONKHJK)); //客户结帐
UINT array[19];
for(int i=0;i<19;i++)
{
if(i==5||i==8||i==11||i==16)
{
array[i]=ID_SEPARA TOR;//第三个和第九个按钮为分隔条
}
else array[i]=i+1120;
}
m_ToolBar.Create(this);
m_ToolBar.SetButtons(array,19);
m_ToolBar.SetButtonText(0,"操作员信息");
m_ToolBar.SetButtonText(1,"商品信息");
m_ToolBar.SetButtonText(2,"供应商信息");
m_ToolBar.SetButtonText(3,"客户信息");
m_ToolBar.SetButtonText(4,"商品库存信息");
m_ToolBar.SetButtonText(6,"商品入库");
m_ToolBar.SetButtonText(7,"入库退货");
m_ToolBar.SetButtonText(9,"商品销售");
m_ToolBar.SetButtonText(10,"销售退货");
m_ToolBar.SetButtonText(12,"入库查询");
m_ToolBar.SetButtonText(13,"入库退货");
m_ToolBar.SetButtonText(14,"销售查询");
m_ToolBar.SetButtonText(15,"销售退货");
m_ToolBar.SetButtonText(17,"供应商结款");
m_ToolBar.SetButtonText(18,"客户结款");
m_ToolBar.GetToolBarCtrl().SetImageList(&m_ImageList);//关联图像列表
m_ToolBar.SetSizes(CSize(40,40),CSize(32,32)); //设置按钮和按钮位图大小m_ToolBar.EnableToolTips(true);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);//显示工具栏
return TRUE;
}
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
5.3基础数据管理页面
基础数据管理包括:基础信息管理、入库管理、销售管理、查询管理、往来帐管理和系统管理,它们要对数据库里的信息进行操作。
管理员在菜单栏或者工具栏根据需要点击按钮会弹出一个页面按照要求操作,操作完毕后同系统会将信息提交给数据库每项设置所对应的表。
选择要删除的信息点击删除按钮,系统会将选择的信息从数据库中删除。
管理员若要退出该页面可点击退出系统按钮退出。
如图5-3所示
图5-3操作员信息页面
以下为操作信息页面的部分代码:
void COpCtrlDlg::OnBtnAdd()
{
// TODO: Add your control notification handler code here
//增加操作员
switch(m_hTabCtrl.GetCurSel())
{
case 0:
{
break ;
}
case 1:
{
TabCtrlOfSelect(0) ;
break ;
}
}
m_hEditName.SetWindowText("") ;
m_hEditPwd.SetWindowText("") ;
m_hBtnSave.EnableWindow() ;
m_hEditName.SetFocus() ;
}
void COpCtrlDlg::InitCtrlData()
{
//Init Tab Ctrl and List Ctrl
m_hTabCtrl.InsertItem(0, "操作员基本信息") ;
m_hTabCtrl.InsertItem(1, "操作员列表") ;
m_hTabCtrl.ShowWindow(1) ;
//Init button Ctrl
m_hListOp.InsertColumn(0, "操作员姓名", LVCFMT_CENTER, 100) ;
m_hListOp.InsertColumn(1, "操作员密码", LVCFMT_CENTER, 100) ;
m_hListOp.InsertColumn(2, "操作员级别", LVCFMT_CENTER, 100) ;
m_hListOp.SetExtendedStyle(m_hListOp.GetStyle() | LVS_EX_FULLROWSELECT);
m_hBtnOk.SetIcon(IDI_ICON_CLOSE);
m_hBtnOk.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnOk.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
m_hBtnSave.SetIcon(IDI_ICON_OK);
m_hBtnSave.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnSave.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
m_hBtnSave.EnableWindow(FALSE) ;
m_hBtnDel.SetIcon(IDI_ICON_DEL);
m_hBtnDel.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnDel.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
m_hBtnAdd.SetIcon(IDI_ICON_ADD);
m_hBtnAdd.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnAdd.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
m_hBtnMod.SetIcon(IDI_ICON_MOD);
m_hBtnMod.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnMod.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
//Init tab ctrl
TabCtrlOfSelect(1) ;
}
void COpCtrlDlg::OnBtnMod()
{
// TODO: Add your control notification handler code here
switch(m_hTabCtrl.GetCurSel())
{
case 0:
{
break ;
}
case 1:
{
if(m_hListOp.GetSelectionMark() == -1)
{//未被选中
MessageBox("请选择欲修改条目!") ;
return ;
}
break ;
}
}
m_hBtnSave.EnableWindow() ;
m_hEditName.SetFocus() ;
}
void COpCtrlDlg::OnBtnDel()
{
// TODO: Add your control notification handler code here
if(m_hListOp.GetSelectionMark() == -1)
{//未被选中
// MessageBox("请选择欲删除条目!") ;
// return ;
}
char m_szName[30+1] ;
m_hListOp.GetItemText(m_hListOp.GetSelectionMark(), 0, m_szName, sizeof(m_szName)) ;
m_hDatabase.DeleteDataWhere(OPT, m_szName) ;
TabCtrlOfSelect(1) ;
}
void COpCtrlDlg::OnBtnSave()
{
char m_szName[30+1], m_szPwd[30+1] ;
int m_nLevel ;
m_hEditName.GetWindowText(m_szName, sizeof(m_szName)) ;
m_hEditPwd.GetWindowText(m_szPwd, sizeof(m_szPwd)) ;
m_nLevel = m_hCmbLevel.GetCurSel() ;
m_hDatabase.UpdateOpData(m_szName, m_szPwd, m_nLevel) ;
m_hBtnSave.EnableWindow(FALSE) ;
}
void COpCtrlDlg::OnClickListOp(NMHDR* pNMHDR, LRESULT* pResult)
{
char m_szName[31] ;
m_hListOp.GetItemText(m_hListOp.GetSelectionMark(), 0, m_szName, sizeof(m_szName)) ;
m_hDatabase.EditOpToCtrl(m_szName, &m_hEditName, &m_hEditPwd, &m_hCmbLevel) ;
*pResult = 0;
}
商品入库管理主要实现商品入库信息的添加、修改、删除、保存等操作。
入库管理运行效果如图5-4所示
图5-4为商品入库管理页面以下为商品入库管理页面部分代码:
void CDlgSprk::InitCtrlData()
{
m_hTabSprk.InsertItem(0, "商口入库基本信息") ;
m_hTabSprk.InsertItem(1, "商口入库信息列表") ;
m_hTabSprk.ShowWindow(TRUE) ;
//---
m_hEditZk.ShowWindow(TRUE) ;
m_hEditYfje.ShowWindow(TRUE) ;
m_spbh.ShowWindow(TRUE) ;
m_hEditSl.ShowWindow(TRUE) ;
m_hEditSfje.ShowWindow(TRUE) ;
m_hEditRkdh.ShowWindow(TRUE) ;
m_hEditHj.ShowWindow(TRUE) ;
m_gys.ShowWindow(TRUE) ;
m_hEditDj.ShowWindow(TRUE) ;
m_hEditCzy.ShowWindow(TRUE) ;
m_hEditCkmc.ShowWindow(TRUE) ;
m_hListSprk.ShowWindow(FALSE) ;
//
m_hListSprk.InsertColumn(0, "入库单号", LVCFMT_CENTER, 80) ;
m_hListSprk.InsertColumn(1, "供应商", LVCFMT_CENTER, 50) ;
m_hListSprk.InsertColumn(2, "操作员", LVCFMT_CENTER, 80) ;
m_hListSprk.InsertColumn(3, "折扣", LVCFMT_CENTER, 50) ;
m_hListSprk.InsertColumn(4, "合计", LVCFMT_CENTER, 50) ;
m_hListSprk.InsertColumn(5, "应付金额", LVCFMT_CENTER, 80) ;
m_hListSprk.InsertColumn(6, "实付金额", LVCFMT_CENTER, 80) ;
m_hListSprk.InsertColumn(7, "仓库名称", LVCFMT_CENTER, 80) ;
m_hListSprk.InsertColumn(8, "商品编号", LVCFMT_CENTER, 80) ;
m_hListSprk.InsertColumn(9, "单价", LVCFMT_CENTER, 50) ;
m_hListSprk.InsertColumn(10, "数量", LVCFMT_CENTER, 50) ;
m_hListSprk.InsertColumn(11, "金额", LVCFMT_CENTER, 50) ;
m_hListSprk.InsertColumn(12, "时间", LVCFMT_CENTER, 80) ;
m_hListSprk.SetExtendedStyle(m_hListSprk.GetStyle() | LVS_EX_FULLROWSELECT);
///INIT BUTTON CTRL
m_hBtnOk.SetIcon(IDI_ICON_CLOSE);
m_hBtnOk.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnOk.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
m_hBtnSave.SetIcon(IDI_ICON_OK);
m_hBtnSave.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnSave.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
m_hBtnSave.EnableWindow(FALSE) ;
m_hBtnDel.SetIcon(IDI_ICON_DEL);
m_hBtnDel.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnDel.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
m_hBtnAdd.SetIcon(IDI_ICON_ADD);
m_hBtnAdd.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnAdd.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
m_hBtnMod.SetIcon(IDI_ICON_MOD);
m_hBtnMod.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnMod.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
m_hBtnFind.SetIcon(IDI_ICON_FIND);
m_hBtnFind.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnFind.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
TabCtrlOfSelect(1) ;
_RecordsetPtr rec;
rec=m_hDatabase.Sql_Query("select provider from tb_providerinfo");
m_gys.ResetContent();
while (!rec->adoEOF)
{ m_gys.AddString((char*)(_bstr_t)rec->GetCollect(0l));
rec->MoveNext();
}
rec=m_hDatabase.Sql_Query("select id from tb_merchandiseinfo");
m_spbh.ResetContent();
while (!rec->adoEOF)
{ m_spbh.AddString((char*)(_bstr_t)rec->GetCollect(0l));
rec->MoveNext();
}
}
BOOL CDlgSprk::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
InitCtrlData() ;
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
销售管理主要实现销售信息的添加、修改、删除、保存等操作。
商品销售管理运行效果如图5-5所示。
图5-5为商品销售管理页面
以下为商品销售管理页面的部分代码:
void CDlgSell::InitCtrlData()
{
m_hTabCancelSell.InsertItem(0, "商品销售基本信息") ;
m_hTabCancelSell.InsertItem(1, "商品销售信息列表") ;
m_hTabCancelSell.ShowWindow(TRUE) ;
//
m_hListCancelSell.InsertColumn(0, "销售单号", LVCFMT_CENTER, 80) ;
m_hListCancelSell.InsertColumn(1, "客户", LVCFMT_CENTER, 50) ;
m_hListCancelSell.InsertColumn(2, "操作员", LVCFMT_CENTER, 80) ;
m_hListCancelSell.InsertColumn(3, "折扣", LVCFMT_CENTER, 50) ;
m_hListCancelSell.InsertColumn(4, "总计", LVCFMT_CENTER, 50) ;
m_hListCancelSell.InsertColumn(5, "应付金额", LVCFMT_CENTER, 80) ;
m_hListCancelSell.InsertColumn(6, "实付金额", LVCFMT_CENTER, 80) ;
m_hListCancelSell.InsertColumn(7, "仓库名称", LVCFMT_CENTER, 80) ;
m_hListCancelSell.InsertColumn(8, "商品编号", LVCFMT_CENTER, 80) ;
m_hListCancelSell.InsertColumn(9, "单价", LVCFMT_CENTER, 50) ;
m_hListCancelSell.InsertColumn(10, "数量", LVCFMT_CENTER, 50) ;
m_hListCancelSell.InsertColumn(11, "金额", LVCFMT_CENTER, 50) ;
m_hListCancelSell.InsertColumn(12, "时间", LVCFMT_CENTER, 80) ;
m_hListCancelSell.SetExtendedStyle(m_hListCancelSell.GetStyle() | LVS_EX_FULLROWSELECT);
///INIT BUTTON CTRL
m_hBtnOk.SetIcon(IDI_ICON_CLOSE);
m_hBtnOk.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnOk.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
m_hBtnSave.SetIcon(IDI_ICON_OK);
m_hBtnSave.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnSave.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
m_hBtnSave.EnableWindow(FALSE) ;
m_hBtnDel.SetIcon(IDI_ICON_DEL);
m_hBtnDel.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnDel.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
m_hBtnAdd.SetIcon(IDI_ICON_ADD);
m_hBtnAdd.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnAdd.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
m_hBtnMod.SetIcon(IDI_ICON_MOD);
m_hBtnMod.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnMod.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
//----------
TabCtrlOfSelect(1) ;
}
往来账管理主要包含供应商结款管理和客户结款管理,涉及到结款信息的添加、修改、删除、保存等操作。
往来帐管理运行结果如图5-6所示。
图5-6为往来账管理页面
以下为往来账管理页面的部分代码:
void CDlgProviderPay::InitCtrlData()
{
m_hTabProviderPay.InsertItem(0, "供应商结款基本信息") ;
m_hTabProviderPay.InsertItem(1, "供应商结款信息列表") ;
m_hTabProviderPay.ShowWindow(1) ;
//Init button Ctrl
m_hListProviderPay.InsertColumn(0, "结款编号", LVCFMT_CENTER, 100) ;
m_hListProviderPay.InsertColumn(1, "供应商名称", LVCFMT_CENTER, 100) ;
m_hListProviderPay.InsertColumn(2, "结款人", LVCFMT_CENTER, 100) ;
m_hListProviderPay.InsertColumn(3, "结款金额", LVCFMT_CENTER, 100) ;
m_hListProviderPay.InsertColumn(4, "时间", LVCFMT_CENTER, 100) ;
m_hListProviderPay.SetExtendedStyle(m_hListProviderPay.GetStyle() | LVS_EX_FULLROWSELECT);
m_hBtnOk.SetIcon(IDI_ICON_CLOSE);
m_hBtnOk.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnOk.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
m_hBtnSave.SetIcon(IDI_ICON_OK);
m_hBtnSave.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnSave.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
m_hBtnSave.EnableWindow(FALSE) ;
m_hBtnDel.SetIcon(IDI_ICON_DEL);
m_hBtnDel.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnDel.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
m_hBtnAdd.SetIcon(IDI_ICON_ADD);
m_hBtnAdd.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnAdd.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
m_hBtnMod.SetIcon(IDI_ICON_MOD);
m_hBtnMod.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_hBtnMod.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
//Init tab ctrl
TabCtrlOfSelect(1) ;
}
5.4查询管理页面
查询管理模块主要包含入库查询、入库退货查询、销售查询和销售退货查询,涉及到查询信息的打印操作。
查询管理模块运行效果如图如图5-7所示
图5-7为查询管理信息页面
5.5本章小结:
本章主要介绍了商品销售管理系统模块的实现,包括商品销售管理系统的用户登录界面、系统设置界面、基础数据管理界面、商品销售档案管理界面、数据库管理界面,并对各个界面进行了简单的分析,包括界面的实现以及部分代码的介绍。
6总结
本系统主要是采用Visual C++6.0和SQL数据库开发的管理系统。
商品销售管理系统属于小型的进销存管理系统,主要由基础信息管理、入库管理、销售管理、查询管理、往来帐管理和系统管理6个功能模块构成。
系统只设置了管理员的权限。
,系统提供一个统一的登录页面,输入用户名和密码即可登录主页面对所有页面信息资料进行操作。
商品销售管理系统的功能基本都可以实现,但因为是初学,所以还有很多地方可以改进和完善,如系统的整体界面风格,商品销售资料的管理等等。
通过不断的学习,以后应该进一步的巩固系统,这样才能够使系统实现的更充实、更完善。