📄 printreport.bak
字号:
WAIT WINDOW "正在生成打印文件,请稍候..." NOWAIT
SET DECIMALS TO 4 &&设定最少小数位数
IF !dbused('taxticket')
OPEN DATABASE taxticket
ENDIF
SET DATABASE TO taxticket
IF !USED("maintable")
USE maintable ALIAS maintable EXCLUSIVE IN 0
ENDIF
SELECT maintable
GO TOP
SET ORDER TO 1
IF !USED("print")
USE print ALIAS print EXCLUSIVE IN 0
ENDIF
SELECT print
GO TOP
SELECT maintable
SET DATE ANSI
SET CENTURY ON
loReport=NEWOBJECT('SFReportFile', 'SFREPOBJ')&&建立控件
loReport.cReportFile = 'taxticket.frx' &&设置文件名
loReport.lSummaryBand=.F.&&不要概要带
loReport.cUnits="I" && 单位英寸,厘米/2.54为英寸
* 设置页标头,页标头由于在控件中自动生成,直接调用,设置成0高度
loPageHeader = loReport.GetReportBand('Page Header')
loPageHeader.nHeight = 0
* 设置细节带
loDetail = loReport.GetReportBand('Detail')
loDetail.nHeight =print.yg/2.54
*设置页脚注
loPageFooter = loReport.GetReportBand('Page Footer')
loPageFooter.nHeight = 0
*建立报表变量 大写
loVariable = loReport.CreateVariable()
loVariable.cName = "cRMBdx"
loVariable.cValue = "rmbdx(maintable.hj)"
loVariable.cInitialValue = 0
loVariable.cTotalType = "N"
*建立细节带字段
*建立顾客名称字段
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "maintable.gkmc"
loObject.cFontName = ALLTRIM(print.wzzt)
loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
loObject.nHPosition = print.khmc/2.54
loObject.nVPosition = print.pth/2.54
loObject.nWidth = loReport.GetHValue(LEN(maintable.gkmc) ,loObject)
*建立年
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "SUBSTR(DTOC(maintable.nyr),1,4)"
loObject.cFontName = ALLTRIM(print.szzt)
loObject.nFontSize = VAL(ALLTRIM(print.szzh))
loObject.nHPosition = print.nian/2.54
loObject.nVPosition = print.pth/2.54
loObject.nWidth = loReport.GetHValue(5 ,loObject)
*建立月
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "SUBSTR(DTOC(maintable.nyr),6,2)"
loObject.cFontName = ALLTRIM(print.szzt)
loObject.nFontSize = VAL(ALLTRIM(print.szzh))
loObject.nHPosition = print.yue/2.54
loObject.nVPosition = print.pth/2.54
loObject.nWidth = loReport.GetHValue(3 ,loObject)
*建立日
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "SUBSTR(DTOC(maintable.nyr),9,2)"
loObject.cFontName = ALLTRIM(print.szzt)
loObject.nFontSize = VAL(ALLTRIM(print.szzh))
loObject.nHPosition = print.ri/2.54
loObject.nVPosition = print.pth/2.54
loObject.nWidth = loReport.GetHValue(3 ,loObject)
*建立4行打印项目
FOR I=1 TO 4
cXm="Maintable.Xm"+ALLTRIM(STR(I))
cDw="Maintable.Dw"+ALLTRIM(STR(I))
cSl="Maintable.Sl"+ALLTRIM(STR(I))
cSfbz="Maintable.Sfbz"+ALLTRIM(STR(I))
cJe="int(Maintable.Je"+ALLTRIM(STR(I))+"*100)"
cVPosition="print.D"+ALLTRIM(STR(I))+"H"
*项目列
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "&cXm"
loObject.cFontName = ALLTRIM(print.wzzt)
loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
loObject.nHPosition = print.xmll/2.54
loObject.nVPosition = &cVPosition/2.54
loObject.nWidth = loReport.GetHValue(LEN(&cXm) ,loObject)
*单位列
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "&cDw"
loObject.cFontName = ALLTRIM(print.wzzt)
loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
loObject.nHPosition = print.dwl/2.54
loObject.nVPosition = &cVPosition/2.54
loObject.nWidth = loReport.GetHValue(LEN(&cDw) ,loObject)
*数量列
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "&cSl"
loObject.cFontName = ALLTRIM(print.szzt)
loObject.cPicture = "@Z99999.99"
loObject.nFontSize = VAL(ALLTRIM(print.szzh))
loObject.nHPosition = print.sll/2.54
loObject.nVPosition = &cVPosition/2.54
loObject.nWidth = loReport.GetHValue(9 ,loObject)
*收费标准列
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "&cSfbz"
loObject.cFontName = ALLTRIM(print.szzt)
loObject.cPicture = "@Z9999999.99"
loObject.nFontSize = VAL(ALLTRIM(print.szzh))
loObject.nHPosition = print.sfbzl/2.54
loObject.nVPosition = &cVPosition/2.54
loObject.nWidth = loReport.GetHValue(11 ,loObject)
*金额列
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "&cJe"
loObject.cFontName = ALLTRIM(print.szzt)
loObject.cPicture = "@Z999999"
loObject.nFontSize = VAL(ALLTRIM(print.szzh))
loObject.nHPosition = print.Jel/2.54
loObject.nVPosition = &cVPosition/2.54
loObject.nWidth = loReport.GetHValue(7 ,loObject)
ENDFOR
*建立备注列
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "Maintable.bz"
loObject.cFontName = ALLTRIM(print.wzzt)
loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
loObject.nHPosition = print.bzl/2.54
loObject.nVPosition = print.D1h/2.54
loObject.nWidth = loReport.GetHValue(8 ,loObject)
loObject.nHeight=(print.dxh-print.d1h)/2.54
*建立大写千
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "SUBSTR(cRmbDx,1,2)"
loObject.cFontName = ALLTRIM(print.wzzt)
loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
loObject.nHPosition = print.qian/2.54
loObject.nVPosition = print.Dxh/2.54
loObject.nWidth = loReport.GetHValue(2,loObject)
*建立大写百
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "SUBSTR(cRmbDx,3,2)"
loObject.cFontName = ALLTRIM(print.wzzt)
loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
loObject.nHPosition = print.bai/2.54
loObject.nVPosition = print.Dxh/2.54
loObject.nWidth = loReport.GetHValue(2 ,loObject)
*建立大写十
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "SUBSTR(cRmbDx,5,2)"
loObject.cFontName = ALLTRIM(print.wzzt)
loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
loObject.nHPosition = print.shi/2.54
loObject.nVPosition = print.Dxh/2.54
loObject.nWidth = loReport.GetHValue(2 ,loObject)
*建立大写元
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "SUBSTR(cRmbDx,7,2)"
loObject.cFontName = ALLTRIM(print.wzzt)
loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
loObject.nHPosition = print.yuan/2.54
loObject.nVPosition = print.Dxh/2.54
loObject.nWidth = loReport.GetHValue(2 ,loObject)
*建立大写角
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "SUBSTR(cRmbDx,9,2)"
loObject.cFontName = ALLTRIM(print.wzzt)
loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
loObject.nHPosition = print.jiao/2.54
loObject.nVPosition = print.Dxh/2.54
loObject.nWidth = loReport.GetHValue(2 ,loObject)
*建立大写分
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "SUBSTR(cRmbDx,11,2)"
loObject.cFontName = ALLTRIM(print.wzzt)
loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
loObject.nHPosition = print.fen/2.54
loObject.nVPosition = print.Dxh/2.54
loObject.nWidth = loReport.GetHValue(2 ,loObject)
*合计
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "int(maintable.hj*100)"
loObject.cFontName = ALLTRIM(print.szzt)
loObject.cPicture = "@Z999999"
loObject.nFontSize = VAL(ALLTRIM(print.szzh))
loObject.nHPosition = print.Jel/2.54
loObject.nVPosition = print.dxh/2.54
loObject.nWidth = loReport.GetHValue(7 ,loObject)
*建立开票人
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "maintable.kpr"
loObject.cFontName = ALLTRIM(print.wzzt)
loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
loObject.nHPosition = print.kpr/2.54
loObject.nVPosition = print.pwh/2.54
loObject.nWidth = loReport.GetHValue(9 ,loObject)
*建立收款人
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "maintable.skr"
loObject.cFontName = ALLTRIM(print.wzzt)
loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
loObject.nHPosition = print.skr/2.54
loObject.nVPosition = print.pwh/2.54
loObject.nWidth = loReport.GetHValue(9 ,loObject)
*thisform.pageframe1.page1.lableThousand.Caption=SUBSTR(cRmbDx,1,2)
*thisform.pageframe1.page1.lablehundred.Caption=SUBSTR(cRmbDx,3,2)
*thisform.pageframe1.page1.lableTen.Caption=SUBSTR(cRmbDx,5,2)
*thisform.pageframe1.page1.lableone.Caption=SUBSTR(cRmbDx,7,2)
*thisform.pageframe1.page1.lablehao.Caption=SUBSTR(cRmbDx,9,2)
*thisform.pageframe1.page1.lablecent.Caption=SUBSTR(cRmbDx,11,2)
loReport.Save()
REPORT FORM taxticket.frx NOCONSOLE PREVIEW
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -