使用多种方式导出Salesforce Object Definitions对象定义表

前言】:前段时间被一位刚入行的同学私信问到"如何快速导出ERD和对象定义表"的问题,KT一波后,明显感受到那位同学使用高效工具后的喜悦(至少节省了大半天的时间)。如果说我们把工具带来的高效视为利己,那么如何进一步做到利他呢?正好最近很幸运地被问到一个问题,让我有机会思考项目实施中如何做到利己又利他。

背景】:Admin反映客户某个对象A上有1,2,3,4,5个记录类型,每种记录类型对应使用着不同字段,很早前(上上个接手团队T1)为了很好区分哪个字段是用于哪个记录类型的,如在记录类型1,2上有意的在创建字段时加了前缀如1/2_fieldApi。那么对于上个接手团队T2新增的记录类型4,5,就没有这种机制了。所以等我们接手扩展字段时,Admin并不能很好的识别哪个字段用于哪个记录类型,当然客户也不太清楚。所以为了很好的避免新增通用字段F1,2可能会被其他记录类型用到,所以并不推荐沿用以前的加前缀的方案,那为何不遵循创建字段的最佳实践通过备注Description来表明用途呢?当然我们也可以很方便的在线下维护一张表,这样就可以方便到内部团队和当前对接的客户,那一旦面临离职和下个同事接手,这类问题很可能将被重演。

解决方案】:

1. 增加Description描述;
2. 通过Report展示带Description的对象定义表;
3. 分配字段到Page Layout时,参考对象定义表的描述识别哪些字段是特别用于哪些记录类型。

效果预览】:

关键步骤】:

1. 创建自定义Report Type
Primary Object: Entity Definitions
Label: Metadata Definitions
Description: Report type to get a list of object and fields metadata

B: Field Definitions

2. 创建自定义元数据Report
New Report
Select Report Type: Metadata Definitions
Filter: Created Date = All Time & Label = Contact
Columns(field definition): Label / Qualified API Name / Data Type / Length / Scale / Precision / Field Usage / Is Field indexed? / Is Field History Tracked / Is ForeignKey Polymorphic? / Description / Last Modified Date
Group By(object definition): Label
Save & Run: Contact Metadata Definitions / Description: Contact object and it's field metadata / Private Reports

3. 预览与导出Report

【复选方案】:

竟然可以用Report导出对象字段定义表,作为Developer是不是也可以按需通过SOQL来查出结果呀?
答案是一定的。如下图:

SELECT Id, Label, DeveloperName, QualifiedApiName, Length, Precision, Scale, Description, FORMAT(LastModifiedDate) FROM FieldDefinition WHERE EntityDefinition.Label = 'Contact'


感悟通过观察ID,我们发现SF暂时还不支持通过类似Data Loader的方式快速批量更新字段定义表。但为了减轻Ad hoc,我们仍然对这一点抱有期待!

其他工具】:
Lucidchart - 用于手动创建ERD,画出对象间的关系即可,标注哪些是标准对象,哪些是自定义对象,哪些是工具对象
Salesforce DevTools - 主要用于导出Object Field Definitions和ERDs(除显示对象关系外,还包含关键关系字段)

插件视图:

选定对象导出后的object overview:

对象字段定义信息(不含Description):

工具比较】:我们依然借助上边背景信息作为载体来比较DevTools和Report在制作对象字段定义表时的优缺点。

 DevToolsReport
PROS

1. 导出的Excel有很好的分类且精美,达到了可直接交付客户的标准;

2. 适用于数据集成(如Number精度,DB必填性,Picklist可选值)和文档交付时的数据字典参考; 

1. Admin和经过Report培训的客户采纳度高

2. 可高度自定义满足一些特殊需求; 

CONS

1. 用户无法自定义表头信息,不能满足特别需求(如Description没法显示);

2. 有学习成本,客户可能比较排斥使用该工具;

1. 需要额外优化导出的报表;

Next】:如何快速创建数据模型并批量修改字段定义信息?

Force.com开发人员的强大工具包,包括查询编辑器,Apex代码,SFDC ERD,对象定义生成器等。 Salesforce DevTools是一个简单但功能强大的Force.com开发人员扩展插件,用于执行以下操作: Salesforce数据模式(ERD)生成器。 强大的Apex调试日志查看器。 ·易于将对象导出定义到Excel文件。 在Salesforce对象详细信息页面上显示字段API名称。 ·快速生成Apex代码/ SOQL。 ·快速访问任何对象的新记录页面,列页面和对象设置页面。 ·个人资料编辑页面和字段权限编辑页面上的所有检查/选择。 <日本> Salesforce DevTools是为Force.com开发人员开发的一个Chrome扩展,具有以下功能: ·Salesforce数据模型(ER图)自动生成功能 ·强大的Apex调试日志查看器 ·一次性自动生成对象定义(Excel)的功能 ·对象的API参考名称的显示/不显示功能 ·可以使用的测试代码·SOQL的快速自动生成功能 ·对象快速访问功能更容易地打开新的,列,设置页面 ·配置文件编辑·项目级安全编辑所有页面,选择所有功能 ++++++++++++++++++++++++++++ 发行说明 ++++++++++++++++++++++++++++ 二零一七年十月一十一日 ·改进了调试日志查看器UX。 -------------------------------------- 2017年5月29日 ·增加了查询编辑器和CSV数据导出功能。 -------------------------------------- 2017年4月23日 ·增加了ERD发生器的功能。 -------------------------------------- 2017年2月6日 修复错误 -------------------------------------- 2017年1月30日 ·增加了SOQL生成器和Apex调试日志查看器的功能。 -------------------------------------- 2016年12月20日 ·修正了出口Excel的错误。 -------------------------------------- 2016年12月6日 ·改进的用户界面,修复错误 -------------------------------------- 2016年11月25日 ·新增功能,允许您在自定义域上启用它。 -------------------------------------- 2016/08/21主要发布 ·增加了将对象定义导出到excel文件的功能。 -------------------------------------- 2016年5月18日 ·增加了对Visualforce页面的支持。 -------------------------------------- 2016年4月4日 ·增加了对象搜索和对象快速访问的功能。 -------------------------------------- 2016年3月31日 ·增加了对生成顶点代码包括空白字段的支持 -------------------------------------- 2016年3月28日 ·增加了对RecordType的支持 ·添加了关于快速访问菜单关闭的提示 支持语言:English
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值