📄 进销存.zrg
字号:
@ 9,0 SAY "现库存(参):"
@ 9,COL()+1 SAY TEMP1
WAIT""
ENDIF
replace 毛利润a with MLR
replace 零售总量A with TEMP5
replace 现库存量A with TEMP1, 库存总额A with TEMP4
SELECT E
GO BOTTOM
LSH=流水号+1
Append Blank
sSysVar=READSYSVAR(50)
replace 流水号 with LSH
replace 零售日期 with DATE()
replace 收款员ID with sSysVar
replace 商品条码 with 商品A_ID
replace 零售数量 with XSL
replace 小计 with 零售单价A*XSL
CLEAR
@ 0,1 SAY "-- 零 售 小 票 --"
@ 2,0 SAY "交易编号:"
@ 2,col()+1 SAY 流水号
@ 3,0 SAY "购买时间:"
@ 3,10 SAY 零售日期
@ 4,0 SAY "条码:"
@ 4,col()+1 SAY 商品条码
@ 5,0 say "商品名称:"
@ 5,col()+1 say 商品名称A
@ 6,0 SAY "购买数量:"
@ 6,10 SAY 零售数量
@ 7,0 SAY "零售单价:"
@ 7,col()+1 SAY 零售单价A
@ 8,0 SAY "小计:(元)"
@ 8,10 SAY 零售单价A*XSL
WAIT""
RETURN
ENDPRO
PROCEDURE 条码查询
DO WHILE .T.
CLEAR
* SET INTENSITY ON
@ 0,1 SAY "-- 选 查 询 库 --"
SET INTENSITY OFF
库名菜单[1]="1-订单库查询"
库名菜单[2]="2-客户库查询"
库名菜单[3]="3-雇员库查询"
库名菜单[4]="4-商品库查询"
库名菜单[5]="5-综合查询"
库名数组[1]="通过订单编号(5位),查询订单库的内容..."
库名数组[2]="通过客户编号(4位),查询客户库的内容..."
库名数组[3]="通过雇员编号(3位),查询雇员库的内容,销售业绩在统计后才能显示..."
库名数组[4]="通过商品条码(6位-13位),查询商品库的具体内容..."
库名数组[5]="输入有订单的客户编号(4位),查询商品销售的综合情况..."
@2,4 MENU 库名菜单,5,5
@2,4 MENU 库名数组,5
@8,0 SAY "按上下键选择,按确认键执行"
READ MENU TO nMenuChoice
DO CASE
CASE nMenuChoice=1
SELECT A
DO 条码录入
CASE nMenuChoice=2
SELECT B
DO 条码录入
CASE nMenuChoice=3
SELECT C
DO 条码录入
CASE nMenuChoice=4
SELECT D
DO 条码录入
CASE nMenuChoice=5
DO 手工录入
OTHERWISE
EXIT
ENDCASE
ENDDO
RETURN
ENDPRO
PROCEDURE 条码录入
DO WHILE .T.
BarCode=""
CLEAR
@ 2,0 SAY "请扫描商品条码,或输"
@ 3,0 SAY "入正确位数的条码编号"
@ 4,2 GET BarCode
READ
BarCode=TRIM(BarCode)
n=lastkey()
if n=24
exit
endif
DO CASE
CASE LEN(BarCode)=3
*3位C型ID,查采购员
ZGBH=BarCode
DO 雇员库
CASE LEN(BarCode)=4
* 4位C型客户A_ID
KHID=BarCode
DO 客户库
CASE LEN(BarCode)=5
*从5位N型订单ID
DO 定单库
CASE LEN(BarCode)>=6
*6位以上C型商品ID
SPID=BarCode
DO A产品库
OTHERWISE
CLEAR
@2,2 SAY "条码(或编号)有误,按任意键返回!!"
WAIT""
EXIT
ENDCASE
ENDDO
RETURN
ENDPRO
PROCEDURE 定单库
CLEAR
PFSL=0
SELECT A
GO TOP
@ 1,0 SAY "正在查找5位订单编号..."
locate all for 定单ID=VAL(BarCode)
SOUND 21,4
IF eof()
clear
@ 1,1 say "无该订单,已到数据库尾;按任意键返回!!"
wait ""
RETURN
ELSE
CURR_REC=recno()
PFSL=批发数量
PFJE=批发金额
CGSL=采购数量
CGJE=采购金额
CLEAR
@ 0,1 SAY "-- 订 单 内 容A --"
@ 2,0 SAY "订单编号:"
@ 2,col() SAY 定单ID
@ 3,0 SAY "客户编号:"
@ 3,col() SAY 客户A_ID
@ 4,0 SAY "定单时间:"
@ 4,9 SAY 日期
@ 5,0 SAY "产品条码:"
@ 5,col() SAY 商品ID
If PFSL<>0
@ 6,0 SAY "批发数量:"
@ 6,col()+1 SAY PFSL
@ 7,0 SAY "批发金额:"
@ 7,col()+1 SAY PFJE
else
@ 6,0 SAY "采购数量:"
@ 6,col()+1 SAY CGSL
@ 7,0 SAY "采购金额:"
@ 7,col()+1 SAY CGJE
endif
wait ""
ENDIF
RETURN
ENDPRO
PROCEDURE 客户库
CLEAR
SELECT B
GO TOP
@ 1,0 SAY "正在查找4位客户编号..."
locate all for VAL(KHID)=VAL(客户B_ID)
SOUND 21,4
IF eof()
clear
@ 1,1 say "无该客户,已到数据库尾;请按任意键返回!!"
wait ""
RETURN
ELSE
CLEAR
@ 0,2 SAY "-- 客 户 情 况 --"
@ 2,0 SAY "客户编号:"
@ 2,col()+1 SAY 客户B_ID
@ 3,0 SAY "客户姓名:"
@ 3,col()+1 SAY 客户姓名
@ 4,0 SAY "职务:"
@ 4,col()+1 SAY 职务
@ 6,0 SAY "地址B:"
@ 6,col()+1 SAY 地址B
@ 8,0 SAY "电话B:"
@ 8,col()+1 SAY 电话B
WAIT""
ENDIF
RETURN
ENDPRO
PROCEDURE 雇员库
CLEAR
SELECT C
GO TOP
@ 1,0 SAY "正在查找3位雇员ID..."
locate all for VAL(雇员C_ID)=VAL(ZGBH)
SOUND 21,4
IF eof()
clear
@ 1,1 say "无该雇员,已到数据库尾;请按任意键返回!!"
wait ""
RETURN
ELSE
CURR_REC=recno()
ENDIF
CLEAR
@ 0,2 SAY "-- 雇 员 情 况 --"
@ 2,0 SAY "雇员编号:"
@ 2,col()+1 SAY 雇员C_ID
@ 3,0 SAY "姓名:"
@ 3,col()+1 SAY 雇员姓名
@ 4,0 SAY "身份证:(15位)"
@ 5,2 SAY 身份证号
@ 6,0 SAY "电话:"
@ 6,col()+1 SAY 电话C
@ 7,0 SAY "零售总额:"
@ 7,col()+1 SAY 零售总额
WAIT""
RETURN
ENDPRO
PROCEDURE A产品库
CLEAR
SELECT D
GO TOP
@ 1,0 SAY "正在查找商品条码..."
* locate all for VAL(BarCode)=VAL(商品A_ID)
locate all for VAL(SPID)=VAL(商品A_ID)
SOUND 21,4
IF eof()
clear
@ 1,1 say "无此商品,已到数据库尾;请按任意键返回!!"
wait ""
RETURN
ELSE
CURR_REC=recno()
ENDIF
CLEAR
@ 0,2 SAY "-- 商 品 内 容 --"
@ 2,0 SAY "商品ID:"
@ 2,col() SAY 商品A_ID
@ 3,0 SAY "商品名称:"
@ 3,col()+1 SAY 商品名称A
@ 4,0 SAY "零售单价:"
@ 4,col()+1 SAY 零售单价A
@ 5,0 say "现库存(参):"
@ 5,col()+1 say 现库存量A
@ 6,0 SAY "库存总额:"
@ 6,col()+1 SAY 库存总额A
@ 7,0 SAY "商品说明:"
@ 7,col()+1 SAY 备注A
WAIT""
RETURN
ENDPRO
PROCEDURE 条码统计
CLEAR
DO WHILE .T.
CLEAR
SET INTENSITY ON
@ 0,3 SAY "[超市商品管理]"
SET INTENSITY OFF
统计菜单[1]="1-商品统计"
统计菜单[2]="2-批发统计"
统计菜单[3]="3-零售总额"
统计菜单[4]="4-进货统计"
统计数组[1]="据商品条码,进行该商品的零售总量,毛利润,现库存量等统计"
统计数组[2]="据商品条码,可统计该商品的批发数量和批发总额"
统计数组[3]="据3位职工编号,可统计近期该雇员的零售总额和批零总毛利"
统计数组[4]="据商品条码,可统计该商品的采购数量和实际采购总额"
@2,5 MENU 统计菜单,4,4
@2,5 MENU 统计数组,4
@7,0 SAY "注:先按上下键选择,再按确认键执行!!"
READ MENU TO nCMenuChoice
DO CASE
CASE nCMenuChoice=1
Do 商品统计
CASE nCMenuChoice=2
DO 批发统计
CASE nCMenuChoice=3
DO 职工销售统计
CASE nCMenuChoice=4
DO 进货统计
OTHERWISE
EXIT
ENDCASE
ENDDO
RETURN
ENDPRO
PROCEDURE 商品统计
CLEAR
TEMP1=0
TEMP2=0
TEMP3=""
TEMP4=0.00
TEMP5=0
TEMP6=0
TEMP7=0.00
cInput1=""
@ 0,0 SAY "扫描商品条码..."
@ 1,3 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,2 say "没有该商品编号"
@ 2,2 say "或条码错!..."
wait ""
RETURN
ELSE
CURR_REC=recno()
GO CURR_REC
TEMP2=毛利润A
TEMP3=商品名称A
TEMP4=零售单价A
TEMP5=现库存量A
ENDIF
IF LEN(cInput1)>=6
clear
SELECT E
@ 0,0 say "正在求和..."
SUM 零售数量 TO TEMP1 FOR VAL(cInput1)=VAL(商品条码)
SELECT A
SUM 批发数量 TO TEMP6 FOR VAL(cInput1)=VAL(商品ID)
SUM 批发毛利 TO TEMP7 FOR VAL(cInput1)=VAL(商品ID)
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 TEMP4
@ 5,0 SAY "零售总量:"
@ 5,col()+1 SAY TEMP1
@ 6,0 SAY "零毛利和:"
@ 6,col()+1 SAY TEMP2
@ 7,0 SAY "批发总量:"
@ 7,col()+1 SAY TEMP6
@ 8,0 SAY "批毛利和:"
@ 8,col()+1 SAY TEMP7
@ 9,0 SAY "现库存(参):"
@ 9,col()+1 SAY TEMP5
WAIT""
ENDIF
RETURN
ENDPRO
PROCEDURE 批发统计
CLEAR
TEMP=0.00
TEMP1=0
TEMP2=0.00
TEMP3=""
TEMP4=0.00
TEMP5=0
TEMP6=0
TEMP7=0.00
TEMP8=0
TEMP9=0.00
TEMP11=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
TEMP6=现库存量A
ENDIF
IF LEN(cInput1)>=6
clear
SELECT A
@ 0,0 say "正在求和..."
SUM 批发数量,批发金额,批发毛利 TO TEMP1,TEMP2,TEMP4 FOR VAL(商品ID)=VAL(cInput1)
SUM 采购数量,采购金额 TO TEMP5,TEMP FOR VAL(商品ID)=VAL(cInput1)
SUM ALL 批发金额 TO TEMP9
SELECT E
@ 0,0 say "正在求和..."
SUM 零售数量 TO TEMP8 FOR VAL(cInput1)=VAL(商品条码)
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 TEMP1
@ 5,0 SAY "零售(参):"
@ 5,col()+1 SAY TEMP8
@ 6,0 SAY "现库存(参):"
@ 6,col()+1 SAY TEMP6
@ 7,0 SAY "批发总额:"
@ 7,col()+1 SAY TEMP2
@ 8,0 say "毛利总额:"
@ 8,col()+1 say TEMP4
WAIT""
ENDIF
RETURN
ENDPRO
PROCEDURE 职工销售统计
CLEAR
TEMP2=0
TEMP3=""
TEMP7=0.00
TEMP10=0.00
cInput1=""
@ 0,0 SAY "输入3位收款员ID:"
@ 1,4 GET cInput1
read
n=lastkey()
if n=24
return
endif
SELECT C
GO TOP
locate for VAL(cInput1)=VAL(雇员C_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=雇员姓名
DHHM=电话C
ENDIF
clear
SELECT E
@ 0,0 say "正在求和..."
SUM 小计 TO TEMP2 FOR VAL(收款员ID)=VAL(SubStr(cInput1,1,4))
SELECT C
replace 零售总额 with TEMP2
SELECT D
SUM 毛利润A TO TEMP7
SELECT A
* SUM 批发毛利 TO TEMP10 FOR VAL(雇员A_ID)=VAL(cInput1)
SUM ALL 批发毛利 TO TEMP10
IF TEMP2=0.00
TEMP7=0.00
TEMP10=0.00
ENDIF
CLEAR
@ 0,1 SAY "-- 雇 员 情 况--"
@ 2,0 SAY "雇员编号:"
@ 2,col()+1 SAY cInput1
@ 3,0 SAY "雇员姓名:"
@ 3,col()+1 SAY TEMP3
@ 4,0 SAY "电话:"
@ 4,col()+1 SAY 电话C
@ 5, 0 SAY "销售总额:"
@ 5,col()+1 SAY TEMP2
@ 6,0 say "零总毛利:"
@ 6,col()+1 say TEMP7
@ 7,0 say "批总毛利:"
@ 7,col()+1 say TEMP10
WAIT""
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -