类似如下: trigger CallLineItemRename on Call_Line_Item__c (before insert, before update) { // this triger renames the call line item id to be // the specified inventory item name or the product name List<Call_Line_Item__c> callItems = new List<Call_Line_Item__c>(); callItems = Trigger.new; for (Call_Line_Item__c callItem : callItems) { //check if inventory or product was specified if (callItem.Inventory_Item__c <> NULL) { callItem.Name = callItem.Inventory_Item__r.Name; callItem.Name = 'inv item name'; } else if (callItem.Products__c <> NULL) { callItem.Name = callItem.Products__r.Name; } } update callItems; } 处理方法: 把如上操作放在@future方法中即可。 如出现future method cannot be called from a future or batch method trigger 参见: http://blog.csdn.net/u011030936/article/details/10931545
DML statment cannot operate on trigger.new or trigger.old
最新推荐文章于 2017-08-21 12:16:23 发布