📄 cangku.txt
字号:
ENDI
ENDIF
SELE 2
LOCA ALL FOR RQ=URQ1
FOR UI=1 TO RECC(1)
SELE 1
GO UI
UZD=[CP]+ALLT(CPDM)
SELE 2
REPLACE &UZD WITH &UZD+A.rksl
NEXT
CLOS DATA ALL
USE CPKC
SORT ON RQ TO $KC
ZAP
APPE FROM $KC
USE
ERAS $KC.DBF
SELE 1
USE CPHZA
APPE FROM cprdata
APPE FROM cpsjsr
REPL ALL HZMK WITH DTOC(RQ,1)+CPDM
INDE ON HZMK TO $SY
TOTA ON HZMK TO $SUM FIEL RKSL,LSSL,PFSL
ZAP
USE CPRDATA INDE CPRDATA
ZAP
APPE FROM $SUM
REIN
SELE 2
USE CPKC
LOCA ALL FOR RQ=URQ1
SELE 1
SET FILT TO RQ=URQ1
GO TOP
DO WHIL !EOF(1)
SELE 1
UZD=[CP]+ALLT(CPDM)
REPL KCSL WITH B.&UZD
SKIP
ENDD
CLOS DATA ALL
ERAS $SY.DBF
ERAS $SUM.DBF
USE cpsjsr
ZAP
USE
RETU
*********
PROC ZCP21
*********
PARA SRTYPE
CLOS DATA ALL
STOR DATE() TO URQ1,URQ2
IF SRTYPE<>[库存]
DO GETRQ WITH 1,URQ1,URQ2
ELSE
USE CPKC
IF RECC()<0.5
CLOS DATA ALL
RETU
ENDI
USE
AAQQ=1
DO ZYHWA_SE WITH [哪一日库存],[],3,AAQQ,-10,-10,[\<1 最近的;\<2 其它日]
IF AAQQ=1
USE CPKC
GO BOTT
URQ1=RQ
USE
ELSE
USE
DO GETRQ WITH 1,URQ1,URQ2
IF EMPT(URQ1)
CLOS DATA
RETU
ENDI
ENDI
USE CPKC ALIA KC
LOCA ALL FOR RQ>=URQ1
IF !FOUN()
GO BOTT
ELSE
IF RQ>URQ1
SKIP IIF(RECN()>1,-1,0)
ENDI
ENDI
DO KCSJMADE
CLOS DATA ALL
ENDI
IF EMPT(URQ1)
RETU
ENDI
SELE 2
USE cpdm ORDE cpdm
SELECT 1
UUDATAF=IIF(SRTYPE=[入库],[CPRK],;
IIF(SRTYPE=[销售],[cpxs],;
IIF(SRTYPE=[出入库],[CPRDATA],[$DRKC])))
USE "&UUDATAF"
SET RELA TO cpdm INTO B
IF SRTYPE<>[库存]
LOCA ALL FOR rq=URQ1
IF !FOUN()
CLOS DATA ALL
DO ZYHWA_SE WITH [\1],[没有]+DTOC(URQ1)+[日的]+SRTYPE+[明细数据。按任意键返回……],1
RETU
ENDI
ENDI
UUCOL=IIF(SRTYPE=[入库],48,;
IIF(SRTYPE=[销售],59,;
IIF(SRTYPE=[出入库],68,48)))
DEFI WIND cxwind AT 0,0 SIZE 18,UUCOL ;
FONT "宋体",12 TITLE "数据查询" SYST COLOR 0/7*
MOVE WIND cxwind CENT
IF SRTYPE<>[库存]
SET FILT TO rq=URQ1
ENDI
DO CASE
CASE SRTYPE=[入库]
BROW FIEL RQ:11:H=[入库日期],cpdm:5:H="代码",B.cpmc:9:H="产品名称",;
rksl:10:P=[@Z]:H="入库数量" NOED NODE NOAP ;
TITL DTOC(urq1)+" 每笔入库数据查询" WIND Cxwind NORM
CASE SRTYPE=[销售]
BROW FIEL RQ:11:H=[销售日期],cpdm:5:H="代码",B.cpmc:9:H="产品名称",;
lssl:10:P=[@Z]:H="零售数量 ",pfsl:10:P=[@Z]:H="批发数量 " NOED NODE NOAP ;
TITL DTOC(urq1)+" 每笔销售数据查询" WIND Cxwind NORM
CASE SRTYPE=[出入库]
BROW FIEL RQ:11:H=[发生日期],cpdm:5:H="代码",B.cpmc:9:H="产品名称",;
rksl:10:P=[@Z]:H="入库数量",lssl:10:P=[@Z]:H="零售数量 ",pfsl:10:P=[@Z]:H="批发数量 ",;
bbb=lssl+pfsl:10:P=[@Z]:h=[总销售量] ;
NOED NODE NOAP FONT "宋体",10 ;
TITL DTOC(urq1)+"日出入库汇总数据查询" WIND Cxwind NORM
CASE SRTYPE=[库存]
BROW FIEL RQ:11:H=[库存日期],cpdm:5:H="代码",B.cpmc:9:H="产品名称",;
KCsl:10:P=[@Z]:H="库存数量" NOED NODE NOAP ;
TITL DTOC(urq1)+" 库存数据查询" WIND Cxwind NORM
ENDC
CLOSE DATA ALL
RELE WIND Cxwind
RETU
*************
PROC KCSJMADE
*************
SELE KC
SELE 2
USE CPRDATA
COPY STRU TO $DRKC FIEL RQ,CPDM,KCSL
USE $DRKC
FOR UI=1 TO FCOU(1)
SELE KC
UZD=FIEL(UI)
IF LEFT(UZD+[ ],2)=[CP] AND BETW(SUBS(UZD+[UUUU],3,2),[01],[99])
SELE 2
APPE BLAN
REPL RQ WITH A.RQ,CPDM WITH SUBS(UZD,3,2),KCSL WITH A.&UZD
ENDI
NEXT
SELE 2
USE
SELE KC
RETU
************
PROC ZCP41
************
PARA cho4
SELECT 3
USE cpdzb
SELECT 2
USE cpdm ORDE CPDM
DEFINE WINDOW dmwind AT 0,0 SIZE 23,64 font "宋体",12 ;
TITLE "代码维护" SHADOW SYSTEM MDI COLO 7+/2
MOVE WIND dmwind CENTER
ACTIVATE WINDOW dmwind
DEFI WIND mdm1 IN dmwind FROM 1,2 TO 15,62 font "宋体",12
DEFI WIND mdm11 IN dmwind FROM 1,2 TO 15,62 font "宋体",12
DEFI WIND mdm2 IN dmwind FROM 16,5 TO 20,60 font "宋体",12 TITL "确认保证" SYSTEM MDI
DEFI WIND mdm3 FROM 2,38 TO 20,68 IN dmwind TITL "对照表"
DO CASE
CASE cho4=1 && -----增加------
SELECT 2
COPY STRUCTURE TO cpdmtem CDX
SELECT 1
USE cpdmtem ORDE CPDM
APPEND BLANK
ACTIVATE WINDOW dmwind
@ 20,18 SAY "产品代码为2位数字,按Esc退出" styl "T"
DO WHILE .T.
SELECT 1
ACTIVATE WINDOW mdm1
BROWSE FIELDS cpdm:H="代码":V=fdm():F,cpmc:H="产品名称":V=cpmc<>" ":F,;
dwdm:H=" ":V=fdm():F,dw:H="单 位":W=.F.,lbdm:H=" ":V=fdm():F,;
lb:H="类 别":W=.F.,bbj:H="不变价",xxj:H="现行价":V=fappe():F;
NOCLEAR WINDOW mdm1 TITLE "增加新产品" COLOR SCHEME 11
IF RECCOUNT()=0 OR (RECCOUNT()=1 AND (cpdm=" " OR cpmc=" "))
CLOSE DATABASES
ERASE cpdmtem.DBF
RELE WINDOW dmwind,mdm1
@ 3,0 CLEAR
RETURN
ENDIF
ACTIVATE WINDOW mdm2
@ 0.5,4 GET ch FUNCTION "*H \<1 数据不保存;\<2 数据保存;\<3 继续输入";
FONT "宋体",12 SIZE 1.7,12,4 DEFAULT 3
READ MODAL CYCLE OBJECT 3
DO CASE
CASE ch=1
EXIT
CASE ch=2
SELECT 1
DELETE ALL FOR cpdm=" "
PACK
USE
SELECT 2
APPEND FROM cpdmtem
REINDEX
EXIT
ENDCASE
HIDE WINDOW mdm3
ENDDO
CASE cho4=2 &&-----删除-----
SELECT 2
ACTIVATE WINDOW dmwind
@ 20,16 SAY " 按Esc键退出,按F12键删除" STYL "T"
DO WHILE .T.
ACTIVATE WINDOW mdm11
ON KEY LABEL F12 KEYBOARD "{CTRL+T}"
BROWSE FIELDS cpdm:H=" ",cpmc:H="产品名称 ",dw:H="单位 ",;
lb:H="类别",bbj:H="产品不变价",xxj:H="产品现行价" NOEDIT NOAPPEND ;
NOCLEAR TITLE "产品代码表" WINDOW mdm11 COLOR SCHEME 11
ON KEY LABEL F12 *
ACTIVATE WINDOW mdm2
@ 0.5,4 GET ch FUNCTION "*H \<1 数据不保存;\<2 数据保存;\<3 继续输入";
FONT "宋体",12 SIZE 1.7,12,4 DEFAULT 3
READ MODAL CYCLE OBJECT 3
DO CASE
CASE ch=1
RECALL ALL
EXIT
CASE ch=2
SELECT 2
PACK
EXIT
ENDCASE
HIDE WINDOW mdm2
ENDDO
CASE cho4=3 &&-----修改-----
SELECT 2
COPY TO cpdmtem
SELECT 1
USE cpdmtem
ACTIVATE WINDOW dmwind
@ 20,15 SAY " 产品代码是不可修改的,按Esc退出" STYL "T"
DO WHILE .T.
SELECT 1
ACTIVATE WINDOW mdm1
BROWSE FIELDS cpdm:H=" ":W=.F.,cpmc:V=cpmc<>" ":F:H="产品名称",;
dwdm:V=fdm():F:H=" ",dw:H="单 位":W=.F.,lbdm:V=fdm():F:H=" ",;
lb:H="类 别":W=.F.,bbj:H="不变价",xxj:V=fappe():F:H="现行价";
NOCLEAR WINDOW mdm1 TITLE "修改产品代码表" COLOR SCHEME 11
ACTIVATE WINDOW mdm2
@ 0.5,4 GET ch FUNCTION "*H \<1 数据不保存;\<2 数据保存;\<3 继续输入";
FONT "宋体",12 SIZE 1.7,12,4 DEFAULT 3
READ MODAL CYCLE OBJECT 3
DO CASE
CASE ch=1
EXIT
CASE ch=2
SELECT 1
USE
SELECT 2
ZAP
APPEND FROM cpdmtem
REINDEX
EXIT
ENDCASE
HIDE WINDOW mdm2
ENDDO
ENDCASE
IF (cho4=1 OR cho4=2) AND ch=2
SELECT 2
GO TOP
SELECT 4
USE cpkc
COPY TO cpkcstru STRUCTURE EXTENDED
USE cpkcstru
GOTO 2
DELETE REST
PACK
DO WHILE .NOT.EOF(2)
APPEND BLANK
REPLACE FIELD_NAME WITH "cp"+B.cpdm,FIELD_TYPE WITH "N",;
FIELD_LEN WITH 10,FIELD_DEC WITH 3
SKIP IN 2
ENDDO
SELECT 4
USE
CREATE cpkctem FROM cpkcstru
USE cpkctem
APPEND FROM cpkc
COPY TO cpkc
ENDIF
CLOSE DATABASES
ERASE cpkcstru.dbf
ERASE cpkctem.dbf
ERASE cpdmtem.DBF
RELE WINDOW dmwind,mdm1,mdm2,mdm3
RETURN
FUNCTION fdm
IF LASTKEY()=27
RETURN .T.
ENDIF
fname=UPPER(SYS(18))
DO CASE
CASE fname="CPDM"
IF A.cpdm=" "
RETURN .F.
ENDIF
SELECT 2
SEEK A.cpdm
IF FOUND()
BROW FIELDS cpdm:V=fret():F:H="代码",cpmc:H="产品名称":W=.F. ;
NOEDIT NODELETE NOAPPEND font "宋体",12 ;
TITLE "产品代码表" WINDOW mdm3 COLOR 6+/4
SELECT 1
RETURN .F.
ENDIF
CASE fname="DWDM"
SELECT 3
SET FILTER TO dwdm<>" "
LOCATE ALL FOR dwdm=A.dwdm
IF NOT FOUND()
GO TOP
BROWSE FIELDS dwdm:V=fret():F:H="代码",dw:H="单位" font "宋体",12 ;
NOEDIT NODELETE NOAPPEND WINDOW mdm3
ENDIF
SELECT 1
REPLACE dw WITH C.dw,dwdm WITH C.dwdm
CASE fname="LBDM"
SELECT 3
SET FILTER TO lbdm<>" "
LOCATE ALL FOR lbdm=A.lbdm
IF NOT FOUND()
GO TOP
BROWSE FIELDS lbdm:V=fret():F:H="代码",lb:H="类别" font "宋体",12 ;
NOEDIT NODELETE NOAPPEND WINDOW mdm3
ENDIF
SELECT 1
REPLACE lb WITH C.lb,lbdm WITH C.lbdm
ENDCASE
SELECT 3
SET FILTER TO
SELECT 1
RETURN .T.
FUNCTION fappe
IF LASTKEY()=13
DO CASE
CASE cpdm<>" " AND RECNO()=RECCOUNT()
APPEND BLANK
KEYBOARD "{DNARROW}"
CASE RECNO()<RECCOUNT()
KEYBOARD "{DNARROW}"
ENDCASE
ENDIF
RETURN .T.
FUNCTION fret
IF LASTKEY()=13
KEYBOARD "{ESC}"
ENDIF
RETURN .T.
**********
PROC ZCP31
**********
mon=MONTH(DATE())
yea=YEAR(DATE())
DEFINE WINDOW rqw at 0,0 SIZE 10,40 FONT "宋体",12 ;
TITL " 请输入报表时间,按Esc键退出" COLO 0/7* SYSTEM
MOVE WINDOW rqw CENTER
ACTIVATE WINDOW rqw
@ 1,12 SAY "请输入报表年月 "
@ 2.3,7 to 2.3,31 pen 2
@ 2.5,7 to 2.5,31 pen 2
@ 4,3 SAY "请输入报表的年月:"
@ 4,COL()+1 GET yea PICTURE "9999" VALID yea<=YEAR(DATE()) colo ,6+/4
@ 4,COL()+1 SAY "年"
@ 4,COL()+1 GET mon PICTURE "99" RANGE 1,12 colo ,6+/4
@ 4,COL()+1 SAY "月"
@ 5.5,3 SAY "报表月份可以是一年内的任何一月"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -