После многих попыток понять причину возникновения этой ошибки я, наконец, преуспел.
Когда я начал работать над этим проектом, клиент поручил мне протестировать, используя только определенный контакт, потому что мы работалинепосредственно на производственной среде.(у клиента еще нет среды разработки)
После выполнения некоторых запросов к базе данных для сравнения этого контакта с другими (обновления не удавались только для тестового контакта), я заметил, что атрибут address2_addressid
моего контакта имеет значение NULL.
Затем я перешел в CRM под Настройка \ Настройка Сущности и открыл контактную сущность.В разделе атрибуты я упорядочил по типу и увидел, что контакт имеет 3 primarykey
атрибутов: contactid
, address1_addressid
и address2_addressid
.
Поля address1_addressid
и address2_addressid
тестового контакта имеют значение NULL.и это заставило веб-службу CRM выдать 0x80040216 Произошла непредвиденная ошибка.Платформа ошибка при попытке обновить любое из полей адреса.
Я не знаю, почему у этого контакта были установлены идентификаторы NULL, я спросил, и у человека, который создал контакт, не было объяснениякак это могло случитьсяЯ предполагаю, что это останется загадкой, но по крайней мере у меня теперь есть ответ на ошибку, которую я получил, и я могу обслужить это в своем коде.