便捷快速的打印插件--发票单打印
《本文由按键学院提供技术支持》
按键学院交流群(1群已满):376122403
零基础学按键精灵群(2群):372671254
|
脚本步骤分析
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重新编辑 ]
