锦瑟弦音 2026-04-13 20:24 采纳率: 84%
浏览 4

金蝶苍穹二开,标识如何添加,onoprpre

如果代码提示这个标识不存在,但是单据里面确实有这个标识,我用哪个把这个标识加进去,我记得大概是onpropre

  • 写回答

3条回答 默认 最新

  • 檀越@新空间 2026-04-13 20:25
    关注

    晚上好🌙🌙🌙
    本答案参考通义千问

    在使用金蝶苍穹(Kingdee Cloud)进行二次开发时,如果你遇到类似 “标识不存在” 的错误提示,但你确认单据中确实存在该字段(如 onoprpre),这通常是因为该字段在系统中是动态字段扩展字段,而你在代码中没有正确引用或注册该字段。


    一、问题分析

    1. 字段类型问题

    • onoprpre 是一个动态字段(也称为扩展字段),它不是标准的数据库字段,而是通过系统配置添加的。
    • 在代码中直接使用 onoprpre 可能会报错,因为它没有被系统自动识别为可访问字段。

    2. 字段命名规则

    • 金蝶苍穹中,动态字段的命名通常以 onop 开头,例如:
      • onop01
      • onop02
      • onoprpre(可能是某个特定业务场景下的字段)
    • 所以你提到的 onpropre 可能是拼写错误,正确的应该是 onoprpre

    二、解决方案

    ✅ 正确方法:使用 onop 前缀的字段名,并通过系统 API 注册字段

    1. 确认字段是否存在

    • 登录金蝶苍穹系统,进入 表单设计数据字典管理 模块,查看该字段是否已经被定义。
    • 如果字段已经存在,请记录其实际名称(如 onoprpre)。

    2. 在代码中正确引用字段

    • 不要直接使用 onoprpre,而是通过系统提供的接口来获取字段值。
    • 通常的做法是使用 GetFieldValue 方法,如下所示:
    string fieldValue = this.GetFieldValue("onoprpre");
    

    注意: 如果字段是动态字段,可能需要使用更复杂的逻辑来获取,比如通过 FormInfo 对象获取字段信息。

    3. 如果字段未注册到系统中

    • 你需要通过 表单设计器 添加该字段,并确保字段已注册到系统中。
    • 在表单设计器中添加字段后,保存并发布表单,确保字段生效。

    4. 使用 onop 前缀的字段名

    • 如果你误用了 onpropre,请改为 onoprpre
    • 你可以通过以下方式验证字段是否存在:
    if (this.FormInfo.Fields.Contains("onoprpre"))
    {
        // 字段存在
    }
    else
    {
        // 字段不存在,需在表单中添加
    }
    

    三、示例代码(C#)

    // 获取动态字段的值
    string onoprpreValue = this.GetFieldValue("onoprpre");
    
    // 判断字段是否存在
    if (this.FormInfo.Fields.Contains("onoprpre"))
    {
        // 字段存在,可以安全操作
        this.SetFieldValue("onoprpre", "新值");
    }
    else
    {
        // 字段不存在,提示用户或日志记录
        Log.Error("字段 onoprpre 不存在,请检查表单配置。");
    }
    

    四、常见错误与解决办法

    | 错误提示 | 原因 | 解决方案 | |----------|------|-----------| | “标识不存在” | 字段未注册或拼写错误 | 确认字段名是否正确,检查表单配置 | | “无法找到字段 onoprpre” | 字段未在系统中定义 | 使用表单设计器添加字段并发布 | | “字段类型不支持” | 字段类型不匹配 | 确认字段类型(字符串、数字等) |


    五、总结

    • 不要直接使用 onoprpre 作为变量名,而是通过 GetFieldValueSetFieldValue 来操作。
    • 确认字段是否已注册,并在表单设计器中添加。
    • 字段名建议以 onop 开头,如 onoprpre
    • 如果字段未注册,务必通过系统界面添加后再进行开发

    如有更多字段相关问题,欢迎继续提问!

    评论

报告相同问题?

问题事件

  • 创建了问题 4月13日