交叉对象字段(领料单)更新

时间:2014-01-20 11:08:39

标签: triggers salesforce apex-code

任何人都可以帮我编写跨对象字段更新的触发器。

对象:Booking__c字​​段:Booking_Type__c(是一个选项列表)

对象:Booking_Item__C字段:Booking_type__c(也是一个选项列表)

要求是,当预订 _c 的状态(Booking_Type_ c)被选为已取消状态时 Booking_item__c 的(Booking_Type__c)也应更新为已取消

任何帮助将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:0)

我想假设您的对象具有以下关系

Booking_item__c.Booking__c(Booking_item_ c记录查找预订 _c)

Trigger Booking on Booking__c (after insert, after update) {
    Set<Id> cancelledBookingIds = new Set<Id>(); 
    for (Booking__c booking: Trigger.new) {
        if (booking.Booking_Type__c == 'cancelled') {
            cancelledBookingIds.add(booking.id);
        }    
    }
    List<Booking_Item__c> bookingItemsForCancelling = [SELECT Booking_Type__c
                                                       FROM Booking_Item__c
                                                       WHERE Booking__c IN: cancelledBookingIds];
    for (Booking_Item__c item: bookingItemsForCancelling) {
        item.Booking_Type__c = 'cancelled';
    }
    update bookingItemsForCancelling;
}