1、进销存管理作为商品或者货物管理必须要涉及到的部分,在各种企业中有广泛的应用前景。本系统可以录入保存商品、客户、供货商等基本资料,完成货品的进货、出货、退货和转存等日常操作。通过对日常操作的查询,用户可以掌握货品流通情况,并能够对货品情况进行统计。此外,通过账户信息的管理,系统确保正常使用时的安全稳定性。矚慫润厲钐瘗睞枥庑赖。根据系统功能要求,进销存管理系统分为5个功能模块:信息管理系统、日常管理系统、信息查询系统、信息统计模块和系统管理模块。聞創沟燴鐺險爱氇谴净。使用传统的手工管理方式,一方面效率低下,另一方面容易造成错误。随着企业信息化进程的不断发展,商品或货物实行信息化管理,可以提高管理水
2、平和工作效率,同时也能最大限度地减少手工操作带来的失误。进销存管理在公司企业的商品或者货物管理中都有广发的应用前景。残骛楼諍锩瀨濟溆塹籟。创建主程序在Visual ForPro 中,主程序是系统的入口,主程序可以由.PRG程序、菜单或者表单来充当,但是使用.PRG程序来充当主程序由更大主动性。下面是用.PRG程序作为系统主程序。酽锕极額閉镇桧猪訣锥。1、 设置运行环境 设置系统运行环境一般是系统运行时的系统环境及数据环境进行设计,这些设置都可以通过Visual ForPro 内置的“SET”命令来完成。彈贸摄尔霁毙攬砖卤庑。运行环境的代码:*系统环境设置CLEARCLEAR ALLSET ES
3、CAPE OFF& 禁止运行的程序在按ESC键被中断SET TALK OFF& 关闭命令显示SET SAFETY OFF & 覆盖时不要确认SET STAT BAR OFF & 将状态栏关闭SET SYSMENU OFF & 可关掉VFP系统菜单区域SET SYSMENU TO & 关闭系统菜单SET CENTURY ON & 显示四位年代SET DATE YMD& 按照年月日的次序显示日期2、 避免程序多次运行使用Visual ForPro 开发的程序一般都是数据库应用程序,而Visual ForPro 中数据库是不能同时被打开两次的,如果同时开启一个程序的多个实例,则可能会多次打开同一个数
4、据库。因此要避免程序多次运行。謀荞抟箧飆鐸怼类蒋薔。在Visual ForPro 中避免程序多次运行可以通过API函数“FindWindow”来实现。在主程序启动时,使用该函数来查找具有特定标题的窗口,如果找到,则认为程序已经运行,如果没有找到,则将主窗口的标题设置为特定的标题。厦礴恳蹒骈時盡继價骚。主程序中避免程序多次运行的代码:*避免多次运行程序*声明API函数“FindWindow”DECLARE Integer FindWindow IN USER32.DLL String lpClassName,String lpWindowName茕桢广鳓鯡选块网羈泪。lpWindowName=进
5、销存管理系统IF .NOT. FindWindow(0,lpWindowName)=0 &寻找窗口标题 =MESSAGEBOX(程序已经运行了,48,进销存管理系统) QUIT ENDIF_Screen.Caption=lpWindowName3、声明全局变量在程序的主程序中声明的全局变量的作用时间最长的,所以可以将整个系统中都需要使用的变量放在主程序中声明。将登录的用户的用户名放在主程序中声明,代码如下:鹅娅尽損鹌惨歷茏鴛賴。*声明全局变量PUBLIC cUser& 声明全局变量,用来保存系统中的登录用户4、调用系统的首个表单在Visual ForPro 中,.PRG主程序的主要作用是引导作
6、用,在做完一系列设置后调用程序的第一个表单,然后使用该表单去调用其它功能。籟丛妈羥为贍偾蛏练淨。一般情况下,吸引的首个表单可以为Splash表单、系统登录表单或者系统主表单,该系统的首个主表单为“登录系统表单”,代码如下:預頌圣鉉儐歲龈讶骅籴。*调用登录表单DO FORM Logon& 显示登录表单需要注意到是,如果隐藏了Visual ForPro 的主窗口,则要求系统的首个表单的“Show Window”属性值为“2- 作为顶层表单”,否则表单无法显示。因为如果“Show Window”的属性值为“0- 在屏幕中”,或者为“1- 再顶层表单”,都是将Visual ForPro主窗口作为顶层表
7、单的,而实际上顶层表单已经被隐藏,故无法显示主表单。渗釤呛俨匀谔鱉调硯錦。5、开始事件处理事件处理实际上是系统把程序控制权交给系统,使系统开始处理用户的输入。在Visual ForPro 中,开始事件处理可以用“READ EVENTS”命令,而结束事件处理则可以使用“CLEAR EVENTS”命令。铙誅卧泻噦圣骋贶頂廡。如果主程序在调用了系统的首个表单以后没有开始事件处理,则系统将一闪而过;如果开始了事件处理,则在退出系统主表单以后没有结束事件处理;如果没有隐藏Visual ForPro 主窗口,则在关闭主窗口是会出现“不能退出Visual ForPro ”的错误提示;如果隐藏了Visual
8、ForPro 主窗口,则可以在操作系统的进程列表中找到程序的进程。擁締凤袜备訊顎轮烂蔷。创建“AutoAdd”函数该系统中有多个表的“编号”字段是自增的,例如“商品信息”表中的“商品编号”等。而“商品编号”字段是字符型的,要对其自增,首先要将其中的非“0”部分增1,然后加上前面的“0”,使其编号长度满足要求。该系统编写了一个“”函数来完成这种字符串的形式数字的自增贓熱俣阃歲匱阊邺镓騷。在项目管理器的“Code”选项卡的树形列表中选中“Programs”选项,单击“New”按钮打开程序编辑器,编辑完保存程序即可。坛摶乡囂忏蒌鍥铃氈淚。“AutoAdd”函数代码如下:*作用:使“000000XX”
9、形式的编号自动加1FUNCTION AUTOADD(nCode)*获取字符串长度nLen=Len(nCode)*将字符型转换为数值型,即获取非0部分的数值nCode = VAL(nCode)*非0部分数字加1nCode = nCode + 1*转换为字符型nCode = ALLTRIM(STR(nCode)*获取转换后的字符串的长度nLength = LEN(nCode)*在数字之前加上前置“0”nZero=0000000000nCode = SUBSTR(nZero,1,nLen-nLength) + nCode*返回结果RETURN nCodeENDFUNC隐藏Visual ForPro
10、主窗口 要隐藏Visual ForPro 主窗口,可以在Visual ForPro 的命令窗口输入如下命令: MODIFY FILE CONFIG.fpw 在打开的编辑窗口中输入如下的语句: SCREEN = OFF 按Ctrl+W保存文件,然后在项目管理器的“Other”选项卡的树形列表框中选中“Other File”选项,单击“Add”按钮,在打开的“Open”对话框中将Config.fpw文件添加到项目管理器中。这样,在将项目连接编译为可执行程序后就可以隐藏Visual ForPro 主窗口。蜡變黲癟報伥铉锚鈰赘。创建系统主菜单 在项目管理器的“Other”选项卡中选中“Menus”选项
11、,单击“New”按钮,“New Menu”对话框中单击“Menu”按钮即可打开菜单设计器,在菜单设计器中创建系统主菜单的结构如表:買鲷鴯譖昙膚遙闫撷凄。 系统主菜单结构菜单菜单项结果命令信息管理(A)商品信息管理(P)命令DO From ProAdmin商品分类管理(T)命令DO From catmin-仓库信息管理(D)命令DO From depotadmin-供货商信息理(S)命令DO From supadmin客户信息管理(C)命令DO From clientadmin日常操作(D)商品进货操作(I)命令DO From inact商品出货操作(O)命令DO From outact-商品退
12、货操作(B)命令DO From backact仓库转移操作(I)命令DO From depact信息查询(F)进货记录查询(S)命令DO From inser出货记录查询(O)命令DO From outser退货记录查询(B)命令DO From BackSer-商品库存查询(S)命令DO From StoreSer信息统计(S)热销商品统计(H)命令DO From HotSell-缺货商品统计(S)命令DO From ShortPro系统管理(D)关于系统(A)命令DO From About修改密码(P)命令DO From SetPass退出系统(X)命令CLEAR EVENTS创建系统主表单
13、在项目管理器的“document”选项卡的树形列表框中“forms”选项,单击“new”按钮,在打开的“new form”对话框中单击“new form”按钮即可打开表单设计器开始表单的创建。系统主表单中的状态栏控件可以使用控件独有的“SBarCtrl属性”对话框来设置。系统主表单中的编辑框控件是用来中增加表单的立体感的,而系统主表单可能会根据需要来改变大小。具体用到代码如下:綾镝鯛駕櫬鹕踪韦辚糴。*-调用系统主表单DO MainMenu.MPR WITH This*-显示当前登录用户THISFORM.OLEcontrol1.Panels(2).Text=CUser*-刷新表单THISFORM
14、.RefreshTHISFORM.Editl.Width=THISFORM.WidthTHISFORM.Editl.Height=THISFORM.Height-THISFORM.olecontrl1.Height驅踬髏彦浃绥譎饴憂锦。创建“移动记录命令组”类 “移动记录命令组”的功能是用来移动表中的记录指针位置,以便用户能够分条地浏览表中的记录信息。 在项目管理器的“Classes”选项卡中单击“New”按钮, 打开“New Class”对话框,在“Class Name”对话框中输入可视类名称,在此输入“MyMove”,在“Base on”下拉列表中选择“commandGroup”,在输入框
15、中输入可视类保存的类库的名称,这里输入“My Tool”设置完成后单击“OK”按钮即可打开类设计器来创建。移动记录命令组类由4个命令组成,分别用来将记录指针移动表的第1条记录,当前记录的前一条记录、当前记录的后一条记录和表的最后一条记录即可。猫虿驢绘燈鮒诛髅貺庑。“移动记录命令组”的代码分为两部分,一部分代码分别位于每个按钮的“click”事件代码中,这部分代码用来移动记录指针。另一部分代码位于命令组的“Refresh”事件代码中,这部分代码用来根据表中记录指针的位置来控制命令组中按钮的状态。其代码如下:锹籁饗迳琐筆襖鸥娅薔。图为“移动记录命令组”类GO TOP &到首记录THISFORM.R
16、EFRESH &刷新表单*-如果到了数据表首部IF BOF().OR.RECNO()=1 MessageBox(“已到首记录”,48“移动记录”)ELSE*-如果数据指针不位于数据表首部 SKIP-1ENDIF*-刷新表单THISFORM.REFLESH*-如果记录指针位于数据表末尾IF EOF() or RecN()=RecCount() MessageBox(“已到末记录”,48,“移动记录”)*ELSE SKIPENDIF*-刷新表单THISFROM.REFRESHGO BUTTOM &到数据表末尾THISFROM.REFRESH &刷新表单(BOF().AND.EOF().OR.REC
17、COUNT()=1RECNO()=1.OR.BOF()RECNO()=RECCOUNT()*-如果数据表为空或者记录数小于1IF (BOF().AND.EOF().OR.RECCOUNT=1 THIS.Cmdtop.ENABLED=.F. THIS.Cmdpre.ENABLED=.F. THIS.Cmdbtm.ENABLED=.F. ReturnENDIF*-如果在记录指针在数据表的末尾IF RECNO()=RECCOUNT() .OR.EOF() THIS.Cmdtop.ENABLED=.T. THIS.Cmdpre.ENABLED=.T. THIS.Cmdnxt.ENABLED=.F. T
18、HIS.Cmdbtm.ENABLED=.F. ReturnENDIF*-如果在记录指针在数据表的首部IF RECNO()=1.OR.BOF() THIS.Cmdtop.ENABLED=.F. THIS.Cmdpre.ENABLED=.F. THIS.Cmdnxt.ENABLED=.T. THIS.Cmdbtm.ENABLED=.T. ReturnENDIF*-如果记录指针不在数据表的首部也不在尾部THIS.Cmdtop.ENABLED=.T.THIS.Cmdpre.ENABLED=.T.THIS.Cmdnxt.ENABLED=.T.THIS.Cmdbtm.ENABLED=.T.至此,“移动记录
19、命令组类”创建完成。创建“记录操作命令组”类 “记录操作命令组”类中有“增加”“修改”“删除”“保存”“修改”和“退出”6个按钮。新建一个类,命名为“MyAdmin”,存储于“MyTools”类库中。構氽頑黉碩饨荠龈话骛。 图为“记录操作命令组”类 单击“退出”按钮,弹出确认对话框,如果确认则退出当前表单,其“Click”事件代码如下: YN=MESSAGEBOX(“确定退出”,4+32,“进销存管理系统”) IF YN=6 THIS.ARRENT.PARENT.RELEASE ENDIF 至此,“记录操作命令组”类创建完成。创建“信息管理”模块 1、创建“商品信息管理”表单 “商品信息管理”
20、表单用来对数据库进行管理,包括分条浏览、增加、修改和删除记录。 在项目管理器中新建一个表单作为“商品信息管理”表单,命名为“ProAdmin”。将“商品信息”表和“分类信息”表添加到表单的数据环境中,并且使用“分类信息”表单“类别编号”字段与“商品信息”表单“商品类别”索引建立关联。輒峄陽檉簖疖網儂號泶。在数据环境中设置“商品信息”表单“BufferModeOverride”属性值为“2-Pessimistic Row Buffering”,设置其“Exclusive”属性值为“.T.- Ture”。尧侧閆繭絳闕绚勵蜆贅。从数据环境中将在表单中显示的字段拖放到表单中,并且分别创建“移动记录命令
21、组”类和“记录操作命令组”类的对象,分别命令为“MyMove”和“MyGroup”。创建好的“商品信息管理”表单如下:识饒鎂錕缢灩筧嚌俨淒。图为“商品信息管理”表单在“商品信息管理”表单中需要使用“frommode”和“oldrecord”两个自定义属性,以及“setmode”“checkempty”两个自定义方法。凍鈹鋨劳臘锴痫婦胫籴。“商品信息管理”表单在初始时,首先选择“商品信息”表在工作区,然后清除其可能存在过滤条件,再使表单进入“浏览”状态,最后刷新表单。“商品信息管理”表单在刷新时检测数据环境的表是否为空,如果为空则使表单进入“表空”状态,这只需要表单的“refresh”方法中调用
22、“checkempty”方法即可。设置“商品信息管理”表单中的“mygroup”命令组中的“增加”按钮需执行:保存“商品信息”表中的记录指针位置;将“商品信息”表中“商品管理”自动增1;新增空白记录;显示自动增1后的商品编号;表单进入“修改”状态。“商品信息管理”表单中“”mygroup命令组中的“删除”按钮的功能是被单击时首先弹出确认对话框,如果确认则删除表单中浏览的当前记录。“商品信息管理”表单中“mygroup”命令组中的“保存”按钮的功能设计是被单击时首先做一系列数据检查,如果数据无误,则试图保存,如果保存成功,则使表单进入浏览状态,如果保存失败则返回,等待用户修改。该按钮被单击时所做
23、的数据检查包括:“商品编号”是否为空;“商品名称”是否为空;“商品类别”是否为空;“商品单位”是否为空;“商品单价”是否小于或者等于0。“商品信息管理”白哦胆子“mygroup”命令组织的“取消”按钮的功能设计是被单击时弹出确认对话框,如果确认则恢复记录,然后移动记录指针,再使表单进入“浏览”状态,最后刷新表单中的数据重现记录。恥諤銪灭萦欢煬鞏鹜錦。创建“商品分类管理”表单图为“商品分类管理”表单 在项目管理器中新建1个表单作为“商品分类管理”表单,命名为“catadmin”。将“分类信息”和表“商品类别”表添加到表单的数据环境中,将“分类信息”表的“分类编号”字段与“商品信息”表的“商行品类
24、别”所以建立联系。在数据环境中,设置“分类信息”表的“buffermodeoverride”属性值为“2-perssimistic new buffering”,设置其“exclusive”属性值为.T.。从数据环境中将“分类信息”表要在表单中显示的字段拖放到表单中,添加1个表格控件,将“移动记录命令组”类实例化,命名为“mymove”,将“记录操作命令组”类实例化,命名为“mygroup”。鯊腎鑰诎褳鉀沩懼統庫。图为“商品分类管理”表单“信息管理”模块中的“仓库信息管理”、“供货商信息管理”和“客户信息管理”表单的创建方法与“商品信息管理”表单基本相同,“仓库信息管理”表单对应的文件为“de
25、potadmin”, “供货商信息管理”表单对应的表单文件为“supadmin”, “客户信息管理”表单对应的表单文件为“clientadmin”。硕癘鄴颃诌攆檸攜驤蔹。图为“仓库信息管理”表单图为“供货商信息管理”表单图为“客户信息管理”表单创建“商品进货操作”表单“商品进货操作”表单用来完成进货操作,使用该表单可以添加1条进货记录并且更新库存。在项目管理器中新建1个表单作为“商品进货操作”表单,命名为“inact”。将“进货信息”表(inrec)、“库存信息”表(storeinfo)、“商品信息”表(proinfo)、“供货信息”表(supinfo)和“仓库信息”表(depotinfo)添
26、加到表单数据环境中。阌擻輳嬪諫迁择楨秘騖。“商品进货操作”表单“商品进货操作”中的“选择”功能设计师被单击时调用“选择商品”表单来获得商行品的编号,然后对“选择商品”表单返回的数据进行判断,如果是正常返回的数据则在表单的“商品编号”文本框中显示返回数据,并且刷新表单,使表单中其他的与商品信息相关的控件中叶显示选定的商品信息。“商品进货操作”表单在初始化时设定首先生成进货编号,然后将表单中各个必要数据项的值初始化。“商品进货操作”表达中“确定”按钮的功能设计是被单击时首先检测表单中必要数据项的输入情况,如果输入无误则在“进货记录”表中添加1条记录,并且更新进货商品的库存信息。氬嚕躑竄贸恳彈瀘颔澩
27、。创建“商品出货操作”表单“商品出货操作”表单域“商品进货操作”表单基本形似,氮素还是有些细节处理上的不同。主要体现在选择了商品之后需要对商品的库存进行判断,而且如果有库存还需要列出库存的位置,并且在选择要出货的仓库后要显示该仓库中库存的制定的商品的数量。釷鹆資贏車贖孙滅獅赘。在项目管理器中新建1个表单作为“商品出货表单”,命名为“outact”。将“出货信息”表(outrec)、“库存信息”表(storeinfo)“商品信息”表(proinfo)和“客户信息”表(clientinfo)添加到表单的数据环境中。从数据环境中将要表单中显示的字段拖放到表单中,并且根据需要在表单中添加替换控件,设置
28、表单的布局如下:怂阐譜鯪迳導嘯畫長凉。“商品出货操作”表单中的“选择”按钮功能设计是被单击时调用“选择商品”表单来供客户选择要出货的商品,如果用户选择则了商品,则在“库存信息”表中查找是否有库存。当在“出货仓库”组合框中选择了出货仓库时,要在表单中的“库存数量”文本框中现实选择的仓库中指定商品的出货数量。“确定”按钮的功能设计是被单击首先检测必要数据项数据是否合法。“商品退货操作”表单与“商品出货操作”基本相同。谚辞調担鈧谄动禪泻類。 创建“仓库转存操作”表单“仓库转存操作”表单用来将某个仓库中的某一项或者全部商品转存到另一个仓库中。在项目管理器中新建1 个表单作为“仓库转存操作”表单,命名为
29、“depact”,将“商品信息”表(proinfo)、“库存信息”表(storeinfo)和“仓库信息”表(depotinfo)添加到表单的数据环境中。在表单中添加3个标签控件、3个组合框控件、1个复选框控件和2个空间按钮,设置表单中控件的布局如下:嘰觐詿缧铴嗫偽純铪锩。创建“选择商品”表单在“日常操作”模块中使用到的选择信息的表单包括“选择商品”表单、“选择供货商”表单和“选择客户”表单,这几个表单的设计思路基本一致。以“选择商品”表单为例。熒绐譏钲鏌觶鷹緇機库。在项目管理器中新建一个表单作为“商品选择”表单,命名为“proselect”。将“商品信息”表添加到表单的数据环境中。在表单中添加
30、3个标签控件、2个文本框控件、1个组合框控件、1个表格控件和2个按钮控件,设置表单中控件的布局如下:鶼渍螻偉阅劍鲰腎邏蘞。“选择供货商”表单“选择客户”表单创建“送货记录查询”表单“送货信息”表中只包含了商品的编号信息,如果要按照商品的名称或者分类来查询,职责需要关联使用到很多张数据表。在Visual FoxPro 中提供了试图来简化多个表中的数据组合。在项目管理器中新基金安一个视图,将“进货信息”表中的所有字段以及“商品信息”表中的相关字段添加输出列表中,将视图保存为“InView”。在项目管理器中新建1个表单作为“进货记录查询”表单,将“InView”视图添加到表单的数据环境中,再在表单中
31、添加1个表格控件和若干个其他控件,设置这些控件的布局如下图:纣忧蔣氳頑莶驅藥悯骛。“出货记录查询”表单“退货记录查询”表单“商品库存查询”表单创建“热销商品统计”“热销商品统计”是要从“出货信息”表中统计出每种商品的出货总量,然后对其进行排序。者可以使用SQL语句来实现,在Visual FoxPro 中可以使用视图来完成这种统计。在项目管理器中新建一个本地视图,将“出货记录”表的“商品编号”字段和“商品信息”表的商品编号建立连接。在视图涉设计器中的“Fields”选项卡着将需要现实的字段添加到“Select Field”列表框中。在视图设计器的“Group By”选项卡着设定按照“出货记录”表
32、的“商品编号”字段分组,再在“Other By”选项卡中设定按照“Sum(OutRec.出货数量)”表达式降序排列,在“Miscellaneous”选项卡中只能输出20条记录。设定完毕后将试图保存为“HotView”,这样即可完成统计的功能,接下来只需将数据使用表格控件显示在表单中即可。创建好的“热销商品统计”表单如下:颖刍莖蛺饽亿顿裊赔泷。创建“短缺商品统计”表单“短缺商品统计”表单与“热销商品表达原理基本相同,都是使用视图来组合两个表的数据,并且在组合的同时进行数据统计。首先创建一个视图,命名为“ShortView”,这个视图中统计的是每种商品在库存中的数量总和,其实现方法是在视图uzh按
33、照“库存信息”表的“商品编号”字段分组,并且将“Sum(StoreInfo.库存数量)AS库存总量”作为表达式添加到输入字段标记即可。濫驂膽閉驟羥闈詔寢賻。创建“系统登录”表单在项目管理器中新建一个表单作为“系统登录”的表单,命名为“Logon”。将“用户信息”表添加到表单的数据环境中。在表单中添加控件,设置控件的布局如下图。銚銻縵哜鳗鸿锓謎諏涼。在表单中添加一个自定义属性“i”,并设置其初始值为“0”,使用该属性来保护用户试图登录的次数。创建“修改密码”表单在项目管理器中新建一个表单作为“修改密码”表单,命名为“SetPass”,将“用户信息”表添加到表单的数据环境中。在表单中添加控件,设置
34、表单的空间布局如下:挤貼綬电麥结鈺贖哓类。关于该操作软件的制作和版本:在本次程序的设计和编译过程中所用到的代码简略叙述如下:DEFINE MENU (m.cMenuName) IN (m.oFormRef.Name) BARDEFINE PAD _1dq111n8t OF (m.cMenuName) PROMPT 信息管理(A) COLOR SCHEME 3 ;赔荊紳谘侖驟辽輩袜錈。KEY ALT+A, DEFINE PAD _1dq111n8u OF (m.cMenuName) PROMPT 日常操作(D) COLOR SCHEME 3 ;塤礙籟馐决穩賽釙冊庫。KEY ALT+D, DEFI
35、NE PAD _1dq111n8v OF (m.cMenuName) PROMPT 信息查询(S) COLOR SCHEME 3 ;裊樣祕廬廂颤谚鍘羋蔺。KEY ALT+S, DEFINE PAD _1dq111n8w OF (m.cMenuName) PROMPT 系统管理(M) COLOR SCHEME 3 ;仓嫗盤紲嘱珑詁鍬齊驁。KEY ALT+M, ON PAD _1dq111n8t OF (m.cMenuName) ACTIVATE POPUP (a_menupops1)绽萬璉轆娛閬蛏鬮绾瀧。ON PAD _1dq111n8u OF (m.cMenuName) ACTIVATE PO
36、PUP (a_menupops2)骁顾燁鶚巯瀆蕪領鲡赙。ON PAD _1dq111n8v OF (m.cMenuName) ACTIVATE POPUP (a_menupops3)瑣钋濺暧惲锟缟馭篩凉。ON PAD _1dq111n8w OF (m.cMenuName) ACTIVATE POPUP (a_menupops4)鎦诗涇艳损楼紲鯗餳類。DEFINE POPUP (a_menupops1) MARGIN RELATIVE SHADOW COLOR SCHEME 4栉缏歐锄棗鈕种鵑瑶锬。DEFINE BAR 1 OF (a_menupops1) PROMPT 商品信息管理(P)辔烨棟
37、剛殓攬瑤丽阄应。ON SELECTION BAR 1 OF (a_menupops1) do form ProAdmin峴扬斕滾澗辐滠兴渙藺。DEFINE POPUP (a_menupops2) MARGIN RELATIVE SHADOW COLOR SCHEME 4詩叁撻訥烬忧毀厉鋨骜。DEFINE BAR 1 OF (a_menupops2) PROMPT 商品进货操作(I)则鯤愜韋瘓賈晖园栋泷。DEFINE BAR 2 OF (a_menupops2) PROMPT -DEFINE BAR 3 OF (a_menupops2) PROMPT 商品出货操作(O)胀鏝彈奥秘孫戶孪钇賻。ON
38、 SELECTION BAR 1 OF (a_menupops2) DO FORM InAct鳃躋峽祷紉诵帮废掃減。ON SELECTION BAR 3 OF (a_menupops2) DO FORM OutAct稟虛嬪赈维哜妝扩踴粜。DEFINE POPUP (a_menupops3) MARGIN RELATIVE SHADOW COLOR SCHEME 4陽簍埡鲑罷規呜旧岿錟。DEFINE BAR 1 OF (a_menupops3) PROMPT 进货信息查询(I)沩氣嘮戇苌鑿鑿槠谔應。DEFINE BAR 2 OF (a_menupops3) PROMPT -DEFINE BAR
39、3 OF (a_menupops3) PROMPT 出货信息查询(O)钡嵐縣緱虜荣产涛團蔺。DEFINE BAR 4 OF (a_menupops3) PROMPT -DEFINE BAR 5 OF (a_menupops3) PROMPT 库存信息查询(S)懨俠劑鈍触乐鹇烬觶騮。ON SELECTION BAR 1 OF (a_menupops3) DO FORM InSearch謾饱兗争詣繚鮐癞别瀘。ON SELECTION BAR 3 OF (a_menupops3) DO FORM OutSearch呙铉們欤谦鸪饺竞荡赚。ON SELECTION BAR 5 OF (a_menupop
40、s3) DO FORM StoreSearch莹谐龌蕲賞组靄绉嚴减。DEFINE POPUP (a_menupops4) MARGIN RELATIVE SHADOW COLOR SCHEME 4麸肃鹏镟轿騍镣缚縟糶。DEFINE BAR 1 OF (a_menupops4) PROMPT 修改密码(M)DEFINE BAR 2 OF (a_menupops4) PROMPT -DEFINE BAR 3 OF (a_menupops4) PROMPT 关于系统(A)DEFINE BAR 4 OF (a_menupops4) PROMPT -DEFINE BAR 5 OF (a_menupops4) PROMPT 退出系统(E)ON SELECTION BAR 1 OF (a_menupops4) DO FORM SetPass納畴鳗吶鄖禎銣腻鰲锬。ON SELECTION BAR 3 OF (a_menupops4) DO About.prgON SELECTION BAR 5 OF (a_menupops4) CLEAR EVENTSACTIVATE MENU (m.cMenuName) NOWAITIF m.cTypeParm2 = Cm.getMenuName = m.cMenuNamem.oFormRef.Name = m.cSaveFormName ENDIF
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100