📄 生成月仓库资金占用code.txt
字号:
zijinmon=month(zijinzhanyong.日期)
zijinyea=year(zijinzhanyong.日期)
rukumon=month(zijinzhanyong.日期)
rukuyea=year(zijinzhanyong.日期)
chukumon=month(zijinzhanyong.日期)
chukuyea=year(zijinzhanyong.日期)
*更新资金定额
select zijinzhanyong
go top
do while !eof()
select cangku
go top
do while !eof()
if zijinzhanyong.库名=cangku.库名
zijinzhanyong.资金定额=cangku.资金定额
go top
exit
else
skip
endif
enddo
select zijinzhanyong
skip
enddo
*更新上月结存
select zijinzhanyong
go top
do while !eof()
select rukuhz
go top
do while !eof()
if (zijinyea=rukuyea) or (zijinyea=(rukuyea-1))
if ((zijinmon+1)%12)=rukumon
if rukuhz.仓库=zijinzhanyong.库名
replace zijinzhanyong.本月入库 with zijinzhanyong.本月入库+rukuhz.入库金额
endif
endif
endif
skip
enddo
select zijinzhanyong
skip
enddo
*更新本月场内出库和外销
select zijinzhanyong
go top
do while !eof()
select chukuhz
go top
do while !eof()
if (zijinyea=chukuyea) OR (zijinyea=(chukuyea-1))
if ((zijinmon+1)%12)=chukumon
if chukuhz.仓库=zijinzhanyong.库名
if chukuhz.出库类别="厂内出库"
replace zijinzhanyong.厂内出库 with zijinzhanyong.厂内出库+chukuhz.出库金额
else
if chukuhz.出库类别="外销"
replace zijinzhanyong.外销 with zijinzhanyong.外销+chukuhz.出库金额
endif
endif
endif
endif
endif
skip
enddo
select zijinzhanyong
skip
enddo
*更新当月结存和超+低-和日期
select zijinzhanyong
go top
do while !eof()
yea="0"
mon="0"
dat="0"
day="0"
s="0"
aa="0"
replace zijinzhanyong.当月结存 with ((zijinzhanyong.上月结存+zijinzhanyong.本月入库)-(zijinzhanyong.厂内出库-zijinzhanyong.外销))
replace zijinzhanyong.超正低负 with (zijinzhanyong.当月结存-zijinzhanyong.资金定额)
if (month(zijinzhanyong.日期)+1)=13
*year(zijinzhanyong.日期)=(year(zijinzhanyong.日期)+1) 改年月
mon=01
yea=year(zijinzhanyong.日期)+1
day=day(zijinzhanyong.日期)
s=alltrim(str(mon))+"-"+alltrim(str(day))+"-"+alltrim(str(yea))
aa=ctod(s)
repl zijinzhanyong.日期 with aa
else
*month(zijinzhanyong.日期)=(month(zijinzhanyong.日期)+1) 改月份
mon=month(zijinzhanyong.日期)+1
yea=year(zijinzhanyong.日期)
day=day(zijinzhanyong.日期)
s=alltrim(str(mon))+"-"+alltrim(str(day))+"-"+alltrim(str(yea))
aa=ctod(s)
repl zijinzhanyong.日期 with aa
endif
skip
enddo
*把刚生成的zijinzhanyong的数据存入zijinzhangyonghz表中
*先判断是否是新的月份
newflag=1
select zijinzhanyong
go top
select zijinzhanyonghz
go top
do while !eof()
if zijinzhanyong.日期=zijinzhanyonghz.日期
newflag=0
exit
else
skip
endif
enddo
*如果是已经存在的月份
if newflag=0
select zijinzhanyonghz
use database\zijinzhanyonghz
go top
select zijinzhanyong
go top
do while !eof()
select zijinzhanyonghz
go top
do while !eof()
if (zijinzhanyong.日期=zijinzhanyonghz.日期) and (zijinzhanyong.仓库名=zijinzhanyonghz.仓库名)
replace zijinzhanyonghz.资金定额 with zijinzhanyong.资金定额,zijinzhanyonghz.上月结存 with zijinzhanyong.上月结存,zijinzhanyonghz.本月入库 with zijinzhanyong.本月入库,zijinzhanyonghz.厂内出库 with zijinzhanyong.厂内出库,zijinzhanyonghz.外销 with zijinzhanyong.外销,zijinzhanyonghz.当月结存 with zijinzhanyong.当月结存,zijinzhanyonghz.超正低负 with zijinzhanyong.超正低负,zijinzhanyonghz.备注 with zijinzhanyong.备注
exit
else
skip
endif
enddo
select zijinzhanyong
skip
enddo
endif
*如果是新的
if newflag=1
select zijinzhanyong
go top
do while !eof()
select zijinzhanyonghz
append blank
replace zijinzhanyonghz.日期 with zijinzhanyong.日期,zijinzhanyonghz.库名 with zijinzhanyong.库名,zijinzhanyonghz.资金定额 with zijinzhanyong.资金定额,zijinzhanyonghz.上月结存 with zijinzhanyong.上月结存,zijinzhanyonghz.本月入库 with zijinzhanyong.本月入库,zijinzhanyonghz.厂内出库 with zijinzhanyong.厂内出库,zijinzhanyonghz.外销 with zijinzhanyong.外销,zijinzhanyonghz.当月结存 with zijinzhanyong.当月结存,zijinzhanyonghz.超正低负 with zijinzhanyong.超正低负,zijinzhanyonghz.备注 with zijinzhanyong.备注
select zijinzhanyong
skip
enddo
endif
*结束
select zijinzhanyong
go top
thisform.refresh()
yea=year(zijinzhanyong.日期)
mon=month(zijinzhanyong.日期)
dd=messagebox("提示:"+alltrim(str(yea))+"年"+alltrim(str(mon))+"月份的仓库资金占用台帐处理完毕,请立即生成excel文件并打印!",9,"提示")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -