便捷快速的打印插件--发票单打印

社区服务
高级搜索
猴岛论坛辅助工具便捷快速的打印插件--发票单打印
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
0个回复

便捷快速的打印插件--发票单打印

楼层直达
mimi_rice

ZxID:55494225

等级: 上士
举报 只看楼主 使用道具 楼主   发表于: 2015-03-02 0


便捷快速打印插件--发票单打印

《本文按键学院提供技术支持》

                                                                                                                                                                                  
按键学院交流群(1群已满):376122403
零基础学按键精灵群(2群):372671254


引用

我们的01工程师大姐大,这几日闭关修炼,终于研发出一款打印插件,帮助需要经常打印的童鞋,解决繁琐的操作。
为了方便童鞋们更好的理解以及使用此插件,我们的大姐大亲自写了一个打印发票的脚本。




脚本步骤分析





1 在打印区的范围里,放一个图片控件,加载一张发票的图片。
2
发票里需要写数据的地方,画上输入框,输入需要的数据。
3
需要计算的地方,例如:金额、总金额,这些输入框的失去焦点事件中,写入运算代码。
4
金额转换为大写金额
5 将打印区里显示的内容打印出来。

  


数据计算


引用

数据计算其实很简单:
金额=数量*单价
总金额=金额1+金额2+金额3+金额4+金额5






商品信息总共设置了五行,每一行里分别有6个输入框控件,分别是:商品名称、规格、单位、数量、单价、金额

(输入框的边框设置为白色,避免打印过程中,打印出输入框的表框)
数量、单价、金额这三个控件中的任 一控件失去焦点的时候(LostFocus),则使用FormatNumber
函数转换单价以及金额的数字显示方式(小数点右边保留两位小数),并且计算金额、总金额




金额转换为大写金额



第一步:
           判断金额中的数字,是在什么位置,例如:3124.00
           3是在千位、1在百位、2在十位
           我们用y表示亿位、w表示万位、q表示千位、b表示百位、s表示十位、j表示角、f表示分
           处理之后的数字为:3q1b2s4.00

第二步:
           处理零千零十等无意义数字,例如:3q0b0s
           使用Replace替换字符串函数 将无意义数字处理掉


第三步:
           将处理完的小写数据替换为大写。
           小写: "0123456789sbqwy.zjf"
           大写:"零壹贰叁肆伍陆柒捌玖拾佰仟萬億元整角分"
           循环19次,例如循环第一次时,查找数据中是否包含0,如包含则全部替换为大写零
           循环第二次时,查找数据中是否包含1,如包含则全部替换为大写壹
           以此类推



使用打印插件打印


引用
插件命令:
Call Plugin.OfficeWork.PrintForm(窗口句柄, 打印区域左上角x坐标, 打印区域左上角y坐标, 打印区域右下角x坐标, 打印区域右下角y坐标)


          窗口句柄:我们要打印的是图片控件所在区域的内容,所以这里的窗口句柄设置为图片控件句柄,Form1.PictureBox1.Hwnd
          打印区域为图片控件的区域
          打印过程中,需将图片控件隐藏一段时间,不打印图片背景,让数据直接打印在发票单上              
          所以,在“立即打印”按钮的单击事件中,我们需要加入隐藏图片控件以及延时命令
          在控件事件中加入延时命令会导致界面卡死,需要使用Api命令来处理
          相关帖子:
             【院刊】-【201503期】QUI界面不再卡死

          


引用

目前打印插件正在完善中,大伙儿如果有关于打印插件的功能需求,可以跟帖回复哦~
小编将会将需求反馈给我们的大姐大,
慢慢的强大我们的打印插件~




发票打印脚本下载: 国税局打印.rar[点击下载](325 K) 下载次数:0 累计下载获得 DB 没有记录







[ 此帖被mimi_rice在2015-03-02 16:47重新编辑 ]
« 返回列表
发帖 回复