force-app/main/default/classes/LastbuyProductHandler.cls | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
force-app/main/default/classes/LastbuyProductHandlerTest.cls | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
force-app/main/default/triggers/LastbuyProductTrigger.trigger | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
force-app/main/default/classes/LastbuyProductHandler.cls
@@ -33,6 +33,10 @@ ReservedPro(); } protected override void afterDelete(){ ReservedPro(); } private void ReservedPro(){ //1.新建或者更新产品后,若预留产品有效,“预留产品”标识为true if(trigger.isInsert || trigger.isUpdate){ @@ -63,10 +67,11 @@ //2.(1)"是否有效" 变为 false 检索产品主数据下的所有预留产品,全无效则把产品主数据的"预留产品"标识 变为 false // (2)"产品" 预留产品 更改 产品主数据之前的产品 -- 检索产品主数据下的所有预留产品(没有/全无效) // "预留产品"标识 变为 false if(trigger.isUpdate){ if(trigger.isUpdate || trigger.isDelete){ //"是否有效" 变为 "否" 时 所对应的产品主数据Id &&预留产品 更改 产品主数据之前的产品 List<Id> pfList = new List<Id>(); if(trigger.isUpdate){ for(LastbuyProduct__c lbp1 : newList){ LastbuyProduct__c oldLbp1 = oldMap.get(lbp1.Id); if(oldLbp1.effectiveFLG__c != lbp1.effectiveFLG__c){ @@ -79,6 +84,13 @@ pfList.add(oldLbp1.ProductName__c); } } } else if(trigger.isDelete){ for(LastbuyProduct__c lbp2 : oldList){ pfList.add(lbp2.ProductName__c); } } System.debug('lt123需检索所有预留产品的产品ID-pfList'+pfList); @@ -129,6 +141,7 @@ } } } } } force-app/main/default/classes/LastbuyProductHandlerTest.cls
@@ -42,6 +42,8 @@ lbp2.ProductName__c = pro.Id; update lbp2; delete lbp1; } } force-app/main/default/triggers/LastbuyProductTrigger.trigger
@@ -1,4 +1,4 @@ trigger LastbuyProductTrigger on LastbuyProduct__c (before insert, after insert, after update) { trigger LastbuyProductTrigger on LastbuyProduct__c (before insert, after insert, after update, after delete) { LastbuyProductHandler handler = new LastbuyProductHandler(); handler.run(); }