pb实现多张单据在一页打印

应用的背景:一个单据上的物料数量很多,需要根据物料的装箱情况,将多个装箱单的信息打印在一张纸上。

(1)制作需要打印的Freedom的DW;
(2)建一个Composite的DW,引入需要打印的DW;
(3)根据需要打印的份数,复制引入的DW;
(4)设定DW的参数;
(5)设定各个子DW的参数;
(6)编写程序调用。

下面是一页打印4张单据的例子:

u_report_structure luo_Parm
luo_Parm.is_object = dw_print.dataobject

IF dw_1.rowcount()>0 Then
   luo_Parm.il_id = dw_1.getitemnumber(1,"dbid")
ELSE
   return 
END IF

long        i
datastore   lds_1
lds_1=create datastore
lds_1.dataobject="dw_bb"
lds_1.settransobject(sqlca)  
lds_1.retrieve(luo_Parm.il_id)
 
 for i= 1 to lds_1.rowcount() step 4
       if mod(i, 4) = 1 then   
           luo_Parm.is_id = lds_1.getitemstring(i,"bh")
       end if
       if i+1 <= lds_1.rowcount() then   
           luo_Parm.is_id1 = lds_1.getitemstring(i+1,"bh")
       end if   
       if i+2 <= lds_1.rowcount() then   
           luo_Parm.is_id2 = lds_1.getitemstring(i+2,"bh")
       end if
       if i+3 <= lds_1.rowcount() then   
           luo_Parm.is_id3 = lds_1.getitemstring(i+3,"bh")
      end if
      if lds_1.rowcount()<5 then
            OpenWithParm(w_report_frame, luo_Parm)
       else
           dw_print.settransobject(sqlca)
           dw_print.retrieve(luo_Parm.il_id,luo_Parm.is_id,luo_Parm.is_id1,luo_Parm.is_id2,luo_Parm.is_id3)
           dw_print.print()
       END IF
  NEXT 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值