Foxtable(狐表)用户栏目专家坐堂 → 预览报错:无法创建新的堆站防护页面


  共有166人关注过本帖树形打印复制链接

主题:预览报错:无法创建新的堆站防护页面

帅哥哟,离线,有人找我吗?
xxfoxtable
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1769 积分:16693 威望:0 精华:0 注册:2017/6/1 23:12:00
预览报错:无法创建新的堆站防护页面  发帖心情 Post By:2024/11/10 21:40:00 [只看该作者]

 Dim doc As New PrintDoc '定义一个报表
        doc.PageSetting.Width = CStr(Tables("物流单打印设置").Current("纸宽"))
        doc.PageSetting.Height = CStr(Tables("物流单打印设置").Current("纸高"))
        doc.PageSetting.TopMargin = CStr(Tables("物流单打印设置").Current("上边距"))
        doc.PageSetting.LeftMargin = CStr(Tables("物流单打印设置").Current("左边距"))
        doc.PageSetting.RightMargin = CStr(Tables("物流单打印设置").Current("右边距"))
        doc.PageSetting.BottomMargin = CStr(Tables("物流单打印设置").Current("下边距"))
        Doc.PrinterName = Tables("物流单打印设置").Current("默认打印机")
        doc.AutoRotate = False
        
        
        Dim str As String
        For Each dr As Row In Tables("开单明细_table1").Rows
            If yd <> dr("运单号") Then
                Dim rt As New prt.RenderTable() '定义一个表格对象
                Dim rx As New prt.RenderText '定义一个文本对象
                Dim ra As New prt.RenderArea '定义一个容器
                ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never '禁止容器因为分页而被垂直分割
                
                Dim kh As DataRow = DataTables("客户档案").SQLFind("序号='" & dr("客户序号") & "'")
                
                rx.text = Tables("物流单打印设置").Current("标题一")
                rx.Style.FontBold = True '字体加粗
                rx.Style.FontSize = CStr(Tables("物流单打印设置").Current("标题一字体大小"))
                rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center 
                rx.Style.Spacing.Bottom = CStr(Tables("物流单打印设置").Current("表头与表格的距离"))
                ra.Children.Add(rx) '加入到容器中
                
                Dim rm As New prt.RenderImage '定义一个图片对象
                rm.Image = GetImage(ProjectPath & "Attachments\Logo.jpg") '设置图片
                'rm.Style.Borders.All = New prt.Linedef(1, Color.Red) '设置边框
                rm.Style.ImageAlign.StretchHorz = True '禁止拉伸
                rm.Style.ImageAlign.StretchVert = True
                rm.Width = CStr(Tables("物流单打印设置").Current("Logo宽度"))
                rm.Height = CStr(Tables("物流单打印设置").Current("Logo高度"))
                rm.X = CStr(Tables("物流单打印设置").Current("logo左位置"))
                rm.y = CStr(Tables("物流单打印设置").Current("logo上位置"))
                rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center
                ra.Children.Add(rm) '加入到容器中
                
                rx = New prt.RenderText
                rx.text = dr("出发地") & "→" & dr("目的地")
                rx.Style.FontSize = CStr(Tables("物流单打印设置").Current("出发地目的地字体大小"))
                rx.Style.FontBold = True
                rx.x = CStr(Tables("物流单打印设置").Current("出发地左位置"))
                rx.y = CStr(Tables("物流单打印设置").Current("出发地上位置") + Tables("物流单打印设置").Current("上边距"))
                'rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center  '水平居中排列
                'rx.Style.Spacing.Bottom = 1 '和下面的对象(表格)距离3毫米
                ra.Children.Add(rx) '加入到容器中
                
                rx = New prt.RenderText
                rx.text = Tables("物流单打印设置").Current("业务受理电话")
                rx.Style.FontSize = CStr(Tables("物流单打印设置").Current("表格字体大小"))
                rx.Style.FontBold = False
                rx.x = CStr(Tables("物流单打印设置").Current("业务受理电脑左位置"))
                rx.y = CStr(Tables("物流单打印设置").Current("业务受理电话上位置") + Tables("物流单打印设置").Current("上边距"))
                ''rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center  '水平居中排列
                ''rx.Style.Spacing.Bottom = 1 '和下面的对象(表格)距离3毫米
                ra.Children.Add(rx) '加入到容器中
                '指定行数?列数?列宽?行高
                
                rx = New prt.RenderText
                rx.text = Tables("物流单打印设置").Current("电话")
                rx.Style.FontBold = False
                'rx.Style.FontBold = True '字体加粗
                rx.Style.FontSize = CStr(Tables("物流单打印设置").Current("表格字体大小"))
                rx.x = CStr(Tables("物流单打印设置").Current("电话左位置"))
                rx.y = CStr(Tables("物流单打印设置").Current("业务受理电话上位置") + Tables("物流单打印设置").Current("上边距"))
                'rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center  '水平居中排列
                
                'rx.Style.Spacing.Bottom = 1 '和下面的对象(表格)距离3毫米
                ra.Children.Add(rx) '加入到容器中
                
                
                '报表_table1表格样式
                rt.Cols.Count = 11 '报表_table1总列数
                rt.Cols(0).Width = CStr(Tables("物流单打印设置").Current("第一列宽度"))
                rt.Cols(1).Width = CStr(Tables("物流单打印设置").Current("第二列宽度"))
                rt.Cols(2).Width = CStr(Tables("物流单打印设置").Current("第三列宽度"))
                rt.Cols(3).Width = CStr(Tables("物流单打印设置").Current("第四列宽度"))
                rt.Cols(4).Width = CStr(Tables("物流单打印设置").Current("第五列宽度"))
                rt.Cols(5).Width = CStr(Tables("物流单打印设置").Current("第六列宽度"))
                rt.Cols(6).Width = CStr(Tables("物流单打印设置").Current("第七列宽度"))
                rt.Cols(7).Width = CStr(Tables("物流单打印设置").Current("第八列宽度"))
                rt.Cols(8).Width = CStr(Tables("物流单打印设置").Current("第九列宽度"))
                rt.Cols(9).Width = CStr(Tables("物流单打印设置").Current("第十列宽度"))
                rt.Cols(10).Width = CStr(Tables("物流单打印设置").Current("第十一列宽度"))
                
                rt.CellStyle.Spacing.All = 0 '单元格内容缩进1毫米
                rt.Style.GridLines.All = New prt.Linedef '报表_table1网格线
                'rt.Style.TextAlignHorz = prt.AlignVertEnum.Center '内容垂直居中
                rt.Style.TextAlignVert = prt.AlignHorzEnum.Center '垂直居中
                
                Dim i As Integer = 1
                rt.Cells(i, 0).SpanCols = 8
                rt.Cells(i, 0).Text = "日期:" & Format(dr("到货日期"), "yyyy年MM月dd日")
                rt.Cells(i, 0).Style.GridLines.Right = New prt.LineDef("0mm", Color.white) 
                rt.Cells(i, 8).SpanCols = 3
                rt.Cells(i, 8).Text = "Ne:" & dr("运单号")
                rt.Cells(i, 8).Style.GridLines.left = New prt.LineDef("0mm", Color.white)
                rt.Rows(i).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
                i = i + 1
                rt.Cells(i, 0).Text = "收货人" 
                rt.Cells(i, 0).Style.TextAlignHorz = prt.AlignVertEnum.Center
                rt.Cells(i, 1).SpanCols = 3
                rt.Cells(i, 1).Text = dr("客户名称")
                rt.Cells(i, 4).Text = "地址"
                rt.Cells(i, 4).Style.TextAlignHorz = prt.AlignVertEnum.Center
                rt.Cells(i, 5).SpanCols = 3
                rt.Cells(i, 6).Text = kh("地址")
                rt.Cells(i, 8).Text = "电话"
                rt.Cells(i, 8).Style.TextAlignHorz = prt.AlignVertEnum.Center
                rt.Cells(i, 9).SpanCols = 2
                rt.Cells(i, 9).Text = kh("联系电话")
                rt.Rows(i).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
                i = i + 1
                'rt.Rows(7).Style.TextAlignHorz = prt.AlignVertEnum.Top '唯独第7行是备注,内容靠上对齐
                '下面很简单,指定每一个单元格的内容
                rt.Cells(i, 0).SpanCols = 2
                rt.Cells(i, 0).Text = "运输方式"
                rt.Cells(i, 0).Style.TextAlignHorz = prt.AlignVertEnum.Center
                rt.Cells(i, 2).Text = "件数"
                rt.Cells(i, 2).Style.TextAlignHorz = prt.AlignVertEnum.Center
                rt.Cells(i, 3).SpanCols = 2
                rt.Cells(i, 3).Text = "重量"
                rt.Cells(i, 3).Style.TextAlignHorz = prt.AlignVertEnum.Center
                rt.Cells(i, 5).Text = "单价"
                rt.Cells(i, 5).Style.TextAlignHorz = prt.AlignVertEnum.Center
                rt.Cells(i, 6).Text = "保险"
                rt.Cells(i, 6).Style.TextAlignHorz = prt.AlignVertEnum.Center
                rt.Cells(i, 7).Text = "中转费"
                rt.Cells(i, 7).Style.TextAlignHorz = prt.AlignVertEnum.Center
                rt.Cells(i, 8).Text = "送货费"
                rt.Cells(i, 8).Style.TextAlignHorz = prt.AlignVertEnum.Center
                rt.Cells(i, 9).Text = "其他费用"
                rt.Cells(i, 9).Style.TextAlignHorz = prt.AlignVertEnum.Center
                rt.Cells(i, 10).Text = "合计"
                rt.Cells(i, 10).Style.TextAlignHorz = prt.AlignVertEnum.Center
                rt.Rows(i).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
                
                'rt.Rows(2).Style.Borders.Top = New prt.Linedef  '恢复第二行底端的网格线
                rt.Rows(0).style.Font = New Font("宋体", Tables("物流单打印设置").Current("表格字体大小"))
                'rt.Rows(0).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
                'rt.RowGroups(0,3).Header = prt.TableHeaderEnum.All  '前四行作为表头
                
                i = i + 1
                Dim je As Integer = 0
                Dim j As Integer = 1
                For Each r As DataRow In DataTables("开单明细").SQLSelect("运单号='" & dr("运单号") & "'")
                    rt.Cells(i, 0).SpanCols = 2
                    rt.Cells(i, 0).Text = r("运输方式")
                    rt.Cells(i, 0).Style.TextAlignHorz = prt.AlignHorzEnum.center
                    rt.Cells(i, 2).Text = r("件数")
                    rt.Cells(i, 2).Style.TextAlignHorz = prt.AlignHorzEnum.center
                    rt.Cells(i, 3).SpanCols = 2
                    If r("重量") = 0 Then
                        rt.Cells(i, 3).Text = ""
                    Else
                        rt.Cells(i, 3).Text = r("重量")
                    End If 
                    rt.Cells(i, 3).Style.TextAlignHorz = prt.AlignHorzEnum.center
                    If r("单价") = 0 Then
                        rt.Cells(i, 5).Text = ""
                    Else
                        rt.Cells(i, 5).Text = r("单价") 
                    End If 
                    rt.Cells(i, 5).Style.TextAlignHorz = prt.AlignHorzEnum.center
                    If r("保险") = 0 Then
                        rt.Cells(i, 6).Text = ""
                    Else
                        rt.Cells(i, 6).Text = r("保险")
                    End If 
                    rt.Cells(i, 6).Style.TextAlignHorz = prt.AlignHorzEnum.center
                    If r("中转费") = 0 Then
                        rt.Cells(i, 7).Text = ""
                    Else
                        rt.Cells(i, 7).Text = r("中转费")
                    End If
                    rt.Cells(i, 7).Style.TextAlignHorz = prt.AlignHorzEnum.center
                    If r("送货费") = 0 Then
                        rt.Cells(i, 8).Text = ""
                    Else
                        rt.Cells(i, 8).Text = r("送货费")
                    End If
                    rt.Cells(i, 8).Style.TextAlignHorz = prt.AlignHorzEnum.center
                    If r("付重庆") = 0 Then
                        rt.Cells(i, 9).Text = ""
                    Else
                        rt.Cells(i, 9).Text = r("付重庆")
                    End If
                    rt.Cells(i, 9).Style.TextAlignHorz = prt.AlignHorzEnum.center
                    rt.Cells(i, 10).Text = r("应收金额")
                    rt.Cells(i, 10).Style.TextAlignHorz = prt.AlignHorzEnum.center
                    ''rt.Rows(i).Style.Font=new  Font("宋体",Tables("物流单打印设置").Current("表体字体大小"),FontStyle.Bold)
                    rt.Rows(i).Style.Font = New Font("宋体", Tables("物流单打印设置").Current("表格字体大小"))
                    rt.Rows(i).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
                    je = je + r("应收金额")
                    j = j + 1
                    i = i + 1
                Next
                
                Do While j < 5
                    rt.Cells(i, 0).SpanCols = 2
                    rt.Cells(i, 0).Text = ""
                    rt.Cells(i, 2).Text = ""
                    rt.Cells(i, 3).SpanCols = 2
                    rt.Cells(i, 3).Text = ""
                    rt.Cells(i, 5).Text = ""
                    rt.Cells(i, 6).Text = ""
                    rt.Cells(i, 7).Text = ""
                    rt.Cells(i, 8).Text = ""
                    rt.Cells(i, 9).Text = ""
                    rt.Cells(i, 10).Text = ""
                    
                    ''rt.Rows(i).Style.Font=new  Font("宋体",Tables("物流单打印设置").Current("表体字体大小"),FontStyle.Bold)
                    rt.Rows(i).Style.Font = New Font("宋体", Tables("物流单打印设置").Current("表格字体大小"))
                    rt.Rows(i).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
                    j = j + 1
                    i = i + 1
                Loop
                
                rt.Cells(i, 0).SpanCols = 2
                rt.Cells(i, 0).Text = "合计大写:" 
                rt.Cells(i, 0).Style.TextAlignHorz = prt.AlignHorzEnum.center
                rt.Cells(i, 2).SpanCols = 8
                rt.Cells(i, 2).Text = CUMoney(je)
                rt.Cells(i, 2).Style.TextAlignHorz = prt.AlignHorzEnum.center
                'rt.Cells(i, 7).SpanCols = 2
                'rt.Cells(i, 7).Text = "提货方式"
                'rt.Cells(i, 7).Style.TextAlignHorz = prt.AlignHorzEnum.center
                'rt.Cells(i, 9).SpanCols = 2
                'rt.Cells(i, 9).Text = Args(8)  ‘提货方式   Args(10)是备注
                'rt.Cells(i, 9).Style.TextAlignHorz = prt.AlignHorzEnum.center
                rt.Cells(i, 10).Text = "备注"
                rt.Cells(i, 10).Style.TextAlignHorz = prt.AlignHorzEnum.center
                rt.Rows(i).Style.Font = New Font("宋体", Tables("物流单打印设置").Current("表格字体大小"))
                rt.Rows(i).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
                i = i + 1
                
                rt.Cells(i, 0).SpanCols = 2
                rt.Cells(i, 0).Text = "付款方式:" 
                rt.Cells(i, 0).Style.TextAlignHorz = prt.AlignHorzEnum.center
                rt.Cells(i, 2).SpanCols = 3
                rt.Cells(i, 2).Text = dr("结算方式")
                rt.Cells(i, 2).Style.TextAlignHorz = prt.AlignHorzEnum.center
                rt.Cells(i, 5).SpanCols = 2
                rt.Cells(i, 5).Text = "提货方式:"
                rt.Cells(i, 5).Style.TextAlignHorz = prt.AlignHorzEnum.center
                rt.Cells(i, 7).SpanCols = 3
                rt.Cells(i, 7).Text = dr("提货方式")
                rt.Cells(i, 7).Style.TextAlignHorz = prt.AlignHorzEnum.center
                rt.Cells(i, 10).SpanRows = 2
                rt.Cells(i, 10).Text = dr("备注")
                rt.Cells(i, 10).Style.TextAlignHorz = prt.AlignHorzEnum.center
                rt.Rows(i).Style.Font = New Font("宋体", Tables("物流单打印设置").Current("表格字体大小"))
                rt.Rows(i).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
                i = i + 1
                
                
                rt.Cells(i, 0).SpanCols = 10
                ra = rt.Cells(i, 0).Area
                rx = New prt.RenderText '创建一个文本
                rx.Text = Tables("物流单打印设置").Current("注意事项")
                rx.Style.Font = New Font("宋体", Tables("物流单打印设置").Current("注意事项字体大小"))
                rx.Style.FontBold = True '字体加粗
                ra.Children.Add(rx)
                rx = New prt.RenderText '创建一个文本
                rx.Text = Tables("物流单打印设置").Current("注意事项1")
                rx.Style.Font = New Font("宋体", Tables("物流单打印设置").Current("注意事项字体大小"))
                rx.Style.FontBold = True '字体加粗
                ra.Children.Add(rx)
                rx = New prt.RenderText '创建一个文本
                rx.Text = Tables("物流单打印设置").Current("注意事项2")
                rx.Style.Font = New Font("宋体", Tables("物流单打印设置").Current("注意事项字体大小"))
                rx.Style.FontBold = True '字体加粗
                ra.Children.Add(rx)
                rx = New prt.RenderText '创建一个文本
                rx.Text = Tables("物流单打印设置").Current("注意事项3")
                rx.Style.Font = New Font("宋体", Tables("物流单打印设置").Current("注意事项字体大小"))
                rx.Style.FontBold = True '字体加粗
                ra.Children.Add(rx)
                rx = New prt.RenderText '创建一个文本
                rx.Text = Tables("物流单打印设置").Current("注意事项4")
                rx.Style.Font = New Font("宋体", Tables("物流单打印设置").Current("注意事项字体大小"))
                rx.Style.FontBold = True '字体加粗
                '                ra.Children.Add(rx)
                ra.Style.Spacing.Top = 2
                ra.Style.Spacing.Bottom = 2
                
                i = i + 1
                rt.Cells(i, 0).SpanCols = 11
                rt.Cells(i, 0).Text = Tables("物流单打印设置").Current("说明")
                rt.Rows(i).Style.Font = New Font("宋体", Tables("物流单打印设置").Current("表格字体大小"))
                rt.Rows(i).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
                
                i = i + 1
                rt.Cells(i, 0).SpanCols = 3
                rt.Cells(i, 0).Text = "送货单位及经办人:" 
                rt.Cells(i, 0).Style.TextAlignHorz = prt.AlignHorzEnum.Right 
                rt.Cells(i, 3).SpanCols = 3
                rt.Cells(i, 3).Text = Vars("uname")
                rt.Cells(i, 3).Style.TextAlignHorz = prt.AlignHorzEnum.left
                rt.Cells(i, 6).SpanCols = 3
                rt.Cells(i, 6).Text = "收货单位及经办人:"
                rt.Cells(i, 6).Style.TextAlignHorz = prt.AlignHorzEnum.Right
                rt.Cells(i, 9).SpanCols = 2
                rt.Cells(i, 9).Text = ""
                rt.Rows(i).Style.Font = New Font("宋体", Tables("物流单打印设置").Current("表格字体大小"))
                rt.Rows(i).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
                ra.Children.Add(rt) '加入到容器中
                Doc.Body.ChildRen.Add(ra) '将容器加入到报表中
            End If
            yd = dr("运单号") 
        Next
        Doc.Preview()
[此贴子已经被作者于2024/11/10 21:52:14编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110737 积分:563605 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/11/10 21:53:00 [只看该作者]

提示死循环了。减少代码测试,然后逐步添加,看是添加什么代码后出错。

 回到顶部
帅哥哟,离线,有人找我吗?
xxfoxtable
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1769 积分:16693 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2024/11/10 22:02:00 [只看该作者]

我把内部循环语句都去掉了,就剩下最外层的了,也不行
[此贴子已经被作者于2024/11/10 22:03:32编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110737 积分:563605 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/11/10 22:30:00 [只看该作者]

继续减少代码,减少到最少,比如只打印个标题,然后逐步添加,只打印表格标题,只打印一行,只...........

 回到顶部