Я только что получил исключение по электронной почте сценарий разработчик триггера я получил в производственной среде:Apex сценарий необработанное исключение триггера Salesforce
Apex script unhandled trigger exception by user/organization: 00590000002GfMD/00D90000000cIze
SetContactDonorCampaign: execution of BeforeInsert
caused by: System.DmlException: Update failed. First exception on row 0; first error:
MISSING_ARGUMENT, Id not specified in an update call: []
Trigger.SetContactDonorCampaign: line 25, column 1
ошибка не дает мне никакого идентификатора для записи это не удалось, что немного раздражает. Сам триггер просто распознает, когда запись Payment_Information__c создается с заполненным контактом Contact__c, и задает подборку с несколькими выборами для этого контакта, чтобы включить «Донор», если этого еще нет.
trigger SetContactDonorCampaign on Payment_Information__c (before insert,before update) {
for(Payment_Information__c donation : Trigger.new)
{
Contact reg = new Contact();
if(donation.Contact__c != NULL)
{
reg = [SELECT id, Campaign__c FROM Contact WHERE Id = :donation.Contact__c];
String regCampaign = '';
if (reg.Campaign__c != NULL)
{
if (!reg.Campaign__c.contains('Donor'))
{
regCampaign = reg.Campaign__c + ';Donor';
} else {
return;
}
} else {
regCampaign = 'Donor';
}
reg.Campaign__c = regCampaign;
}
if (reg != NULL)
{
update reg;
}
}
}
Без конкретной записи смотреть вверх (система даже не имеет записи информации платежа с измененной датой согласования этой ошибки), любые предложения о том, что здесь провал?
Вы вызываете это перед тем вкладышем, в перед тем вставить фактическую вставку в не совершала, так что, возможно, возможно, что не имеют идентификаторов полей контакта объекта. и ваш контактный объект не имеет значения ни в каких условиях, потому что вы добавили «Contact reg = new Contact();» в вашем коде. –