注意:有一个教师对象,其字段包括“教师名称”、“DateofJoining”,还有一个名为“体验我的任务”的公式字段,其任务是创建一个由另一个用户组成的公共组,此用户只应看到经验超过2年的教师,但当我根据标准创建共享规则时,名为“经验”的字段名不会出现,因为它是一个公式字段。
因此,我有了一个想法,创建一个新的字段(可能是文本或数字数据类型),它将具有经验的价值。(但我不知道如何实现这一点)
有没有办法实现这一点?任何其他解决方案也是非常感谢的!
发布于 2022-08-21 17:48:55
很难说。
通常的诀窍是创建一个助手字段(文本、数字等),并具有填充它的功能。理想情况下,“早期流”或“插入之前,更新之前”触发。最坏的情况是正常流、进程生成器或“插入后,更新后”触发器。有点像"if Experience__c != 'your formula here' then Experience__c = 'your formula here'“。如果您从未使用过早期流动,请咨询普通的SF帮助和trailhead
您将进行一次性的数据修复,以填充现有记录和已完成的工作,正常字段应该作为共享规则标准来选择。
=====
但我闻到你的配方有问题了。你到底有什么,比如Experience__c = (TODAY() - DateofJoining__c) / 365?有点邪恶。包含今天()、现在()或任何带有$的公式(粗略地说是谁在查看数据、用户名、配置文件角色.并不是记录本身的实际内容)是“不确定的”。不可预测。
“the ()”就这样变化,而不更新记录。当然,当您查看记录时,会计算出一个新的值,但是除了LastModifiedDate不会改变之外,没有什么神奇的触发器在午夜运行,可以重新检查共享。(特别是没有一个午夜,您可以有多个时区的用户)。SF只是在许多地方不允许非确定性字段,请参阅https://salesforce.stackexchange.com/q/32122/799
因此,如果您在公式中确实依赖于今天(),您可能不得不创建一个“计划流”,或者阅读有关可调度的、可击的顶点的内容。创建将运行的夜间作业,并以正确的经验重新计算您的助手字段。您甚至可能需要这两种解决方案,为今天创建的新数据提供“先保存”流,并在现有旧数据上提前时钟的夜间作业。
https://stackoverflow.com/questions/73427223
复制相似问题