gpt4 book ai didi

Salesforce 工具 API - 停用触发器

转载 作者:行者123 更新时间:2023-12-01 06:25:34 24 4
gpt4 key购买 nike

我正在尝试使用工具 API 停用触发器。我在开发人员 ORG 中取得了成功。但无法在真正的开发者组织中做到这一点。这是 Salesforce 工具 API 错误吗?

这是算法的基础,

  • 创建具有唯一名称的 MetadataContainer
  • 保存元数据容器
  • 创建一个 ApexTriggerMember 设置 Body、MetadataContainerId、ContentEntityId 和 Metadata[apiVersion=33.0 packageVersions=[] status="Inactive"urls=nil>]
  • 修改元数据["status"]="Inactive"
  • 保存 ApexTriggerMember
  • 创建/保存 ContainerAsyncRequest
  • 监控容器直到完成。
  • 适当时显示错误

  • 在沙箱中,我在重新查询 Apex 输入代码 hereTriggerMember 后确认只读字段“内容”看起来合适。我还确认 MetadataContainerId 现在指向状态为“已完成”的 ContainerAsyncRequest

    这是我的结果,它似乎是成功的,但 ApexTrigger 从未停用
    ContentEntityId = 01q.............[我要停用的 ApexTrigger]
    Content="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
    <ApexTrigger xmlns=\"urn:metadata.tooling.soap.sforce.com\">
    <apiVersion>33.0</apiVersion>
    <status>Inactive</status>
    </ApexTrigger>"

    Metadata={apiVersion=33.0 packageVersions=nil status="Inactive" urls=nil> attributes= {type="ApexTriggerMember"
    url="/services/data/v33.0/tooling/sobjects/ ApexTriggerMember/401L0000000DCI8IAO"
    }

    }

    最佳答案

    我认为您需要将非事件触发器从沙盒部署到生产。您不能简单地在生产中停用触发器。即使在 UI 中也是如此。

    还有其他选项,例如使用自定义设置或元数据类型来存储运行/不运行值。您将在触发器中查询该值以决定是否运行它。

    https://developer.salesforce.com/forums/?id=906F0000000MJM9IAO

    关于Salesforce 工具 API - 停用触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29240952/

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