打印模板
这一页是打印模板中心,管的是打出去的那张纸上长什么样。
先说两个词,不然后面看不懂:
- 小票,就是顾客买完药你递过去的那张纸,一般是热敏纸,机器一热就出字。
- 套打,意思是纸上已经提前印好了表格和栏目,打印机只往空格里填字。针式打印机打的 多是这种,比如打印好的销售单、验收单。
- 模板,就是这张小票的“样子“:哪一行放店名、哪一行放品名和金额、最后一行放祝语。 店里换个祝语、调一下抬头,改的是模板,不是程序。
- 模板变量,就是模板里留的空位。打个比方,模板上写的是“这里放门店名字“,
真正打印的时候,系统拿这家店的实际名字填进去。这一页里那些带字段名的东西
(比如
store_name),就是这些空位。 - 参数,这里指的是打印用的那些设定值,比如用哪台打印机、选哪个模板、小票下方写什么。
一句话:这一页平时不用天天来。换打印机、换小票抬头、加一句话,才来这一页。
什么时候会用到它
- 新装了一台打印机,小票打不出来,或者打到别的机器上去了。 来这一页把默认打印机、 指令模式和对好的模板选中。
- 小票上的门店抬头、地址、电话、祝语要改。 店名换了、电话换了,顾客手里那张纸也要跟着换。
- 要试打一张看看对不对。 不想拿真顾客的单子试,就用页面上的测试打印, 拿一张样例先打出来瞧瞧。
- 针式套打出来的字偏上偏下、偏左偏右。 纸张大小和偏移量在这一页调。
- 小票格式是系统自带的,想微调一下行距或者某一行字。 现场能做的微调在这一页做; 要动字段从哪儿来,得先把「开发模式」打开。
怎么操作
第一步,打开页面。 左边菜单找到「系统管理」这一组,点「打印模板」。
第二步,先在「模板库」里选一个模板。 这一页左边那张卡片叫「模板库」, 里面列着系统自带的小票模板。点一下你要用的那个,右边就把它打开。 列表里每个模板后面跟着几个数字(多少个字段、多少个元素、多少 band), band 你可以理解成“纸上的分区“,比如页眉一块、明细一块、页脚一块。

第三步,在「设计面板」里看这个模板都用到了什么。 选中的模板会在右边这块展开。 上面有「模板名称」「类型」「默认打印机」「指令模式」几项,还有「源 PB 对象」和「说明」。
- 「类型」有两个选:针式套打、热敏小票,按你实际用的纸选。
- 「默认打印机」是这台机器上认到的打印机,没选就是「未选择打印机」。
- 「指令模式」管的是电脑怎么跟打印机说话,有 Windows 驱动、ESC/POS、ESC/P、RAW 几种。 拿不准就用 Windows 驱动;小票机一般用 ESC/POS。
- 「源 PB 对象」是这个小票格式在系统里的名字,跟“某张单子“没关系,不用改。
- 「SQL」是模板取数用的语句,旁边有「解析SQL」可以点开看看它取出了什么。

第四步,看字段列表。 设计面板里列着这个模板能用的所有字段,每个字段后面跟着它的类型 (nvarchar 是文字,decimal 是带小数的钱数,date 是日期)。这些就是前面说的“空位“: 你想让小票上出现门店名字,就把「门店」这一项放到模板里。
第五步,要改字段来源,先开「开发模式」。 页面上头有「新建针式」「新建小票」 「开发模式」「保存模板」「测试打印」几个按钮。 页面上写着一句:现场只做受控微调,开发模式才改字段来源。 也就是说,调一调位置、改一改文字,现场就能做;要让某个空位换成另一个数据来源, 得先点开「开发模式」,这个模式是给做实施的人用的。改完了点「保存模板」。
第六步,用「参数测试区」试一张真实数据。 填「销售单 ID」或者「销售单号」, 点「预览」——它就按这张真单子的数据,把整张小票拼出来给你看。看位置对不对、 金额有没有打歪,用这个最直观。上面还有「发送测试」和「样例校准」两个按钮。
第七步,在「套打预览」里调纸张和偏移。 这一页右边那张卡片叫「套打预览」, 先选「纸张格式」,有自定义、80mm 热敏小票、58mm 热敏小票、210 x 140mm 针式连续纸。 选完再看宽、高、X 偏移、Y 偏移、DPI 这几项。打印出来整体偏了,就是调 X 偏移和 Y 偏移 —— X 管左右,Y 管上下。底下还有「走纸」「切纸」「开钱箱」三项。

第八步,测试打印。 页面上头那个「测试打印」按一下,就会往打印机上真打一张。 建议先拿样例打,别拿当天最后一笔真单子打。
第九步,小票要自动打,去「系统配置」页设。 这一页只管“打成什么样“。 销售完是不是自动出小票、退货后是不是自动出小票,在「系统配置」那一页的参数里设。
界面上都有什么
| 卡片 | 项目 | 填什么、从哪来 |
|---|---|---|
| 模板库 | 查询 | 点一下,重新取一遍模板列表 |
| 模板库 | 模板条目 | 系统自带的小票模板,比如内置销售小票 80mm、内置针式套打测试页 |
| 模板库 | 模板后面的数字 | 每个模板用了多少个字段、多少个元素、多少 band,看一眼就知道复杂不复杂 |
| 设计面板 | 模板名称 | 这个模板叫什么 |
| 设计面板 | 类型 | 针式套打、热敏小票,按你实际用的纸选 |
| 设计面板 | 默认打印机 | 这一页可选的打印机列表,没选的时候显示「未选择打印机」 |
| 设计面板 | 指令模式 | 电脑跟打印机怎么说话:Windows 驱动、ESC/POS、ESC/P、RAW |
| 设计面板 | 源 PB 对象 | 这个小票格式在系统里的名字,不用改 |
| 设计面板 | 说明 | 这个模板是干什么用的,一句话 |
| 设计面板 | SQL | 模板取数用的语句 |
| 设计面板 | 解析SQL / 刷打印机 | 解析SQL 是看看 SQL 取出了什么;刷打印机是重新读一遍打印机列表 |
| 设计面板 | 元素属性 | 你点中模板上哪个东西,就显示哪个东西的属性,比如点到小票抬头就显示 print_title |
| 设计面板 | 文本 / 横线 | 往模板上加东西用的,文本是加字,横线是加分隔线 |
| 设计面板 | 字段列表 | 这个模板能用的全部空位,每个字段后面是它的类型 |
| 参数测试区 | 销售单 ID | 输一张真单子的编号,用它出预览 |
| 参数测试区 | 销售单号 | 也可以直接填单号 |
| 参数测试区 | 预览 / 发送测试 / 样例校准 | 预览是按真数据拼出小票;发送测试是发到打印机试;样例校准用样例数据 |
| 套打预览 | 纸张格式 | 自定义、80mm 热敏小票、58mm 热敏小票、210 x 140mm 针式连续纸 |
| 套打预览 | 宽 mm / 高 mm | 自定义纸张的时候,纸有多宽多高,量一下填进去 |
| 套打预览 | X 偏移 / Y 偏移 | 打出来整体偏左偏右就调 X,偏上偏下就调 Y |
| 套打预览 | DPI | 打印的精细程度,一般按打印机说明书填 |
| 套打预览 | 走纸 / 切纸 / 开钱箱 | 打完这三件事要不要做:走纸是走一段空白,切纸是切一刀,开钱箱是弹开抽屉 |
模板能用的字段(带类型):
| 字段 | 名称 | 类型 |
|---|---|---|
| print_title | 小票抬头 | nvarchar(文字) |
| store_name | 门店 | nvarchar |
| ckdh | 单号 | nvarchar |
| sale_date | 日期 | date |
| shsj1 | 销售时间 | datetime |
| cashier | 收银 | nvarchar |
| return_flag | 退货标识 | nvarchar |
| line_text | 明细整行文本 | nvarchar |
| xh | 明细序号 | nvarchar |
| item_name | 品名 | nvarchar |
| spec | 规格 | nvarchar |
| manufacturer | 厂家 | nvarchar |
| qty | 数量 | decimal |
| unit | 单位 | nvarchar |
| price | 单价 | decimal |
| amount | 金额 | decimal |
| batch_no | 批号 | nvarchar |
| bjje | 折前金额 | decimal |
| ssje | 折后金额 | decimal |
| discount_amount | 优惠金额 | decimal |
| cash_received | 实收款 | decimal |
| change | 找零 | decimal |
| pay_display | 支付方式 | nvarchar |
| pay_amount | 支付金额 | decimal |
| jfdk | 积分抵扣 | decimal |
| jfdksl | 使用积分 | decimal |
| mling | 抹零 | decimal |
| zsjf | 赠送积分 | decimal |
| member_points | 剩余积分 | decimal |
| member_card_no | 会员卡号 | nvarchar |
| member_name | 会员姓名 | nvarchar |
| print_address | 地址 | nvarchar |
| print_phone | 电话 | nvarchar |
| print_notice | 小票说明 | nvarchar |
| print_message | 小票祝语 | nvarchar |
常见疑问
问:小票上的门店抬头、地址、电话,是在这一页改吗?
答:抬头这些内容本身是在「系统配置」页的参数里填的。这一页管的是“这张纸怎么排“, 也就是把抬头这个空位放在哪一行。内容归那边,样子归这边。
问:打完发现整张纸偏了,往哪儿调?
答:在「套打预览」这张卡片上调 X 偏移和 Y 偏移。偏左偏右调 X,偏上偏下调 Y。 一次少调一点,调完打一张看看,别一次调太多。
问:「开发模式」要不要一直开着?
答:不要。页面上写着“现场只做受控微调,开发模式才改字段来源“。 也就是说日常调位置、改文字不用开;要让某个空位换数据来源,才开它, 改完就关掉,免得别人误操作。
问:怎么知道这个模板用到了哪些字段?
答:选中模板后,右边设计面板里会把字段一个个列出来,括号后面还写着类型。 想确认某一行字是哪来的,就点模板上的那一行,看「元素属性」显示的是哪个字段名。
问:拿真单子预览,会不会影响已经卖出去的单子?
答:不会。预览只是按那张单子的数据把小票拼出来给你看,不动单子本身。
问:小票买完药就自动打出来,在哪儿设?
答:不在这一页,在「系统配置」页。那边的参数里有“销售后是否自动打印小票“ 和“退货后是否自动打印小票“两项。
本页修订记录
| 说明版本 | 日期 | 对应系统版本 | 改了什么 |
|---|---|---|---|
| v1 | 2026-10-07 | 框架 1.0.91 / pk_base 0.1.44 | 第一版:打印模板这一页的卡片、字段表和操作步骤 |