欢迎您来到 数字平台。 您尚未登录。[登录] [注册新用户]
当前位置: 论坛首页 / 栏目 产品与服务 / 文章 208

点击:9999[回复顶层] [树状] [简明]
(访客)gyuu
[回复留言] [回复(需要先登录)] [引用(需要先登录)] [编辑(凭密码)]普通文章第 1 楼
文章id: 208
2个问题

作者: (访客)gyuu



老师:你好!

    刚刚开始使用DP2系统,发现2个问题:1.在种册管理窗下做编目,无法从225字段自动生成410字段 。2.借阅排行中按图书(分类)统计中出现了L、M类。



发表时间: 2007-12-03 10:58:10


头衔: 总工
文章数: 539
积分: 5390
注册时间: 2005/9/5
[回复留言] [回复(需要先登录)] [引用(需要先登录)]普通文章第 2 楼
文章id: 209
回复: 2个问题

作者: xietao


==========

以下是引用 ~gyuu 于 2007-12-3 10:58:10 发表的文字:

老师:你好!

    刚刚开始使用DP2系统,发现2个问题:1.在种册管理窗下做编目,无法从225字段自动生成410字段 。2.借阅排行中按图书(分类)统计中出现了L、M类。

==========

你提出的问题很好。谢谢。

1) 根据225创建410功能,我这里已经加入。

下面介绍加入的办法:

启动dp2rms前端,打开“中文图书”数据库下cfgs/dp2_autogen.cs配置文件,在main()函数中增加以下片断代码:

        // 410 <-- 225

        if (curfield != null &&

            (curfield.Name == "225"

            || curfield.Name == "410") )

            bActive = true;

        else

            bActive = false;

        actions.NewItem("410 <-- 225", "将225$a内容加入410  $1200  $a", "Copy225To410", bActive);

具体位置,建议插入在

        // 7*2$a <-- 200$g

        if (curfield != null &&

            (curfield.Name == "702"

            || curfield.Name == "712") )

            bActive = true;

        else

            bActive = false;

        actions.NewItem("7*2$a <-- 200$g", "将200$g内容加入702/712字段$a", "Copy200gTo7x2a", bActive);

片段后面。

然后,在文件尾部增加一个函数:

    void Copy225To410()

    {

        Field field_225 = this.DetailForm.MarcEditor.Record.Fields.GetOneField("225",0);

        SubfieldCollection subfields_225 = field_225.Subfields;

        Subfield subfield_a = subfields_225["a"];

        if (subfield_a == null)

        {

            MessageBox.Show(this.DetailForm, "225$"+"a"+"不存在");

            return;

        }

        string strContent = subfield_a.Value;

        

        // 看看当前活动字段是不是410

        Field field_410 = null;

        field_410 = this.DetailForm.MarcEditor.FocusedField;

        if (field_410 != null)

        {

            if (field_410.Name != "410")

                field_410 = null;

        }

        

        if (field_410 == null)

        {

            field_410 = this.DetailForm.MarcEditor.Record.Fields.GetOneField("410", 0);

            if (field_410 == null)

            {

                field_410 = this.DetailForm.MarcEditor.Record.Fields.Add("410", "  ", new string((char)31, 1) + "1200  "+new string((char)31,1)+"a", true);

            }

        }

        else

        {

            field_410.Value = new string((char)31, 1) + "1200  "+new string((char)31,1)+"a" + field_410.Value;

        }

        

        if (field_410 == null)

            throw(new Exception("error ..."));

        Subfield subfield_410a = field_410.Subfields["a"];

        if (subfield_410a == null)

        {

            subfield_410a = new Subfield();

            subfield_410a.Name = "a";

        }

        subfield_410a.Value = strContent;

        field_410.Subfields["a"] = subfield_410a;

    }

注意以上内容应插入在最后一个花括号以前。

如果对上述修改操作没有把握,本贴附件提供了一个完整的dp2_autogen.cs文件内容,可直接使用。

2) 出现了L M 类的问题,是“日志统计窗”中“借阅排行”统计方案内class.txt文件内容出现了多余的行。

可以这样修改:

在日志统计窗中,按“方案管理”按钮。在随后出现的对话框中,双击“借阅排行”。

在随后出现的对话框中,双击class.txt。

在随后出现的notepad窗口中,删除L M 两行,然后用其“文件/保存”菜单功能保存文件。然后逐级退出返回。

如果对以上修改操作没有把握,请重新导入“借阅排行”统计方案。

在这里可以下载该方案的打包文件:

http://dp2003.com/filews/getfile.aspx?username=dp2circulation&filename=projects%5c%e5%80%9f%e9%98%85%e6%8e%92%e8%a1%8c.projpack



资源:

-- ID: 0 文件名: dp2_autogen.cs 尺寸: 20159 最后修改时间: --
dp2_autogen.cs [下载] 警告:某些文件下载后,如打开(或执行),可能危害您的计算机安全,请谨慎行事。


发表时间: 2007-12-03 12:45:46
最后修改时间: 2007-12-03 12:50:30



页 1 / 1
 

在线用户
(无) 
当前栏目在线用户数 0, 总在线用户数 0