Próbuję zaktualizować rekord za pośrednictwem interfejsu API SalesForce (Enterprise WSDL).Aktualizacja nie działa w interfejsie API SalesForce
Poniższy kod wykonuje polecenie dokładne, a komunikat saveResult zwraca informację, że operacja zakończyła się pomyślnie.
Jednak, gdy patrzę w SalesForce - rekord nie został zaktualizowany. Jedyne, co mogę wymyślić to to, że używam niewłaściwego identyfikatora - ale mam pięciokrotne sprawdzanie tego i sprawdziłem to ponownie, a następnie ponownie sprawdziłem.
Czy ktoś wcześniej napotkał coś takiego? Alternatywnie, będę bardzo zadowolony, jeśli ktoś może wskazać ten głupi błąd, że mam zapewne gdzieś :-)
sforce.Participant__c updateParticipant = new sforce.Participant__c();
updateParticipant.Id = participant.Id.Length == 15? participant.Id : participant.Id.Substring(0, 15);
if (updateType == "pre")
{
updateParticipant.Manual_Download_Date__c = DateTime.Now;
updateParticipant.Manual_Download__c = true;
}
else if (updateType == "post")
{
updateParticipant.Post_Class_Manual_Download__c = true;
updateParticipant.Post_Class_Manual_Downloaded_Date__c = DateTime.Now;
}
sforce.SaveResult[] result = SFLib.sfdc.update(new sforce.sObject[] { updateParticipant });
if (result == null || result.Length <= 0)
return false;
else
{
if (result[0].success == true)
return true;
else
throw new Exception("Update participant failed", new Exception(result[0].errors[0].message));
}
powinieneś podać odpowiedź poniżej i zaakceptować własną odpowiedź, aby uniknąć pozostawienia tego pytania otwarte. – mmix