如何在删除记录时更新相关记录字段?

问题描述 投票:0回答:1

我有 2 个基于查找关系的对象,即 1) 分配 2) 库存。

关系是 1 个库存可以分配给多个(1 对多个)。

库存具有称为“状态”的选项列表值,其中包含 2 个值,即“已分配”和“备份”。因此,当分配任何库存时,值将从“备份”更改为“已分配”。

每当删除分配对象的任何记录时,自动关联的对象(库存)字段“状态”应从“已分配”更新为“备份”。

否则我将需要手动更改库存对象的状态 每当从分配中删除任何记录时,“分配”到“备份”,这是我不想要的。

我尝试了流程,但我很困惑到底应该选择哪个选项。作为参考,我附上了按扣。enter image description here enter image description here enter image description here

salesforce salesforce-lightning salesforce-communities simple-salesforce
1个回答
0
投票

您需要使用 BEFORE DELETE 上下文创建触发器。

trigger Assign on Assign__c (  before delete ) {

  if( Trigger.isBefore )
  {
    if( Trigger.isDelete )
    {
      List< Inventory__c > lstInventory = [Select Id, Status__c From Inventory__c Where Assign__c =: newMap.kseyset()];
      for( Inventory__c i : lstInventory ){
        i.Status__c = 'Backup';
      }
      update lstInventory;
    }
  }
 }

如果不尝试使用 oldMap,则需要检查当删除记录上下文被触发时 newMap 是否已填充。

不要忘记使用最佳实践来开发代码。

希望能帮到你。

© www.soinside.com 2019 - 2024. All rights reserved.