有些客户反应打印财产帐时,只能被动地从系统预置栏目中增删,比如“摘要”一栏,是一长串的书目信息,不太直观好看。
所以,更新后的dp2circulation(dp2内务),在打印财产帐窗中,为栏目增加了自定义功能。自定义方式为:
1、启用dp2circulation(dp2内务)前端,在“批处理”菜单中,打开“打印财产帐”窗。
2、切换到“打印”标签页,可以看到有三个输出方式配置:HTML,纯文本,WordML。
3、点击其“打印配置”按钮,在打印配置窗的“模板”标签页的模板项区域中,可以执行鼠标右键菜单中的“新增模板”命令。输入模板名为“MARC过滤器”,确定后,会看到模板项区域中,产生了一个名为“MARC过滤器”的模板项,同时,下方的文件内容区域可以编辑。请将如下参考代码复制进此文本区域,保存后,即创建了一个栏目内容提取规则:
<?xml version="1.0" encoding="utf-8"?>
<filter>
<using>
<![CDATA[
using System;
using System.IO;
using System.Text;
using System.Web;
using DigitalPlatform.MarcDom;
using dp2Circulation;
]]>
</using>
<ref>system.dll</ref>
<ref>system.web.dll</ref>
<ref>system.windows.forms.dll</ref>
<def>
<![CDATA[
string strTitle = "";
string strAuthor = "";
]]>
</def>
<!-- UNIMARC 格式过滤规则 -->
<record syntax="unimarc">
<!-- 200 题名与责任者 -->
<field name="200">
<subfield name="a">
Root.strTitle = this.Content;
</subfield>
<subfield name="f">
Root.strAuthor = this.Content;
</subfield>
</field>
</record>
<!-- USMARC 格式过滤规则 -->
<record syntax="usmarc">
<!-- 245 题名与责任者 -->
<field name="245">
<subfield name="a">
Root.strTitle = this.Content;
</subfield>
<subfield name="c">
Root.strAuthor = this.Content;
</subfield>
</field>
</record>
<end><![CDATA[
Host.ColumnTable["title"] = strTitle;
Host.ColumnTable["author"] = strAuthor;
]]>
</end>
</filter>
从参考代码可以看出,过滤器准备了名为"title"与"author"的栏目(Host.ColumnTable["title"] = strTitle;Host.ColumnTable["author"] = strAuthor;)。这些自定栏目,可以自行调整增删。
注意自定义栏目名字不要和已有的预定义栏目名字相重。USMARC与UNIMARC(CNMARC)的提取代码,请对号入座——record 元素syntax属性值决定了MARC的格式。
4、切换回栏目定义标签页,点击右边“新增”按钮,输入栏目名(就是刚MARC过滤器代码中输出的title或author),输入标题文字(就是最终帐产帐报表输出时该栏目显示的栏标题),决定字符串截断长度(-1表示不截断)。
5、确定后,可以根据财产帐打印流程输出自己想要的结果了。