金蝶EAS BOS 元数据介绍

元数据归类总结

解决方案

  • 解决方案是元数据的最大载体,对应于一个元数据集合。任一个元数据都必须归属于某个解决方案,譬如,EAS就是一个解决方案。

♢ ♢ 所有客户端加载的元数据都是加载 deployed_meta 文件夹下的元数据 这是文件夹发布以后自动生成的文件夹

  • 命名规则:不能是中文 而且只能是英文 而且是全小写
  • 如何建立:设计工具视图->右键新增包
  • 作用
    ☑ 提供了元数据的Namespace管理
    ☑ 提供了一种分类和查看的方式
    ☑ 类似于目录结构的一个树状模型
    ☑ 元数据必须属于且只属于一个包
    ☑ 包定义的名称必须与文件的命名一致
    ☑ 在定义期,包会映射到元数据存储的实际目录

实体介绍 Entity

  • 实体对象是元数据模型的核心内容,数据对象、查询对象、实体界面对象等其他对象均附属或依赖于它。

  • 实体对象是数据存储的一个逻辑视图,它对应于业务系统中的实体类。

  • 实体对象分类:
    •“常规”(Normal):是可永久存储的数据对象
    •“抽象”(Abstract):不定义与数据对象的映射,实体对象可以继承它

  • 自己新建实体的时候 要注意命名规范 首字母大写(否则不符合java开发规范)

  • 文件结构:分为8块 基础信息 属性 方法 事件 逻辑建 缺省视图 图形化编辑 源代码
    ① 基础信息

    ▶ 类实现信息:

○ 控制器bean是如何构建出来的?先创建实体 再配置是实体里的控制器bean 再发布...

♥ ♥ ♥ 不同情况 使用的控制器和请求方式不一样 分为以下两种情况:
  ① 客户端请求服务端 
      通过RPC请求(远程服务的调用)  即用到远程控制器(控制器Remote)
  ② 服务端调用服务端
      通过本地控制器(控制器Local)

不管是本地还是远程都是通过工厂类(实体名称+Factory)来实现的

♥ ♥ ♥ 如何在一个实体对象中调用另一个实体对象的方法?
  总的思路 : 首先通过工厂类拿到控制器 (工厂类->每个实体名称+Factory) 
            然后控制层在调用服务端代码  
            也就是利用了 反射机制 和 工厂方法模式 
  ① 客户端请求服务端 (远程服务控制器Remote)
   步骤 1、创建实体业务接口 
   步骤 2、调用具体实现类里的方法

//返回的是一个接口 (就是实体A的业务接口 (基础信息里看))
实体A名称Factory.getRemoteInstance().实体A的方法(传参)

  ② 服务端调用服务端(本地服务控制器Local)
   方法1、通过  this.方法名
   方法2、实现接口来调用  

实体A名称Factory.getLocalInstance(ctx).实体A的方法(传参)


  ▶ 扩展属性:
* 重要的两个属性: 是否使用编码规则(默认true) 以及 BOTP业务对象转换♥ ♥ ♥
* BOTP主要的作用:
  支持用户在各种业务单据间定义转换关系,并自动/批量地帮助用户将源单据转换生成目标单据,从而大大地减少业务人员的相关工作量;
    ♢ 主要功能,包括:
       1. 业务数据的自动生成:单据生成凭证,选单生成等
       2. 基于对象的数据交换:数据交换平台
       3. 关联关系建立与维护:自动建立并记录关联关系
       4. 反写及取消反写
       5. 关联数据的自动维护

假如规定实体要参与业务转换规则BOTP我们就要在扩展属性里面增加它 反之删除
假如规定实体不使用编码规则 (默认true),我就要修改值为false


* 如何修改 业务单元的所属的业务组织(主业务组织) ?♥ ♥ ♥
    方法1:业务建模视图->点开我们要修改的业务单元->右键点击界面->选单据信息->即可修改

    方法2:业务建模视图->右键我们要修改的业务单元目录选中查看关联元数据->点开具体的实体对象->修改扩展属性中的OrgType的值

② 属性

♥ ♥ ♥ 自有属性和关联属性最大的区别 ?
自有属性是基本数据类型 关联属性是引用数据类型 ?????不是很懂为啥

③ 方法
  ▶ 整体介绍:
方法发布完可以在,就会在基础信息里的 业务接口 里面自动生成,但我们不能直接找到,因为实体对象继承了多个父类,然后那些名字啥啥都自己新建的是在业务接口对应的,但是这里本来自带的在业务接口里就不对应了...(忘了) 总之,去观察一下就知道了。
  • 添加一个方法 的命名规则 :首字母小写,另外设置好别名、访问级别(访问修饰符)。

    ▶ 详细信息:

业务功能需要事务保护就一定要设置required
Required 要求有事务: 如果已有事务,则在当前事务中进行;如果没有,就新建事务;
RequiredNew 要求有事务: 不管原来有没有事务,都新建事务,在新事务环境中执行。
Mandatory 要求有事务: 如果原来没有事务,即抛异常。
Supports 可支持事务: 如果原来有事务,就在当前事务中进行;如果没有,就不新建事务,即可在事务环境中进行。
NotSupports 无事务: 如果原来有事务,则先挂起事务,继续在无事务环境中执行; 如果原来没有事务, 则可继续执行。
Never 不支持事务: 如果原来有事务,则抛异常; 如果没有,则可继续执行。

④ 事件   配置工作流的时候需要使用  平时不太用的上


⑤ 源代码
   源代码就是实体发布以后生成的xml文件 

select newBosid(“bodType唯一标识”) from dual // 通过这个来找到我们指定的实体

实体关系 (以 .relation 结尾的文件)

  • 命名规则:R_源对象名称_目标对象名称_字段名称
  • 怎么通过实体关联属性找到他的目标对象?
    Ctrl+点击 SupplierEntity 文本框部分 可实现跳转

数据表

  • 可以称为数据对象,数据表可以对应于关系数据库中的数据表,是物理模型,相对的ER模型是逻辑模型。
    ◐ 数据表的2种建立方式:
    ✔ 手工新增…
    命名规则:CT_实体前三个英文字母_实体名称
    (实体名称过长就拼接实体的每个单词的首字母)

    ✔ 从数据库导入…
    首先必须准备好 导入需要的sql文件
    其次 按照下图操作:

查询(以 .query 结尾的文件)

  • 查询是实体的查询视图,可以在数据访问过程中只获取视图中指定属性的数据,并按照过滤、排序条件进行数据的过滤和排序
  • 查询的数据组织形式是二维模型的,可以分为:连接查询、联合查询

** 注意下图蓝字解析 另外蓝字解析是针对1个单头和1个分录来说的
假如有1个单头 2个分录(这两个分录没有关联) 我们的主键定义部分不能写3个id
写三个id是无法实现的 因为无论如何都会产生多余的笛卡尔积 统计条数都不对

【tips】* 主键设置错的话 前端页面可能会出现 还有数据却滚动不下去。
* 单头579条 单头+分录1995条
如果 主键只定义单头主键
那么 数据只有579条 两个都加才有1995条。

【现在我们双击 entries.id 添加别的字段 到计算式下方的框框中并设置计算式为#1 如图3 最后可以看到SQL代码如图4】

【接下来可以修改计算式 查看SQL效果 这里分别修改计算式为#0 or #1 效果如图5 修改计算式为#0 and #1 效果如图6 但是这样的sql语句都是错误的 只是为了效果查看才这样子写 计算式应该是定义 我们指定字段 显示的值是怎样的?因为写成#0+#1 不会有语法错误 只是没东西显示…】

  • 列表所有数据都是用query查的

  • 如何修改该页面 选项卡代码中sql代码?

    步骤:
    【修改连接符】
    切换至 文件结构-> 定义(下方选项卡)操作
    首先找到需要修改的子对象,双击会跳出窗口,选择连接类型进行修改。
    默认 inner join in 内连接
    父对象所有行 letf join in 左连接
    子对象所有行 right join in 右连接

    【修改查询Select后现实的字段】
    切换至 文件结构-> 字段(下方选项卡)进行操作即可


♣ 假如数据库有一条数据A 而列表上没有数据A 出错的地方大致有两个:
① 我们先把query文件我们需要的代码复制到金蝶EAS客户端中的查询分析进行查询
a、假如查得到数据没有报错 说明是 权限问题
b、假如查询不到 70-80%可能是 SQL语句中连接类型有错误

A left join in B
3条 a1 b1 | a1 b2 | a2 null
A right join in B
2条 a1 b1 | a1 b2


业务功能 Function

  • 是对Entity对象、UI对象的方法提供封装,供其他模块或二次开发使用(目前业务功能的主要使用对象为工作流)
  • 命名规则:首字母大写+Function结尾
  • 如何新建:设计工具视图->右键单击新增->选择业务功能
  • 文件结构:分为3块 基础信息 操作定义 源代码
① 基础信息: 定义名称和别名 

② 操作定义:是整个业务功能的核心

      ♦ 操作列表:列举了每个操作,点击列表任意一项 右侧可以看到对应操作的详细信息。
    ♦ 详细信息:这些操作的具体描述如:名称、别名等 
    ♦ 引用(配置哪个页面需要引用这个操作):用来设置操作的引用信息 包括UI及实体、事件的引用。引用包括实体引用和业务引用。
      ♡ 提交操作和审核操独特的区别?  
            “ 提交需要引用界面对象 审核不需要引用界面对象 ”
        因为在editUI并没有提交按钮,所以只能通过绑定事件进行提交。
        但有审核按钮,所以不需要绑定。(大概好像是这样..)

PS: 整个业务功能是为我们的工作流服务的,工作流配置一般是由实施人员进行配置的

功能 Facade

  • 是一个public方法的集合类,是用以定义类似“凭证过账”操作的与实体无关的逻辑方法
  • 命名规则:首字母大写+Facade结尾
  • 如何新建:设计工具视图->右键单击新增->选择功能
  • 文件结构:分为3块 基础信息 方法 源代码
    ① 基础信息:和实体很像 也有一个类实现信息 但它少了一个对应的表对象和子对象类等 也就是没有实体这么多的文件结构 (需要关注业务接口和控制器bean)
    ② 方法:也是和实体一样可以创建方法 然后保存发布属性 (新建方法会被创建在业务接口里面 存在完以后我们就自己去实现它 ;新建方法会在控制器bean里面被重写),另外里面的事务属性和实体的是一样的,当业务功能需要事务保护就一定要设置required

☆ editui和listui投如何调用控制器bean里面的方法?
功能名Factory.getRemoteInstance().方法名

枚举 Enum

  • 枚举值的类型可以是:Integer、Long、Float、Double、String
  • 命名规则:首字母大写+Enum结尾 (只要源数据要生成.java文件都要首字母大写)
  • 如何新建:设计工具视图->右键单击新增->枚举 一定要创建在app和client的同级目录下面
  • 文件结构:分为2块 枚举定义 源代码
    ① 枚举定义:
  • 发布的类名:也就是发布完以后生成的.java文件 所在的地方

  • 值定义(一个枚举可以定义多少个值) 名称大写命名 值建议用数据

枚举对象一旦定义完以后枚举的值就不可以变了
因为它全局变量使用的是static final

♥ 比较某个枚举值是不是等于男?(两种方式)( 注意用equals还是== 尽量用equals)
方法1、通过 枚举 的值 也就是我们定义的Sting类型的全局变量比较 (值比较)
//自己创建枚举对象 TestEnum a 取到他的值来比较
//XXXEnum本类名 xx是Sting类型静态变量
XXXEnum.XX.equles(a.getValue())//XXXEnum对象

方法2、用final修饰的枚举值对象(枚举类创建的一个构造器)(引用比较) 

 固定值写在equals前面 变量写在equals后面

异常 Exception

  • 异常元数据提供异常信息的规范化和多语言显示
  • 自定义的异常类信息,包括异常号、错误信息等
  • 命名规则:首字母大写+Exception结尾

权限

  • 如何创建:左上方菜单选项卡 方案 点击权限管理
  • 文件名: .permission结尾
  • 常规的权限管理区创建权限项,可以选择绑定业务单元也可以不选择,我们有两种实现方式。

方法1:我们就可以点击 新建权限项 里创建
方法2:设计视图中bim.permission文件中添加

每一个权限的上级都要有一个包,用于更好管理好每个权限(和建立业务单元是一个道理)

自定义的权限项名字:别名一定要是中文 名称可以使英文

bim.permission是系统自带的 一个系统会有很多个permission 我们不要把所有权限都放到bim.permission 中 我们可以为每个部分创建一个单独的权限文件 (PS.权限管理->我们可以选择我们自己独立创建的权限文件/也可以不选(新建权限项默认在bim.permissio中)

日志

  • 日志文件是用来记录事务对数据库更新操作的文件
  • 如何创建:左上方菜单选项卡 方案 点击日志管理
  • 文件名: .log结尾
  • 日志管理中添加的日志项,想要添加到非默认的bim.log文件下的画
    话只能设计视图里面的窗口新建完以后一个新的log文件再一个个添加

多语言资源

  • 多语言资源的值定义,采用字典形式存储多远信息
  • 根据解决方案中定义的语言种类,在多语言资源中增加相应的语言信息定义
  • 文件名: .resources结尾
  • 系统支持英文、简体中文、繁体中文
    这里需要注意的是eas实体中属性的name如果勾选了多语言属性
    数据库中对应的字段里不是以FName存储了
    而是以 FName_l1 FName_l2 FName_l3 存储的 L1英文 L2简体中文 L3繁体中文
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 金蝶EAS Cloud8.2是一款企业级的云端管理软件,而数据字典是其中的一个重要功能。 金蝶EAS Cloud8.2数据字典是一个用于管理和维护数据定义的工具。它提供了一个集中的存储库,用于存储与企业相关的所有数据对象的定义,包括表、字段、索引、约束等。 通过金蝶EAS Cloud8.2数据字典,用户可以实现对数据的全面管理。首先,它可以帮助用户对企业中存在的数据对象进行分类和组织,使得用户可以更加方便地查找和管理这些信息。同时,数据字典还可以记录数据对象之间的关系,帮助用户更好地理解和分析数据。 此外,金蝶EAS Cloud8.2数据字典还提供了一些其他的功能,如数据词典的导入和导出、数据词典的版本控制、数据词典的搜索功能等。这些功能的提供进一步提高了用户在金蝶EAS Cloud8.2中对数据的管理和利用的效率。 总的来说,金蝶EAS Cloud8.2数据字典是一款强大的工具,能够帮助用户对企业的数据进行全面有效的管理和维护。通过它,用户可以更好地了解和利用企业的数据资源,从而提升企业的运营效率和决策水平。 ### 回答2: 金蝶EAS Cloud8.2数据字典是金蝶公司开发的一款软件产品,用于管理和维护企业的数据信息。 首先,数据字典是一个记录数据定义、结构和关系的工具。金蝶EAS Cloud8.2数据字典为企业提供了一个集中管理、共享和查询数据的平台。它可以帮助企业建立一个统一的数据字典,从而实现数据的标准化和一致性。 其次,金蝶EAS Cloud8.2数据字典具有丰富的功能。首先,它可以描述和记录企业的数据定义,包括数据表、字段、数据类型等。其次,它可以定义数据之间的关系,比如一对一、一对多、多对多等关系。此外,它还可以记录每个字段的约束条件,如唯一性、非空等。 金蝶EAS Cloud8.2数据字典还提供了数据的查询和报表功能。通过数据字典,用户可以方便地查询和查看数据的定义和关系。同时,数据字典还可以生成数据字典文档,以便用户进行文档管理和数据交流。 此外,金蝶EAS Cloud8.2数据字典还具备多用户协作的功能。它支持多用户同时编辑和维护数据字典,可以实现数据字典的共享和协同工作。 总之,金蝶EAS Cloud8.2数据字典是一款功能强大的企业数据管理工具。它不仅可以帮助企业统一数据标准,提高数据质量,还可以提升数据交流和共享的效率,是企业数据管理的重要工具。 ### 回答3: 金蝶EAS Cloud8.2数据字典是一种用于管理和维护企业应用系统中数据的工具。它可以帮助用户清晰地了解企业系统中使用的数据对象以及它们之间的关系。该数据字典可以包含各种信息,如数据对象的名称、描述、字段定义、数据类型、输入规则和数据关系等。 金蝶EAS Cloud8.2数据字典的主要功能包括: 1. 数据对象管理:用户可以通过数据字典来管理企业应用系统中涉及的所有数据对象。可以添加、删除或修改数据对象,并对其进行分类和归档。 2. 字段管理:数据字典还提供了字段管理功能,用户可以查看每个数据对象中定义的字段详细信息。其中包括字段名称、类型、长度、精度、默认值、输入规则等。 3. 数据关系管理:数据字典提供了数据对象之间的关系管理功能。用户可以查看数据对象之间的关联关系,例如主表和子表之间的关系。这样用户就能更好地理解不同数据对象之间的数据流向。 4. 数据字典搜索:用户可以通过关键字搜索想要查找的数据对象,字段或数据关系。这样可以节省时间和精力,快速定位到目标数据对象。 5. 数据字典共享:金蝶EAS Cloud8.2数据字典支持多用户共享。不同用户可以根据权限设置,共同编辑和查看数据字典。 总之,金蝶EAS Cloud8.2数据字典是一个强大的工具,可以帮助企业管理和维护其应用系统中的数据。通过使用数据字典,用户可以更好地理解数据结构,提高数据管理的效率,确保数据的一致性和准确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值