Skip to content

内务 打印订单 窗口

谢涛 edited this page Mar 24, 2018 · 10 revisions

本文介绍内务的打印装订单窗口的使用和配置技巧。

如何打印分类统计表

准备工作

  1. 分类号表 模板 需要在“打印订单选项”的模板定义中创建一个名为“分类号表”的模板。

内容示例如下:

A
B
C
T
!TP

每行定义一个分类号。所定义的分类号会出现在最终的表格中。 若某行第一个字符为 '!',表示此分类号不参与合计。例子中,T 已经进行了合计,就不要对 TP 再进行合计了,否则合计数会偏大。

  1. MARC过滤器 模板

需要在“打印订单选项”的模板定义中创建一个名为“MARC过滤器”的模板。这个模板用于定义如何抽取 MARC 记录中的分类号和出版社信息。

如果此模板缺省,软件会自动从内务的数据目录中寻找一个名为 default_getclass.fltx 的配置文件,这是内务安装时候自动创建的一个配置文件,它负责定义中图法的类号抽取规则。也就是说,如果是对中图法进行分类统计,“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 strClass = "";
string strPublisher = "";
]]>
  </def>
  <!-- UNIMARC 格式过滤规则 -->
  <record syntax="unimarc">
    <!-- 690 中图法分类号 -->
    <field name="690">
      <subfield name="a">
        if (string.IsNullOrEmpty(Root.strClass) == true)
          Root.strClass = this.Content;
      </subfield>
    </field>
    <!-- 210 出版社 -->
    <field name="210">
      <subfield name="a">
        if (string.IsNullOrEmpty(Root.strPublisher) == false)
          Root.strPublisher += "; ";

        Root.strPublisher += this.Content;
      </subfield>
      <subfield name="c">
        Root.strPublisher += ":" + this.Content;
      </subfield>
    </field>
  </record>

  <!-- USMARC 格式过滤规则 -->
  <record syntax="usmarc">
    <!-- 093 中图法分类号 -->
    <field name="093">
      <subfield name="a">
        if (string.IsNullOrEmpty(Root.strClass) == true)
        Root.strClass = this.Content;
      </subfield>
    </field>
    <!-- 260 出版社 -->
    <field name="260">
      <subfield name="a">
        if (string.IsNullOrEmpty(Root.strPublisher) == false)
        Root.strPublisher += "; ";

        Root.strPublisher += this.Content;
      </subfield>
      <subfield name="b">
        Root.strPublisher += this.Content.Replace(",","").Trim();
      </subfield>
    </field>
    <end>
      <![CDATA[
]]>
    </end>
  </record>
  <end>
    <![CDATA[
Host.ColumnTable["biblioclass"] = strClass;
Host.ColumnTable["bibliopublisher"] = strPublisher;
]]>
  </end>
</filter>
  1. 分类统计页 和 分类统计页(含验收) 模板

“打印订单选项”的模板定义中, “分类统计页”和“分类统计页(含验收)”模板用于定义分类统计页的格式。如果是包含验收信息(“装载”属性页的“验收情况”checkbox勾选),则用后者。

注:按住 Ctrl 打开打印订单窗,“装载”属性页的“验收情况”checkbox才可用,否则这个 checkbox 是 Disabled 的状态。

此模板可以缺省,如果缺省,软件会自动用内务数据目录中的文件 default_printorder_classstatis.template 或 default_printorder_classstatis_accept.template 替代。

典型的 default_printorder_classstatis.template 文件内容如下:

<html>
<head>
%link%
</head>
<body>
<div class='pageheader'>%date% %seller% 分类统计表 - 批次号或文件名: %batchno_or_recpathfilename%</div>
<div class='tabletitle'>%date% %seller% 分类统计表</div>
{table}
<div class='pagefooter'></div>
</body>
</html>

典型的 default_printorder_classstatis_accept.template 文件内容如下:

<html>
<head>
%link%
</head>
<body>
<div class='pageheader'>%date% %seller% 分类统计表 - 批次号或文件名: %batchno_or_recpathfilename%</div>
<div class='tabletitle'>%date% %seller% 分类统计表</div>
{table}
<div class='pagefooter'></div>
</body>
</html>

如何打印出版社统计表

准备工作

  1. 出版社表 模板

需要在“打印订单选项”的模板定义中创建一个名为“出版社表”的模板。

内容示例如下:

北京:人民出版社
北京:人民教育出版社

每行定义一个出版社名称。所定义的出版社会出现在最终的表格中。 若出现 * 行,则表示任何出版社名称都会出现在最终的表格中。

  1. MARC过滤器 模板

需要在“打印订单选项”的模板定义中,模板定义中创建一个名为“MARC过滤器”的模板。这个模板用于定义如何抽取 MARC 记录中的分类号和出版社信息。

配置方法参见前面的“如何打印分类统计表”的“MARC过滤器模板”一节。“MARC过滤器”是分类统计表和出版社统计表共用的。

  1. 出版社统计页 和 出版社统计页(含验收) 模板

“打印订单选项”的模板定义中, “出版社统计页”和“出版社统计页(含验收)”模板用于定义出版社统计页的格式。如果是包含验收信息(“装载”属性页的“验收情况”checkbox勾选),则用后者。

注:按住 Ctrl 打开打印订单窗,“装载”属性页的“验收情况”checkbox才可用,否则这个 checkbox 是 Disabled 的状态。

此模板可以缺省,如果缺省,软件会自动用内务数据目录中的文件 default_printorder_publisherstatis.template 或 default_printorder_publisherstatis_accept.template 替代。

典型的 default_printorder_publisherstatis.template 文件内容如下:

<html>
<head>
%link%
</head>
<body>
<div class='pageheader'>%date% %seller% 出版社分类统计表 - 批次号或文件名: %batchno_or_recpathfilename%</div>
<div class='tabletitle'>%date% %seller% 出版社分类统计表</div>
{table}
<div class='pagefooter'></div>
</body>
</html>

典型的 default_printorder_publisherstatis_accept.template 文件内容如下:

<html>
<head>
%link%
</head>
<body>
<div class='pageheader'>%date% %seller% 出版社分类号统计表 - 批次号或文件名: %batchno_or_recpathfilename%</div>
<div class='tabletitle'>%date% %seller% 出版社分类号统计表</div>
{table}
<div class='pagefooter'></div>
</body>
</html>
Clone this wiki locally