【用友NCC新增编辑公式的详细步骤与知识点】 在用友NCC(New Century Cloud,新一代企业级云服务)中,用户有时需要根据特定业务需求创建自定义公式。这通常涉及到对公式编辑器的深入理解和自定义函数的编写。以下是如何在用友NCC中新增自定义公式的详细步骤及涉及的知识点: 1. **自定义函数处理类**: - 你需要从`nc.vo.pub.expression.function.NcInnerFunction`继承一个类来创建自己的函数处理类。例如,我们可以创建一个名为`MyFunction`的类。 - 在这个类中,你需要设置函数的参数数量(`numberOfParameters`)、函数类型(`functionType`)以及函数的描述(`functionDesc`)。 - 关键在于实现`function()`方法,这是处理输入参数并执行实际计算的地方。在这个例子中,`function()`返回当前登录用户的用户ID。 2. **配置文件的添加**: - 自定义函数需要在NCHOME/resources/formulaconfig/custfunction目录下创建一个XML注册文件。文件名可以自定义,但不要覆盖或删除默认的`default.xml`。 - XML文件的结构应包含`<formula-array>`标签内的`<formula>`标签,用于定义自定义函数的类型、名称和类路径。例如: ```xml <?xml version="1.0" encoding="gb2312"?> <formula-array> <formula> <customType>0</customType> <functionName>MyFunction</functionName> <functionClass>nc.vo.function.MyFunction</functionClass> </formula> </formula-array> ``` - 这个XML文件将告诉系统如何找到并调用你的自定义函数。 3. **遇到的问题及解决方案**: - 数据源问题:在实际应用中,可能遇到的问题之一是自定义公式只能访问第一行数据。例如,如果希望对单位转换后的数据进行合计,而系统自带的 `_total_` 函数只提供原始数据的合计。 - 解决这个问题可能需要修改公式处理的内部逻辑,例如通过调试`debugFormularVarDataSource`中的`getVarValue1`方法,并添加特殊处理来处理不同行的数据。 4. **扩展与注意事项**: - 自定义公式不仅可以用于简单的数据计算,还可以实现复杂的业务逻辑,如条件判断、循环操作等。 - 在编写自定义函数时,需确保其兼容性和稳定性,以适应不同的业务场景和数据规模。 - 调试和测试是关键,确保自定义函数在各种情况下都能正确工作。 - 注意代码的可读性和可维护性,因为未来可能需要对这些自定义功能进行更新或优化。 通过以上步骤和知识,用户可以在用友NCC环境中创建和使用自定义公式,以满足特定的业务需求,增强系统的灵活性和功能性。然而,这需要对NCC的底层机制有一定的理解,并且在实践中不断调试和完善。
评论1
最新资源