gpt4 book ai didi

triggers - 如何在运行测试类时停止执行托管触发器?

转载 作者:行者123 更新时间:2023-12-04 19:16:25 24 4
gpt4 key购买 nike

通常,当触发器运行时,我们会检查用户的配置文件类型,如果是我们不希望触发器运行的类型,那么我们会在运行任何其他代码之前退出触发器。

问题:我们安装了一个从其他公司购买的 SF 包,它的所有代码对我们都是不可见的,并且不可编辑。除了通过 UI 手动禁用它们之外,我们如何阻止其中一些触发器运行?我想在运行测试类时暂时禁用它们。

正在考虑做这样的事情,但收到一条错误消息“ApexTrigger 上不允许使用 DML”。

ApexTrigger at = [select id from ApexTrigger where name='SomeTriggerName'];
at.status = 'Inactive';
update at;

最佳答案

我试过做类似的事情,但卡住了。我不相信有一种方法可以在不让受管软件包的所有者更新 Apex 代码的情况下完成您的要求。

您在问题之前列出的方法是一个很好的解决方案;我建议使用 Custom Settings此外,虽然。您可以建议触发器的所有者/开发人员在执行触发器之前实现自定义设置检查。这是我可以为我自己的一些触发器提出的最佳解决方案。

如果可以更新 ApexTrigger 对象就好了,但 Salesforce 不允许。

关于triggers - 如何在运行测试类时停止执行托管触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9023394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com