Foxtable(狐表)用户栏目专家坐堂 → 若是"打印_记账"或"打印_现金"列选择了多行,应该怎么改代码?


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

主题:若是"打印_记账"或"打印_现金"列选择了多行,应该怎么改代码?

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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点甜) 不理解你的意思。你的编号请...  发帖心情 Post By:2019/5/4 16:39:00 [显示全部帖子]

打印所选行的最上面一行的“出库日期”和“出库编号”不为空,则打印的编号都会被重置为当天的第一笔编号,如:yh190504001,
求,怎样做到,即使打印所选行的最上面一行的“出库日期”和“出库编号”不为空,也可以继续编号下去,而不是重置?
是以下这段打印按钮的代码编辑有误吗?
Dim d1 As Date = e.Form.Controls("出库日期").Text
Dim fdr1 As DataRow = DataTables("意和打印记录表").Find("日期 >= #" & d1.Date & "# and 日期 < #" & d1.Date.adddays(1) & "#")
fdr1("次数") += 1

For Each r As Row In Tables("意和打印窗口_出库明细表")
    r("出库编号") = e.Form.Controls("出库编号").Text
    r("出库日期") = e.Form.Controls("出库日期").value
    r("开piao人") = e.Form.Controls("开piao人").Text
    r("送货司机") = e.Form.Controls("送货司机").Text
Next

'针式打印机的连进连出打印:
e.Form.Page.LeftMargin = 0 '设置左边距
e.Form.Page.RightMargin = 0 '设置右边距
e.Form.Page.TopMargin = 0 '设置上边距
e.Form.Page.BottomMargin = 0 '设置下边距
Dim doc As PrintDoc = e.Form.GernatePrintDoc()
doc.PageSetting.Width = 218  '纸张宽度为218毫米
doc.PageSetting.Height = 94  '纸张高度为94毫米
doc.AutoRotate = False  '如果纸张的宽度超过高度,要加上这行代码
'添加打印内容
doc.Preview()

Dim fnt As New Font("黑体",9,FontStyle.Bold)
CurrentTable.Font = fnt

For Each dr1 As DataRow In DataTables("出库明细表").Select("[打印_意和] = true")
    If dr1 Is Nothing Then Return
    If dr1("出库已选_部分") = True Then
        dr1("打印_意和") = False
        dr1("状态_半开") = True
        dr1("出库已选_部分") = False
    ElseIf dr1("出库已选_全部") = True Then
        dr1("打印_意和") = False
        dr1("状态_全开") = True
        dr1("状态_半开") = False
        dr1("出库已选_全部") = False
    End If
Next

Forms("意和打印窗口").Close()

Dim fnt1 As New Font("宋体",9,FontStyle.Regular)
CurrentTable.Font = fnt1

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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点甜)编码参考啊 http://www.fox...  发帖心情 Post By:2019/5/4 16:48:00 [显示全部帖子]


以下代码,就是自动编号了,写在了打印窗口的afterload事件中,打印所选行的最上面一行的“出库日期”和“出库编号”不为空,则打印的编号都会被重置为当天的第一笔编号,如:yh190504001,
求,怎样做到,即使打印所选行的最上面一行的“出库日期”和“出库编号”不为空,也可以继续编号下去,而不是重置?:

Dim d As Date
If Tables("意和打印窗口_出库明细表").Rows.Count <> 0 AndAlso  Date.TryParse(Tables("意和打印窗口_出库明细表").Current("出库日期"), d) Then
    Dim bh As String = "YH" & Format(d, "yyMMdd")
    Dim max As String
    Dim idx As Integer
    Dim fdr As DataRow = DataTables("意和打印记录表").Find("日期 = #" & d & "#")
    If fdr Is Nothing Then
        fdr = DataTables("意和打印记录表").AddNew
        fdr("日期") = d
        fdr("次数") = 0
    End If
    e.Form.Controls("出库编号").Text = bh & Format(fdr("次数") + 1, "000")
End If

Tables("意和打印窗口_出库明细表").SetHeaderRowHeight(22,22)

Dim t As Table = Tables("意和打印窗口_出库明细表")
t.AutoSizeRows
t.AllowResizeSingleRow = True

e.Form.controls("出库日期").text = Date.Now
e.Form.controls("开piao人").text = user.name

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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点甜) 不理解你说的意思,请自己先...  发帖心情 Post By:2019/5/4 17:38:00 [显示全部帖子]

只是想知道,哪里的设置导致了,打印所选行的“出库日期”和“出库编号”不为空的时候,打印的编号会被重置为当天的第一笔编号,如:yh190504001。
翻来覆去找遍了,都没找到那句代码是这个设置的?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:05040004.zip



 回到顶部
总数 14 上一页 1 2