📄 进销存.zrg
字号:
RETURN
ENDPRO
PROCEDURE 进货统计
CLEAR
TEMP1=0
TEMP2=0
TEMP3=""
TEMP4=0.00
TEMP5=0
@ 1,1 SAY "扫描商品条码..."
@ 2,4 GET cInput1
read
n=lastkey()
if n=24
return
endif
SELECT D
GO TOP
locate for VAL(cInput1)=VAL(商品A_ID) .and. (.not.eof( ))
SOUND 21,4
IF eof()
clear
@ 1,3 say "没有此商品编号"
@ 2,3 say "或条码有误!..."
wait ""
RETURN
ELSE
CURR_REC=recno()
GO CURR_REC
TEMP3=商品名称A
TEMP4=零售单价A
TEMP5=现库存量A
ENDIF
IF LEN(cInput1)>=6
clear
SELECT A
@ 0,0 say "正在求和..."
SUM 采购数量,采购金额 TO TEMP1,TEMP2 FOR VAL(商品ID)=VAL(cInput1)
TEMP4=round(TEMP2/TEMP1,1)
CLEAR
@ 0,1 SAY "-- 采购总和统计 --"
@ 2,0 SAY "商品ID:"
@ 2,col() SAY cInput1
@ 3,0 SAY "商品名称:"
@ 3,col()+1 SAY TEMP3
@ 4,0 SAY "现库存(参):"
@ 4,col()+1 SAY TEMP5
@ 5,0 SAY "采购总量:"
@ 5,col()+1 SAY TEMP1
@ 6,0 SAY "采购总额:"
@ 6,col()+1 SAY TEMP2
@ 7,0 SAY "平均进价:"
@ 7,col()+1 SAY TEMP4
WAIT""
ENDIF
RETURN
ENDPRO
PROCEDURE 添加记录
Clear
DO WHILE .T.
CLEAR
SET INTENSITY ON
@ 0,1 SAY "-- 选添加记录库 --"
SET INTENSITY OFF
添库菜单[1]="1-添加客户库"
添库菜单[2]="2-添加雇员库"
添库数组[1]="在客户库尾添加新记录..."
添库数组[2]="在雇员库尾添加新记录..."
@2,3 MENU 添库菜单,2,2
@2,2 MENU 添库数组,2
@5,0 SAY "注:按上下键选择,回车执行"
READ MENU TO nMenuChoice
DO CASE
CASE nMenuChoice=1
SELECT B
DO 添加客户
CASE nMenuChoice=2
SELECT C
DO 添加雇员
OTHERWISE
EXIT
ENDCASE
ENDDO
RETURN
ENDPRO
PROCEDURE 添加客户
Clear
@0,2 Say "-- 添加客户库--"
@2,0 Say "当前记录号:"+Str(Recno(),5)
@3,0 Say "新记录序号:"+Str(Reccount()+1,5)
@4,0 Say "注:按确认键开始添加客户的具体内容..."
Wait "" To cKey
If Asc(cKey)=13
Clear 2
Append Blank
@0,0 Say "-- 客 户 库 内 容 --"
@2,0 Say "客户编号:" Get 客户B_ID
@3,0 Say "客户名称:" Get 客户姓名
@4,0 Say "职务 :" Get 职务
@5,0 Say "地址 :" Get 地址B
@6,0 Say "电话 :" Get 电话B
Read
* if len(客户B_ID )=0 .or. len(电话B)=0
* clear
* @ 2,2 say "输入无效,返回重输!"
* wait""
* endif
replace 客户B_ID with 客户B_ID,客户姓名 with 客户姓名
replace 职务 with 职务, 地址B with 地址B, 电话B with 电话B
Else
XH=0
clear
@ 2,0 SAY "现校对客户库新记录"
@ 3,0 SAY "请输入序号:"
@ 4,3 GET XH
READ
GO XH
clear
@0,0 Say "-- 客 户 库 重 写 --"
@2,0 Say "客户编号:" Get 客户B_ID
@3,0 Say "客户名称:" Get 客户姓名
@4,0 Say "职务 :" Get 职务
@5,0 Say "地址 :" Get 地址B
@6,0 Say "电话 :" Get 电话B
@7,0 say "重要提示!!!"
@8,0 Say "不修改记录,按退出键!"
@9,0 Say "若修改必须按确认键!!"
read
n=lastkey()
if n=24
return
else
replace 客户B_ID with 客户B_ID,客户姓名 with 客户姓名
replace 职务 with 职务, 地址B with 地址B, 电话B with 电话B
endif
ENDIF
RETURN
ENDPRO
PROCEDURE 添加雇员
Clear
@0,2 Say "-- 添加职工库--"
@2,0 Say "当前记录号:"+Str(Recno(),5)
@3,0 Say "新记录序号:"+Str(Reccount()+1,5)
@5,0 Say "注:按确认键开始添加雇员的具体情况..."
Wait "" To cKey
If Asc(cKey)=13
Clear 2
Append Blank
@0,0 Say "-- 雇 员 库 内 容--"
@2,0 Say "职工编号:" Get 雇员C_ID
@3,0 Say "职工姓名:" Get 雇员姓名
@4,0 Say "身份证:" Get 身份证号
@5,0 Say "电话C :" Get 电话C
@6,0 Say "销售总额:" Get 零售总额
Read
* if len(雇员C_ID)=0 .or. len(雇员姓名 )=0 .or. len(零售总额)=0
* clear
* @ 2,2 say "输入无效,返回重输!"
* wait""
* endif
replace 雇员C_ID with 雇员C_ID ,雇员姓名 with 雇员姓名
replace 身份证号 with 身份证号, 电话C with 电话C
replace 零售总额 with 零售总额
Else
XH=0
clear
@ 2,0 SAY "现校对雇员库新记录"
@ 3,0 SAY "请输入序号:"
@ 4,3 GET XH
READ
GO XH
clear
@0,0 Say "-- 重 写 雇 员 库 --"
@2,0 Say "职工编号:" Get 雇员C_ID
@3,0 Say "职工姓名:" Get 雇员姓名
@4,0 Say "身份证:" Get 身份证号
@5,0 Say "电话C :" Get 电话C
@6,0 Say "销售总额:" Get 零售总额
@7,0 say "重要提示!!!"
@8,0 Say "不修改记录,按退出键!"
@9,0 Say "若修改必须按确认键!!"
read
n=lastkey()
if n=24
return
else
replace 雇员C_ID with 雇员C_ID ,雇员姓名 with 雇员姓名
replace 身份证号 with 身份证号, 电话C with 电话C
replace 零售总额 with 零售总额
endif
ENDIF
RETURN
ENDPRO
PROCEDURE 综合查询
CLEAR
PFSL=0
PFJE=0.00
CGSL=0
CGJE=0.00
SELECT A
GO TOP
@ 1,0 SAY "正在订单库查找4位客户编号..."
locate all for VAL(客户A_ID)=VAL(KHID)
SOUND 21,4
IF eof()
clear
@ 1,3 say "已到数据库尾,订单库没有此客户订单!"
wait ""
RETURN
ELSE
CURR_REC=recno()
KHID=客户A_ID
ZGBH=雇员A_ID
SPID=商品ID
PFSL=批发数量
PFJE=批发金额
CGSL=采购数量
CGJE=采购金额
ENDIF
clear
@ 0,1 SAY "-- 综 合 清 单A --"
@ 1,0 SAY "订单编号:"
@ 1,col()+1 SAY 定单ID
@ 2,0 SAY "客户编号:"
@ 2,col()+1 SAY 客户A_ID
@ 3,0 SAY "雇员编号:"
@ 3,col()+1 SAY 雇员A_ID
@ 4,0 SAY "订单日期:"
@ 4,col()+1 SAY 日期
@ 5,0 SAY "商品编号:"
@ 6,3 SAY 商品ID
If PFSL<>0
@ 7,0 SAY "批发数量:"
@ 7,col()+1 SAY PFSL
@ 8,0 SAY "批发金额:"
@ 8,col()+1 SAY PFJE
else
@ 7,0 SAY "采购数量:"
@ 7,col()+1 SAY CGSL
@ 8,0 SAY "采购金额:"
@ 8,col()+1 SAY CGJE
endif
wait""
n=lastkey()
if n=24
Do 客户库
Do 雇员库
Do A产品库
endif
DO WHILE .NOT. EOF()
CONTINUE
IF eof()
clear
@ 1,1 say "已到数据库尾,按任意键返回!..."
wait ""
RETURN
ENDIF
CURR_REC=recno()
KHID=客户A_ID
ZGBH=雇员A_ID
SPID=商品ID
PFSL=批发数量
PFJE=批发金额
CGSL=采购数量
CGJE=采购金额
CLEAR
@ 0,1 SAY "-- 综 合 内 容B --"
@ 1,0 SAY "订单编号:"
@ 1,col()+1 SAY 定单ID
@ 2,0 SAY "客户编号:"
@ 2,col()+1 SAY 客户A_ID
@ 3,0 SAY "雇员编号:"
@ 3,col()+1 SAY 雇员A_ID
@ 4,0 SAY "订单日期:"
@ 4,col()+1 SAY 日期
@ 5,0 SAY "商品编号:"
@ 6,3 SAY 商品ID
If PFSL<>0
@ 7,0 SAY "批发数量:"
@ 7,col()+1 SAY PFSL
@ 8,0 SAY "批发金额:"
@ 8,col()+1 SAY PFJE
else
@ 7,0 SAY "采购数量:"
@ 7,col()+1 SAY CGSL
@ 8,0 SAY "采购金额:"
@ 8,col()+1 SAY CGJE
endif
@ 9,0 say "注:可按退出键返回..."
wait ""
n=lastkey()
if n=24
Do 客户库
Do 雇员库
Do A产品库
endif
IF CURR_REC=Reccount()
clear
@ 1,0 say "已到数据库尾,请按退出键返回!..."
wait ""
RETURN
ENDIF
ENDDO
RETURN
ENDPRO
PROCEDURE 手工录入
DO WHILE .T.
BarCode=""
CLEAR
@ 2,1 SAY "请输入四位客户编号:"
@ 4,3 GET BarCode
READ
* BarCode=TRIM(BarCode)
n=lastkey()
if n=24
exit
endif
DO CASE
CASE LEN(BarCode)=3
*3位C型ID,查采购员 OK!!
ZGBH=BarCode
DO 雇员库
CASE LEN(BarCode)=4
** 4位C型客户A_ID OK!!
KHID=BarCode
DO 综合查询
CASE LEN(BarCode)=5
* 从5位N型订单ID OK!
DO 定单库
CASE LEN(BarCode)>=6
* 6位以上商品条码
SPID=BarCode
DO A产品库
OTHERWISE
EXIT
ENDCASE
ENDDO
RETURN
ENDPRO
PROCEDURE 条码类型说明
DO WHILE .T.
CLEAR
@ 0,2 SAY "-- 条 码 类 型 --"
码型菜单[1]="1-CODE39 条码"
码型菜单[2]="2-UPC 条码"
码型菜单[3]="3-CodaBar条码"
码型菜单[4]="4-九三条码"
码型菜单[5]="5-EAN 条码"
码型菜单[6]="6-交插二五条码"
码型数组[1]="三九条码对字母和数字进行编码,常用于运输,仓储,图书馆,医疗卫生等领域"
码型数组[2]="美国统一代码委员会制定的一种代码"
码型数组[3]="是一种条空均表示信息的非连续型条码"
码型数组[4]="与CODE39兼容,但密度较高;误码率较低"
码型数组[5]="欧洲物品编码协会制定的一种条码"
码型数组[6]="邮电和仓储常使用,条与空均表示信息;非定长条码"
@1,3 MENU 码型菜单,6,6
@1,2 MENU 码型数组,6
@8,0 SAY "注:按上下键选择,按帮助-注释"
READ MENU TO nMenuChoice
DO CASE
CASE nMenuChoice=1
条码类型=1
TYPE="CODE39"
DO 显示条码
CASE nMenuChoice=2
条码类型=2
TYPE="UPC"
DO 显示条码
CASE nMenuChoice=3
条码类型=3
TYPE="CodeBar"
DO 显示条码
CASE nMenuChoice=4
条码类型=4
TYPE="九三条码"
Do 显示条码
CASE nMenuChoice=5
条码类型=5
TYPE="EAN"
Do 显示条码
CASE nMenuChoice=6
条码类型=6
TYPE="交插二五码"
DO 显示条码
OTHERWISE
EXIT
ENDCASE
ENDDO
RETURN
ENDPRO
PROCEDURE 关机
CLEAR
@ 1,4 SAY "敬 请 使 用"
@ 2,6 SAY "TP_800C "
@ 3,3 SAY "商品进销存电脑"
@ 4,2 SAY "机器号: "+SERIES()
@ 6,1 SAY "谢谢使用我公司产品!"
@ 8,4 SAY "请按确认键,"
@ 9,4 SAY "返回系统菜单!!"
@ 10,22
WAIT ""
RETURN
ENDPRO
PROCEDURE 开机
CLEAR
@ 1,2 SAY "振 中 信 通 公 司"
@ 3,6 SAY "(TP_800C)"
@ 4,1 SAY "机 器 号: "+SERIES()
@ 6,5 SAY "欢 迎 使 用"
@ 7,3 SAY "商品进销存电脑"
@ 6,21
WAIT ""
n=lastkey()
if n=24
CLEAR
@1,0 SAY "请输入收款员编号:"
@2,5 GET SKYH
READ
n=WRITESYSVAR(50,SKYH)
endif
sSysVar=READSYSVAR(50)
if n=48
n=DELETESYSVAR(51)
n=DELETESYSVAR(52)
n=DELETESYSVAR(53)
n=DELETESYSVAR(54)
n=DELETESYSVAR(85)
endif
clear
@ 0,1 say "-- 系 统 信 息 --"
@ 2,0 say "日期:"
@ 2,col()+1 say Date()
@ 3,0 say "时间:"
@ 3,col()+1 say time()
@ 4,0 Say "您的编号是:"
@ 4,col()+1 say val(sSysVar)
wait""
RETURN
ENDPRO
PROCEDURE 初始化
DO 开机
SET DOWNTIME TO 3400
IF EXECCOUNT()=1
SELECT D
GO TOP
条码标志="CCD"
TYPE="CODE39"
IF 条码标志="CCD"
INITSIO 1
ELSE
条码标志="COM"
ENDIF
ENDIF
RETURN
ENDPRO
START
DO 初始化
DO WHILE .T.
CLEAR
主菜单[1] ="1-条码操作入口"
主菜单[2] ="2-条码类型说明"
主菜单[3] ="3-关机操作"
伴随数组[1]="该项操作包括:商品的零售;采购和批发的相应操作..."
伴随数组[2]="常用条码简介,包括:UPC码;EAN码;CODE-39码..."
伴随数组[3]="关机操作"
* SET INTENSITY ON
@ 0,0 SAY "-- 商品进销存微机 --"
* SET INTENSITY OFF
@ 2,3 MENU 主菜单,3,3
@ 2,3 MENU 伴随数组,3
@ 7,0 SAY "注:请按上下键选择,再按确认键执行操作;亦可按帮助..."
READ MENU TO nMenuChoice
DO CASE
CASE nMenuChoice=1
DO 条码演示
CASE nMenuChoice=2
DO 条码类型说明
CASE nMenuChoice=3
DO 关机
EXIT
ENDCASE
ENDDO
ENDSTART
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -