Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

如何让打印订单显示自定义的栏目 #269

Open
lunvo opened this issue Jan 9, 2019 · 0 comments
Open

如何让打印订单显示自定义的栏目 #269

lunvo opened this issue Jan 9, 2019 · 0 comments

Comments

@lunvo
Copy link

lunvo commented Jan 9, 2019

打印订单的时候,有时需要抽取MARC记录的某些字段作为一个栏目显示,如何实现呢?可以通过一个名为“MARC过滤器”的模板实现。

以抽取MARC记录的856$u字段作为一个栏目为例,操作步骤如下:

  1. 登录内务,点菜单 批处理/打印订单 打开 打印订单 窗口。

  2. 切换到 打印/输出 属性页,点击 订单打印选项...,打开 图书订购打印参数 对话框。
    image

    image
  3. 切换到 模板 属性页,分两种情况处理:
    1)没有创建过 MARC过滤器 模板
    在对话框上面部分的空白处单击右键,打开上下文菜单,点 新增模板。
    image

    将模板名指定为 MARC过滤器,点 确定 关闭对话框。
    image

将下方文件内容设为:

<?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 strLink = "";
]]>
  </def>
  <!-- UNIMARC 格式过滤规则 -->
  <record syntax="unimarc">
    <!-- 856 电子资源 -->
    <field name="856">
      <subfield name="u">
        if (string.IsNullOrEmpty(Root.strLink) == false)
          Root.strLink += "; ";

        Root.strLink += this.Content;
      </subfield>
    </field>
  </record>

  <end>
    <![CDATA[
Host.ColumnTable["link"] = strLink;
]]>
  </end>
</filter>

点 确定 保存文件内容。

2)已经存在 MARC过滤器 这个模板,选中这个模板,修改文件内容,总共需要改三处:
第一处:定义一个变量名
image
第二处:在 UNIMARC 格式过滤规则 下新增抽取856$u的方法
image
第三处:增加表的列名
image

修改完成后,点 确定 保存文件内容。

  1. 切换到 栏目定义 属性页,新增一个栏目,设置栏目名和标题文字,点 确定 关闭对话框。
    栏目名:需要手动键盘输入,因为这是扩展的栏目,已有的列表中并没有包含。
    注意跟代码中Host.ColumnTable["link"] 设置的“link”保持一致,例如:link -- 电子资源链接
    标题文字:显示在打印的订单上的栏目名称,可以根据需要自行设定
    image

  2. 此时,再去 打印订单,就可以显示自定义的栏目。
    image

@lunvo lunvo changed the title 如何将其他系统的数据转入dp2系统 如何在打印的订单上显示自定义的栏目 Jan 10, 2019
@lunvo lunvo changed the title 如何在打印的订单上显示自定义的栏目 如何让打印订单显示自定义的栏目 Jan 10, 2019
@renyh renyh removed the 文稿 label May 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants