操作篇--如何套打消费单?

2012年09月14日 06:29
点击率:12434

    一张普通的收据代表着一个机构的形象,在培训机构激烈竞争的今天,我们怎样去处理这类看似微不足道,而又并不平凡的管理细节?
麦田培训学校管理软件,默认收据采用喷墨打印机模板,这种方式可以就地取材,在不专业极端情况下也能完成收据的打印。然而,我们很多培训机构需要有很高的要求。即:打印真正专业的、高标准收据,来提高学校形象。


    下面笔者就带大家体验一下,在麦田平台上DIY专业收据。首先我们需要印刷一些收据做背景,以下图麦田公司的收据为例:

麦田培训学校管理软件细节


这张收据的尺寸为19CM X 10CM,与移动话费收据差不多大。
然后我们登录麦田软件后台,在[分析]--[报表管理]这里增加一张新的报表,名称为“套打消费单(针式)”,
如图:


麦田培训学校管理软件细节

增加后,我们再编辑这张报表,进入代码设计。


麦田培训学校管理软件细节

套打的代码设计,相对要简单的多,因为不需要考虑表格等样式,只要把内容编排好,保持能够打印在背景的规定区域内即可。设计这样的报表有一些技巧,比如先插入一张背景图片,在图片上面画内容,等内容完成后,再把背景图去掉,然后实际打印一下,调整一下X,Y坐标即可。完整的代码见如下:

<?xml version="1.0" encoding="utf-8"?>

<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:String="urn:SWString"
>

  <xsl:param name="SystemName"/>
  <xsl:param name="SchoolName"/>
  <xsl:param name="SiteUrl"/>
  <xsl:param name="Email"/>
  <xsl:param name="Tel"/>
  <xsl:param name="Fax"/>
  <xsl:param name="Address"/>
  <xsl:param name="PostCode"/>
  <xsl:param name="CurrencySymbol"/>
  <xsl:param name="PrintTrueName"/>
  <xsl:param name="PrintUserID"/>
  <xsl:param name="PrintSchoolName"/>
  <xsl:param name="PrintSchoolID"/>
  <xsl:param name="PrintDateTime"/>

  <xsl:template match="/">

    <html>
      <head>
        <pagesetting>
          <landscape>false</landscape>
          <paperkind>Custom</paperkind>
          <papername>收据</papername>
          <resolutionkind>2</resolutionkind>
          <paperwidth>19cm</paperwidth>
          <paperheight>10cm</paperheight>
          <pageleft>0</pageleft>
          <pageright>0</pageright>
          <pagetop>0cm</pagetop>
          <pagebottom>0</pagebottom>
          <fontsize>8</fontsize>
          <pageno></pageno>
          <doctype>1</doctype>
        </pagesetting>

        <style>
          .thead{
          border-top-width:0.5mm;
          border-left-width:0.5mm;
          border-bottom-width:0.5mm;
          border-right-width:0.5mm;
          text-align:center;
          font-style:bold
          }

          .bottom{
          border-left-width:0.5mm;
          border-bottom-width:0.5mm;
          border-right-width:0.5mm;
          font-style:bold
          }

          .left{
          border-left-width:0.5mm;
          font-style:bold
          }

          .right{
          border-right-width:0.5mm;
          font-style:bold
          }

          .leftright{
          border-left-width:0.5mm;
          border-right-width:0.5mm;
          font-style:bold
          }

        </style>
      </head>
      <body>

        <img x="0" y="0cm" style="width:19cm;height:10cm" src="images/bg1.jpg"></img>

        <div x="1.2cm" y="-0.4cm" style="padding:0">

          <span x="1.6cm" y="2.65cm" align="left" width="18cm" height="1.27cm">
            <xsl:value-of select="String:Replace(String:FormatDate('{0:yyyy-MM-dd}',ds/Bill/DateAndTime),' ','$nbsp;')" />
          </span>


        <span x="0cm" y="3.2cm" align="left" width="18cm" height="1.27cm">
         付款方名称:<xsl:value-of select="ds/Student/StudentName" />
$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;流水号:<xsl:value-of select="ds/Bill/BillID" />
        </span>


        <table x="0" y="3.8cm" maxlines="7" style="border:0mm;border-color:red">

          <thead>
            <tr height="0.5cm">
              <td width="7cm">项目
              </td>
              <td width="1.2cm">单位
              </td>
              <td width="1.2cm">数量
              </td>
              <td width="2cm">单价
              </td>
              <td width="3cm">小计
              </td>
            </tr>
          </thead>

          <tbody>

            <xsl:for-each select="ds/BillItem">
              <tr height="0.45cm" style="border-top-width:0mm;border-bottom-width:0mm;text-valign:top">
                <td width="7cm" style="text-align:left;text-valign:top">
                  <xsl:value-of select="ProductName" />
                </td>
                <td width="1.2cm" style="text-valign:top">
                  <xsl:value-of select="UnitName" />
                </td>
                <td width="1.2cm" style="text-valign:top">
                  <xsl:value-of select="Amount" />
                </td>
                <td width="2cm">
                  <xsl:value-of select="String:FormatNumber('{0:c2}',UnitPrice)" />
                </td>
                <td width="3cm">
                  <xsl:value-of select="String:FormatNumber('{0:c2}',Amount * UnitPrice)" />
                </td>
              </tr>
            </xsl:for-each>
            <filltr height="0.45cm" style="border-top-width:0mm;border-bottom-width:0mm;">
              <td width="7cm">
              </td>
              <td width="1.2cm">
              </td>
              <td width="1.2cm">
              </td>
              <td width="2cm">
              </td>
              <td width="3cm">
              </td>
            </filltr>
          </tbody>

          <tfoot>
            <tr height="0.8cm">
              <td width="14.4cm" format="p">
                金额合计(大写):人民币$nbsp;$nbsp;<xsl:value-of select="String:CHSMoney(ds/Bill/Payed)"/> $nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;(小写)<xsl:value-of select="String:FormatNumber('{0:c2}',ds/Bill/Payed)"/><br />
                备注:<xsl:value-of select="ds/Bill/Remark" />

              </td>
            </tr>
            <tr height="0.5cm">
              <td width="14.4cm" style="text-align:left">
           开票人:<xsl:value-of select="$PrintTrueName" /> $nbsp;$nbsp; $nbsp;$nbsp;收款方名称:<xsl:value-of select="$SchoolName" />
 
              </td>
            </tr>



          </tfoot>

        </table>
        </div>
      </body>

    </html>

  </xsl:template>
</xsl:stylesheet>



设计好报表之后,我们将它设置为默认消费单报表。

[分析]--[默认报表]--消费单默认报表:

麦田培训学校管理软件细节

预览效果:


麦田培训学校管理软件细节


打印效果:


麦田培训学校管理软件细节