hx9617的空间..原创-捕鱼app

学习.交流
专业源于专注
  
学习交流 文件下载 手册资料 交流qq群


文章分类
   ☉
   ☉
   ☉
   ☉
照片夹
手机版捕鱼的友情链接
游客:   注册 | 登录 | 论坛
 25  1/2         
# 1    发布于 2014-09-05 11:54

onlyit oit自身也带有标签打印功能,在商品基础资料的选项里面。但这个标签打印功能比较弱, 
比如不能直观的加入和调用批号、生产日期等可变信息、不能记录哪些产品打印了多少张标签, 
累计打印了多少张,于是有了自己弄一个标签打印的单据想法。 
 
经过多次尝试和测试,有了下面这个打印脚本: 
 
********************【update 1:8月28日终于实现不用拆分而直接一行打两张标签的方法了】***************** 
********************【update 2:9月05日修复当总标签数量为奇数时最后一张不打印的问题。】*************** 
 
int main() 

  db_select_dbio("data");//根据名称选择数据内容 
  int rowcount,rowid,i,id,num,v_inp_num; 
  string v_res_id,v_res_name,v_batch_no,v_produce_date,v_inp_unit_type_name,v_res_id_2; 
  rowcount=db_row_count();//获得记录数 
 
  for(i=0;i  { 
    v_res_id=db_res_ext('res_id');//获得指定列名的值 
    v_res_name=db_res_ext('res_name'); 
    v_batch_no=db_res_ext('batch_no'); 
    v_produce_date=db_res_ext('produce_date'); 
    v_inp_unit_type_name=db_res_ext('inp_unit_type_name'); 
    v_inp_num=db_res_ext('inp_num'); 
 
    rowid=db_row_id(); 
    id=1; 
    while(id    { 
      db_insert_before(rowid);//在指定行前插入一记录 
      db_set_value_ext('res_id',v_res_id); 
      db_set_value_ext('res_name',v_res_name); 
      db_set_value_ext('batch_no',v_batch_no); 
      db_set_value_ext('produce_date',v_produce_date); 
      db_set_value_ext('inp_unit_type_name',v_inp_unit_type_name); 
      db_set_value_ext('inp_num',v_inp_num - id); 
 
      i ; 
      id ; 
      rowcount ; 
    }; 
    db_go_row(rowid v_inp_num);//记录定位到下一产品 
  }; 
 
  string v_res_id_3,v_res_name_3,v_batch_no_3,v_produce_date_3,v_inp_unit_type_name_3,v_inp_num_3,v_res_id_3,v_res_id_4; 
  db_add_field('res_id_2'); 
  db_add_field('res_name_2'); 
  db_add_field('batch_no_2'); 
  db_add_field('produce_date_2'); 
  db_add_field('inp_unit_type_name_2'); 
  db_add_field('inp_num_2'); 
 
  mod_rowcount=rowcount/2 mod(rowcount,2);               //9月5日修复标签的总数量奇偶数打印出错的情况 
 
  db_go_head(); 
  for(i=0;i  { 
    if(rowcount==mod_rowcount)          //9月5日修复标签的总数量奇偶数打印出错的情况 
    { 
        return 1; 
    }; 
 
    db_next(); 
    v_res_id_3=db_res_ext('res_id');//获得指定列名的值 
    v_res_name_3=db_res_ext('res_name'); 
    v_batch_no_3=db_res_ext('batch_no'); 
    v_produce_date_3=db_res_ext('produce_date'); 
    v_inp_unit_type_name_3=db_res_ext('inp_unit_type_name'); 
    v_inp_num_3=db_res_ext('inp_num'); 
 
    db_go_row(i); 
 
    db_set_value_ext('res_id_2',v_res_id_3); 
    db_set_value_ext('res_name_2',v_res_name_3); 
    db_set_value_ext('batch_no_2',v_batch_no_3); 
    db_set_value_ext('produce_date_2',v_produce_date_3); 
    db_set_value_ext('inp_unit_type_name_2',v_inp_unit_type_name_3); 
    db_set_value_ext('inp_num_2',v_inp_num_3); 
 
    db_next(); 
    db_del_row(); 
    rowcount--; 
 
  }; 
 
  return 1; 
}; 
 
 
操作步骤: 
1、业务环境里面启用一张仓库类自定义单据 
2、在单据的显示定制里面去掉不需要的列,只保留产品编号、名称、批号、生产日期、单位、数量这几列 
3、将以上脚本写入到打印模板里的脚本编写框内保存 
4、定制打印格式如附图【update 1:设定用于承载第二列标签的模板如图】 
 
这个脚本还有改善的空间,还望高手门指点!


于 2014-09-05 11:54 被 afoo 修改

官方认证第三方服务团队  蒋逸凡(常德-zen) qq:50636277
服务介绍: http://www.onlyit.cn/user_home?user_id=13498
# 2    发布于 2014-08-07 11:01

谢谢老师分享。



官方认证第三方服务团队  徐文标(福建-流浪) qq:340298101
服务介绍:http://www.onlyit.cn/onlyit_service.html
# 3    发布于 2014-08-07 21:58

哥们,再尝试,一行打两张。。



杨清云,承接商贸管理、人力资源实施、综合管理实施服务
联系qq:13836962    tel:13058180007
# 4    发布于 2014-08-08 12:31

一行打两张没问题啊,在打印预览里面做个拆分打印就行,我就是这么干的。



官方认证第三方服务团队  蒋逸凡(常德-zen) qq:50636277
服务介绍: http://www.onlyit.cn/user_home?user_id=13498
# 5    发布于 2014-08-11 08:03

不拆分呢?那天看群中上海-吴维,弄了个打印预览里不拆分的。是不是弄得太复杂了。



杨清云,承接商贸管理、人力资源实施、综合管理实施服务
联系qq:13836962    tel:13058180007
# 6    发布于 2014-08-28 21:00

的确比较复杂,不拆分的话得设左右两个用来承载打印数据的格式,然后用脚本来动态赋值给这两个用来承载打印内容的格式。


于 2014-08-28 21:00 被 afoo 修改

官方认证第三方服务团队  蒋逸凡(常德-zen) qq:50636277
服务介绍: http://www.onlyit.cn/user_home?user_id=13498
# 7    发布于 2014-08-28 11:13

终于实现不用拆分的两列标签打印方法了!



官方认证第三方服务团队  蒋逸凡(常德-zen) qq:50636277
服务介绍: http://www.onlyit.cn/user_home?user_id=13498
# 8    发布于 2014-09-03 09:12

学习了,不错

# 9    发布于 2014-09-04 09:55

很好,很强大



qq:80240800
# 10    发布于 2014-09-05 11:48

9月5日修复当总标签数量为奇数时最后一张不打印的问题。



官方认证第三方服务团队  蒋逸凡(常德-zen) qq:50636277
服务介绍: http://www.onlyit.cn/user_home?user_id=13498
# 11    发布于 2014-09-09 10:22

向常德-zen学习~~~ :)



杨清云,承接商贸管理、人力资源实施、综合管理实施服务
联系qq:13836962    tel:13058180007
# 12    发布于 2014-09-25 15:24

这个要支持,太强大了。

# 13    发布于 2016-04-09 14:17

很强大!值得收藏

# 14    发布于 2016-04-11 08:32

超牛..........

# 15    发布于 2016-04-16 06:54

楼主可以改改,做成产品目录册打印,如果加入变量就方便了 
比如,竖排x,横排y


 25  1/2         


登录后方可发贴



[ 电话: 0571-85462761 王先生 qq: 124520435 加入软件qq群 - - ]