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

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

作者: (访客)gyuu



老师:你好!

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



发表时间: 2007-12-03 10:58:10
[回复留言] [回复(需要先登录)] [引用(需要先登录)]普通文章第 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
 

在线用户
访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客
当前栏目在线用户数 29, 总在线用户数 48