﻿Sub vbBillPrint
    'On Error Resume Next
	Err.Clear
    Dim WebPrint
    set WebPrint = CreateObject("BPrint.crWriteData")
    Dim HeadData()
    Dim EndData()
    Dim ColWidth(), ColTitle(), ColData
    Dim MaxNum   
    Dim i 
    Redim HeadData(arrHead.length-1)    
    For i=0 To arrHead.length -1
        HeadData(i) = split(arrHead,",")(i)
    Next
    'alert(arrSumCol)
    Redim EndData(arrFoot.length-1)    
    For i=0 To arrFoot.length -1
        EndData(i) = split(arrFoot,",")(i)
    Next
    
    Redim ColWidth(arrColWidth.length-1)
    For i=0 To arrColWidth.length -1
        ColWidth(i) = split(arrColWidth,",")(i)
    Next
    
    Redim ColTitle(arrColTitle.length-1)
    For i=0 To arrColTitle.length -1
        ColTitle(i) = split(arrColTitle,",")(i)
    Next   

 
    ColData = Join(Split(arrColData,","),chr(13))    
    'If GetIsRefStyle() Then
    Call CreatePrintStyle
	
    If printID="" or printName="" then
        msgbox "打印数据加载中，等数据加载完后,点击确定后再进行打印!"
		exit sub
	End If
	Re = WebPrint.WriteData("310",printName, HeadData, EndData, ColWidth, ColTitle, ColData)	'肖丽娜2007-10-23修改，关于打印页面跳转错误

'	Re = WebPrint.WriteData(printID,printName, HeadData, EndData, ColWidth, ColTitle, ColData)			
	If Err.number = 438 Then
        msgbox "客户端未安装打印管理器，请安装并注册好后重试!"
		exit sub
	End If	
	IF Re<>0 Then
		select case WebPrint.ErrCode
			case 1  alert("系统初始化错误")
			case 2  alert("传入参数错误1")
			case 3  alert("列数错误")
			case 4  alert("创建打印表错误")
			case 5 alert("打开表格错误")
			case 10  alert("发生未知错误")
			case else alert(WebPrint.ErrCode)
		End select
	Else
        window.open "PrintPage.htm","","width=170,height=190,location=no,resizable=no,location=no,status=no,scrollbar=no,menu=no,left=" &(window.screen.width-190)/2 & ",top=230" 
	End IF
End Sub


Sub CreatePrintStyle'创建打印样式
    'On Error Resume Next
	Err.Clear
    Dim WebPrint
    set WebPrint = CreateObject("BPrint.crWriteData")
    Dim iResult,Cwidth
    If arrColWidth.length > 12 Then
        Cwidth = 50
    ElseIf arrColWidth.length > 8 Then
        Cwidth = 80
    ElseIf arrColWidth.length > 5 Then
        Cwidth = 100
    Else
        Cwidth = 200
    End If

	iResult = WebPrint.CreateReport(printName,"888")
	iResult = WebPrint.SetReportMargin(5, 20, 20, 5)
	iResult = WebPrint.AddLine(1)
	iResult = WebPrint.AddCell(printName,arrColWidth.length*Cwidth,15,0,1,0,1,0,1,0,1,1,-1,1,1)
	iResult = WebPrint.SetCellFont("", 15, 1, 0, 0, 0)'修改字体
	WebPrint.EndLine
	
	'''''''''''''''''''''''''''''''''表头信息'''''''''''''''''''''''''''''''''''''''''''''''''''''
	Dim MaxHead
	MaxHead = arrHead.length\3
	If arrHead.length mod 3 <> 0 Then
	    MaxHead = MaxHead+1
	End If	
    For i=0 To MaxHead-1
	    iResult = WebPrint.AddLine(6)
	    Dim tmpStr ,x
	    tmpStr = split(arrHead,",")((i*3)+0)
        x = InStr(1,tmpStr,":")-1
        tmpStr = Left(tmpStr,x)
	    iResult = WebPrint.AddCell(tmpStr+":",arrColWidth.length*Cwidth/6-50,9,1,1,1,1,1,1,1,1,1,-1,0,1)
	    iResult = WebPrint.SetCellFont("", 9, 1, 0, 0, 0)'修改字体
	    iResult = WebPrint.AddCell("@"+tmpStr,arrColWidth.length*Cwidth/6+50,9,1,1,1,1,1,1,1,1,1,-1,0,1)
	    
	    If ( (i*3)+1 < arrHead.length) Then
            tmpStr = split(arrHead,",")((i*3)+1)
            x = InStr(1,tmpStr,":")-1
            tmpStr = Left(tmpStr,x)
	        iResult = WebPrint.AddCell(tmpStr+":",arrColWidth.length*Cwidth/6-50,9,1,1,1,1,1,1,1,1,1,-1,0,1)
	        iResult = WebPrint.SetCellFont("", 9, 1, 0, 0, 0)'修改字体
	        iResult = WebPrint.AddCell("@"+tmpStr,arrColWidth.length*Cwidth/6+50,9,1,1,1,1,1,1,1,1,1,-1,0,1)
	    Else
            iResult = WebPrint.AddCell("",arrColWidth.length*Cwidth/6-50,9,1,1,1,1,1,1,1,1,1,-1,0,1)
	        iResult = WebPrint.AddCell("",arrColWidth.length*Cwidth/6+50,9,1,1,1,1,1,1,1,1,1,-1,0,1)
	    End If
	    
	    dim lastW
	    If ( (i*3)+2 < arrHead.length) Then
            tmpStr = split(arrHead,",")((i*3)+2)
            x = InStr(1,tmpStr,":")-1
            tmpStr = Left(tmpStr,x)
            
	        iResult = WebPrint.AddCell(tmpStr+":",arrColWidth.length*Cwidth/6-50,9,1,1,1,1,1,1,1,1,1,-1,0,1)
	        iResult = WebPrint.SetCellFont("", 9, 1, 0, 0, 0)'修改字体
	        iResult = WebPrint.AddCell("@"+tmpStr,arrColWidth.length*Cwidth/6+52,9,1,1,1,1,1,1,1,1,1,-1,0,1)
        Else
            iResult = WebPrint.AddCell("",arrColWidth.length*Cwidth/6-50,9,1,1,1,1,1,1,1,1,1,-1,0,1)
	        iResult = WebPrint.AddCell("",arrColWidth.length*Cwidth/6+52,9,1,1,1,1,1,1,1,1,1,-1,0,1)
	    End If
	    WebPrint.EndLine
	Next
	'''''''''''''''''''''''''''''''''表头信息'''''''''''''''''''''''''''''''''''''''''''''''''''''
	'HGH: 暂去掉arrBillState、arrSizeID
    'iResult=WebPrint.AddLine(1)
	'iResult=WebPrint.AddCell(arrBillState,arrColWidth.length*Cwidth,11,1,1,1,1,1,1,1,1,1,-1,0,1)
	'iResult = WebPrint.SetCellFont("", 9, 1, 0, 0, 0)'修改字体	
	'WebPrint.EndLine
	
	'If arrSizeID.length = 0 Then
	    iResult = WebPrint.AddLine(1)
	    iResult = WebPrint.AddCell("",arrColWidth.length*Cwidth,15,0,1,1,1,1,1,0,1,1,-1,1,1)
	    WebPrint.EndLine
	'Else
	'    iResult = WebPrint.AddLine(2)	   
	'    iResult = WebPrint.AddCell("商品信息",(BaseInfoLeg)*50,12,0,1,1,1,1,1,0,1,1,-1,1,1)
	'    iResult = WebPrint.AddCell("尺码",(arrColWidth.length-BaseInfoLeg)*Cwidth,12,0,1,1,1,1,1,0,1,1,-1,1,1)
	'    WebPrint.EndLine
	'End If
	'单据Grid
	iResult = WebPrint.AddLine(arrColWidth.length -1)
	For i=0 To arrColWidth.length -1
	    iResult = WebPrint.AddCell( split(arrColTitle,",")(i),Cwidth,9,1,1,1,1,1,1,1,1,1,-1,1,1)
	    iResult = WebPrint.SetCellFont("", 9, 1, 0, 0, 0)'修改字体
    Next
    WebPrint.EndLine
    	
    iResult = WebPrint.AddLine(arrColWidth.length -1)
    For i=0 To arrColWidth.length -1
        iResult = WebPrint.AddCell("#"+ split(arrColTitle,",")(i),Cwidth,9,1,1,1,1,1,1,1,1,1,-1,1,1)
    Next
    WebPrint.EndLine    
    
    '合计列

    iResult = WebPrint.AddLine(arrColWidth.length -1)
    iResult = WebPrint.AddCell("小计:",Cwidth,9,1,1,1,1,1,1,1,1,1,-1,2,1)
    iResult = WebPrint.SetCellFont("", 9, 1, 0, 0, 0)'修改字体
    For i=1 To arrColWidth.length -1
        If i < arrSumCol.length  Then        
            If split(arrSumCol,",")(i) = 1 Then
                iResult = WebPrint.AddCell("!"+ split(arrColTitle,",")(i),Cwidth,9,1,1,1,1,1,1,1,1,1,-1,1,1)
            Else
                iResult = WebPrint.AddCell("",Cwidth,9,1,1,1,1,1,1,1,1,1,-1,1,1)
            End If
        Else
            iResult = WebPrint.AddCell("",Cwidth,9,1,1,1,1,1,1,1,1,1,-1,1,1)
        End If
    Next
    WebPrint.EndLine  
    
    iResult = WebPrint.AddLine(1)
	iResult = WebPrint.AddCell("",arrColWidth.length*Cwidth,15,0,1,1,1,1,1,0,1,1,-1,1,1)
	WebPrint.EndLine 
    
    '''''''''''''''''''''''''''''''''表尾信息'''''''''''''''''''''''''''''''''''''''''''''''''''''
	Dim MaxFoot
	MaxFoot = arrFoot.length\3
	If arrFoot.length mod 3 <> 0 Then
	    MaxFoot = MaxFoot+1
	End If	
    For i=0 To MaxFoot-1
    'For i=0 To 0
	    iResult = WebPrint.AddLine(6)
	    tmpStr = split(arrFoot,",")((i*3)+0)
        x = InStr(1,tmpStr,":")-1
        tmpStr = Left(tmpStr,x)
	    iResult = WebPrint.AddCell(tmpStr+":",arrColWidth.length*Cwidth/6-50,9,1,1,1,1,1,1,1,1,1,-1,0,1)
	    iResult = WebPrint.SetCellFont("", 9, 1, 0, 0, 0)'修改字体
	    iResult = WebPrint.AddCell("@"+tmpStr,arrColWidth.length*Cwidth/6+50,9,1,1,1,1,1,1,1,1,1,-1,0,1)
	    
	    If ( (i*3)+1 < arrFoot.length) Then
            tmpStr = split(arrFoot,",")((i*3)+1)
            x = InStr(1,tmpStr,":")-1
            tmpStr = Left(tmpStr,x)
	        iResult = WebPrint.AddCell(tmpStr+":",arrColWidth.length*Cwidth/6-50,9,1,1,1,1,1,1,1,1,1,-1,0,1)
	        iResult = WebPrint.SetCellFont("", 9, 1, 0, 0, 0)'修改字体
	        iResult = WebPrint.AddCell("@"+tmpStr,arrColWidth.length*Cwidth/6+50,9,1,1,1,1,1,1,1,1,1,-1,0,1)
	    Else
            iResult = WebPrint.AddCell("",arrColWidth.length*Cwidth/6-50,9,1,1,1,1,1,1,1,1,1,-1,0,1)
	        iResult = WebPrint.AddCell("",arrColWidth.length*Cwidth/6+50,9,1,1,1,1,1,1,1,1,1,-1,0,1)
	    End If
	    
	    If ( (i*3)+2 < arrFoot.length) Then
            tmpStr = split(arrFoot,",")((i*3)+2)
            x = InStr(1,tmpStr,":")-1
            tmpStr = Left(tmpStr,x)
	        iResult = WebPrint.AddCell(tmpStr+":",arrColWidth.length*Cwidth/6-50,9,1,1,1,1,1,1,1,1,1,-1,0,1)
	        iResult = WebPrint.SetCellFont("", 9, 1, 0, 0, 0)'修改字体
	        iResult = WebPrint.AddCell("@"+tmpStr,arrColWidth.length*Cwidth/6+52,9,1,1,1,1,1,1,1,1,1,-1,0,1)
        Else
            iResult = WebPrint.AddCell("",arrColWidth.length*Cwidth/6-50,9,1,1,1,1,1,1,1,1,1,-1,0,1)
	        iResult = WebPrint.AddCell("",arrColWidth.length*Cwidth/6+52,9,1,1,1,1,1,1,1,1,1,-1,0,1)
	    End If
	    WebPrint.EndLine
	Next
	'''''''''''''''''''''''''''''''''表尾信息'''''''''''''''''''''''''''''''''''''''''''''''''''''

	iResult = WebPrint.AddLine(6)
	iResult = WebPrint.AddCell("总页码:",100,9,0,1,0,1,0,1,0,1,1,-1,2,1)
	iResult = WebPrint.AddCell("`总页码",100,9,0,1,0,1,0,1,0,1,1,-1,0,1)
	iResult = WebPrint.AddCell("当前页:",100,9,0,1,0,1,0,1,0,1,1,-1,2,1)
	iResult = WebPrint.AddCell("`页码",100,9,0,1,0,1,0,1,0,1,1,-1,0,1)
	iResult = WebPrint.AddCell("打印时间:",150,9,0,1,0,1,0,1,0,1,1,-1,2,1)
	iResult = WebPrint.AddCell("`日期时间",150,9,0,1,0,1,0,1,0,1,1,-1,0,1)
	WebPrint.EndLine		
    WebPrint.EndReport
    
    If Err.number = 438 Then
        msgbox "客户端未安装打印管理器，请安装并注册好后重试!"
		exit sub
	End If	
End Sub
