二次开发报表公式配置文件说明

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

二次开发报表公式配置文件说明

二次开发报表公式配置文件说明

概论

1. 二次开发的意义

    主要方便标准系统无法满足的数据需求,例如在报表系统系统取到房地产的销售数据。


2. 二次开发和标准产品的关系

    二次开发的内容不受补丁和标准产品升级的影响。


3. 实现原理概论

    提供二次开发自己的公式定义文件,我们标准产品扫描到有二次开发公式定义就会加载。二次开发实现类自行管理。和标准产品没有任何关系。


4. 注意事项

    二次开发实现一定注意性能,如果量大必须实现批量执行接口。

5. 配置和实现过程

1.对升级且有新增公式的二次开发的客户请保证以下配置文件是该升级后版本的最新文件后再添加二次开发的文件路径名称:

com/kingdee/eas/fi/newrpt/formula/define/ formulas_defination.xml

2.对于新客户请按照如下描述进行新增公式的二次开发:

新建一个公式需要配置两个文件,分别为主配置文件、公式类型配置文件

二次开发的主配置文件为:com/kingdee/eas/fi/newrpt/formula/define/redev_formulas_defination.xml

公式类型配置文件为:com/kingdee/eas/fi/newrpt/formula/define/redev_formulas_type_defination.xml(这个可以不用,直接参见formulas_type_defination.xml)

下面使用批注的形式讲解这两个文件的XML结构


1、 主配置文件的结构

<formulas_declaration>

    <defaultImplClass>[计算类名称:Class]</defaultImplClass>

    <defaultBatchImplClass>[计算类名称:Class]</defaultBatchImplClass>

    <formulas>

        <formula     name="[公式名称]"                 type="[公式计算后返回的类型]"

return="default"     category="[公式分类]"

                    group="[公式:Number]"         wizard="[公式自定义向导界面:Class]">

            <alias>

                <local_name language="zh_CN">[简体公式名称] </local_name>

                <local_name language="zh_TW">[繁体公式名称]</local_name>

                <local_name language="en_US">[英文公式名称]</local_name>

            </alias>

            <params>

                <param name="[参数名称]" type="[参数类型]" required="[是否必选:Boolean]">

                    <alias>

                        <local_name language="zh_CN">[简体参数名称]</local_name>

                        <local_name language="zh_TW">[繁体参数名称]</local_name>

                        <local_name language="en_US">[英文参数名称]</local_name>

                    </alias>

                    <comments>

                        <comment language="zh_CN">[简体参数注释名称]</comment>

                        <comment language="zh_TW">[简体参数注释名称]</comment>

                        <comment language="en_US">[简体参数注释名称]</comment>

                    </comments>

                </param>    

                <param>

                    <!其他参数定义 --

                </param>

            </params>

            <comments>

                <comment language="zh_CN">[简体公式注释名称]</comment>

                <comment language="zh_TW">[繁体公式注释名称]</comment>

                <comment language="en_US">[英文公式注释名称]</comment>

            </comments>

            <validations>

                <validation     strict="[是否严格遵守:Boolean]"

depends="[验证器名称]">                    

                    <var value="$[变量名称]$"/>

                </validation>

            </validations>

        </formula>

        <formula>

            <!其他公式定义-

</formula>

</formulas>

<!--公式合法性验证全局验证定义,用于公式的验证-->

    <global-validators>

            <!--定义验证器的名称(name),

               是否严格验证(strict),

               提供者(provider,如果实现了IFormulaValidate接口,则可以得到要验证的公式的所有信息),

               方法名称(method,可以是静态方法)-->

        <validator     name="[验证器名称]" strict="[是否严格遵守:Boolean]"

provider="[验证器名称:Class]" method="[验证方法名称]">

            <methodParam param="java.lang.String"/>

            <comments>

                <!--验证出错时的提示信息-->

                <comment language="zh_CN">{0}必须小于等于{1}</comment>

                <comment language="zh_TW">{0}必須小{1}</comment>

                <comment language="en_US"> </comment>

            </comments>

        </validator>

    </global-validators>

</formulas_declaration>


2、 公式类型配置文件的结构

<?xml version="1.0" encoding="UTF-8"?>

<formulas_declaration>

    <datatypes>

        <type name="amount" origin="amount"/>

        <type name="content" origin="common"/>

        <type name="integer" origin="integer"/>

        <type name="booleanExpr" origin="boolean"/>

        <type name="string" origin="string"/>

        <type name="anytype" origin="anytype"/>

        <type name="accountTable" origin="string">

            <query>com.kingdee.eas.basedata.master.account.app.F7AccountTableQuery</query>

            <edit_fm>$number$</edit_fm>

            <display_fm>$number$ - $name$</display_fm>

            <commit_fm>$number$</commit_fm>

        </type>

        <type name="acct_item" origin="string">

            <selector>com.kingdee.eas.fi.rpt.client.AcctItemSelector</selector>

        </type>

        <type name="fix_cat" origin="string">

            <selector>com.kingdee.eas.fi.fa.basedata.client.FaCatPromptBox</selector>

            <edit_fm>$longnumber$</edit_fm>

            <display_fm>$name$</display_fm>

        </type>

        <enum name="enum_fix_type">

            <source> com.kingdee.eas.fi.fa.manage.FaCardOriginEnum</source>

        </enum>

        <type name="month" origin="date" max="12" min="-11"/>

        <enum name="boolean" origin="boolean">

            <entry name="false">

                <alias>

                    <local_name language="zh_CN"></local_name>

                    <local_name language="zh_TW"></local_name>

                    <local_name language="en_US">no</local_name>

                </alias>

            </entry>

            <entry name="true">

                <alias>

                    <local_name language="zh_CN"></local_name>

                    <local_name language="zh_TW"></local_name>

            

二次开发报表公式配置文件说明

二次开发报表公式配置文件说明概论1. 二次开发的意义 主要方便标准系统无法满足的数据需求,例如在报表系统系统取到房地产的销售数据。...
点击下载文档
确认删除?