这两天有小盆有提到了一个需求,
说客户一直在用MacBook,
MacOS提供了一个标签功能,客户可以将一组散落在不同位置的,不同类型的文件,打上同一个标签,
之后可以很方便的管理同一标签的文件。
所以客户也想在Salesforce里面使用这种功能。
问我怎么办才好。
我问他,“你想怎么实现呢”
“我想,首先要确认都有哪些obj需要被打标签”
“很好,然后呢”
“然后,我可以在这些obj上都加上一个自定义字段,叫Tag,然后在所有的Layout上把这个Tag字段放出来。”
“唔。。。可以实现,但是,用户怎么查看都有哪些数据被打了相同的Tag呢?而且,如果多个用户都需要打Tag,怎么保证互不干扰,并且互相保密呢?”
“啊。。。。我想想,查看的话,我可以写一个VF,通过查询把所有的表都查一遍,多个用户就麻烦了。。。我想想。。。”
(过了半个小时)
我问道,“有想法了没?”
“有了!我不加字段了,那样不科学!”
“很好,那你想怎么做呢?”
“首先,我建一张表叫Tag__c。然后关联所有需要打Tag的obj。之后Sharing Rule设置成private。查看Tag的时候,用ListView进行过滤,把所有相同Tag名字的数据都显示出来。(得意)”
“那打标签的动作怎么解决。就是打算如何在数据上点一下就加上一个标签。”
“我打算用Quick Action或者自定义Button,将它们添加到所有的Layout上,这样在Detail画面直接点一下就能打上标签了。”
“那如果有个标签我想给所有人看呢?(坏笑)”
“那样的话我得用Sharing Rule,将Share to All Flag为True的数据Share给所有人。”
“累不?”
“累。。。。”
“你听说过标准Tag功能吗?”
“我就知道!!!”
标签,无论是在现实世界还是计算机世界,都是管理资源的良好手段。
所以Salesforce也原生提供了Tag功能,我们要做的,就是将其开启就好。
官方文档,点击这里
开启之后,查看标签的效果是这样的
点击[Personal Tags]之后
开启之后,在数据的详细画面上,可以点击右上的[Edit Tag]添加标签。
不过,Tag也不是无限打的,是有个数限制的
开启的方法为,
Setup -〉Build -〉Customize -〉 Tags -〉Tag Setting
开启Personal Tag之后,可以选择是否在Report等之上使用Tag,与显示Tag功能的PageLayout。
需要留意的是,Salesforce官方文档提到了两种Tag,分别是Personal Tag和Public Tag,
但是DE只能开启一种Personal Tag。
只有真正的Production才能开启Public Tag。
有了这个功能,用户可以跨越表关联,方便的管理一组数据了。
有同学质疑我的“一天一个”,我的意思是。。。。我花了一天时间才能写一个的。。。。