
# 问题背景
> 客户在英文环境时打开新流程中心的已办页面,操作方式列中有中文操作方式

# 解决方案
1. 使用查询分析器执行SQL查询到对应的function元数据名称。
```sql
//FASSIGNMENTID为显示中文操作方式的已办任务的ID
select distinct fbizpackage a,fbizfunction b FROM T_WFR_ASSIGNDETAIL where FASSIGNID = ?
```
**获取已办任务ID的简便方式**

2. 去查询分析器执行SQL查询对应的function元数据。

3. 去BOS设计开发工具中找到对应的元数据。元数据的路径就是查询分析器中得到的A,元数据名是B

4. 找到对应的文件之后修改对应的操作的多语言定义。


5. 修改完成之后保存发布。重启环境后生效。

# 检验是否为元数据未配置多语言的方法
1. 使用上方解决方案中方法去查看元数据是否配置。
2. 执行服务器脚本查看(在无法使用工具查看的时候)
**提示:**
1. 【?】为从查询分析器中查询到的A和B用“.”拼接的字符串;如:com.kingdee.eas.cp.bc.app.BizAccountFunction
2. 【index】为要找的元数据操作 在 从元数据获取到的操作 集合中的 位置索引。如:【提交】操作在com.kingdee.eas.cp.bc.app.BizAccountFunction操作集合中的位置为第一位,所以索引为0。
即对应的语句为:s1.getFunctionObject(com.kingdee.bos.metadata.MetaDataPK.create("com.kingdee.eas.cp.bc.app.BizAccountFunction")).getOperations().get(0).getAlias();
```java
//查看当前操作的名称
var s1 = new com.kingdee.bos.workflow.mdo.impl.MDOService(ctx);
s1.getFunctionObject(com.kingdee.bos.metadata.MetaDataPK.create(?)).getOperations().get(index).getName();
//查看操作在不同的语言环境下的别名
var s1 = new com.kingdee.bos.workflow.mdo.impl.MDOService(ctx);
s1.getFunctionObject(com.kingdee.bos.metadata.MetaDataPK.create(?)).getOperations().get(index).getAlias();
```
3. 使用类加载路径下载对应的元数据查看对应的文件内容。
1. 根据解决方案中查询到的元数据路径去下载对应的元数据文件。

2. 下载后解压对应的文件,并根据上一步的路径去文件夹中找到对应的function元数据。


3. 打开文件找到对应的操作项,看其是否设置了多语言字段。
可以看到在英文环境下没有设置对应的词条,我们可以使用上方的解决方案添加字段或者修改其他词语来替换当前词条。
