В настоящее время у меня проблемы с моим InboundEmailHandler в Salesforce. В настоящее время мы сохраняем все электронные письма, отправленные через EmailHandler, в объект, называемый журналом связи, который связан между контактами и учетными записями. Журнал сообщений содержит всю информацию из исходного электронного письма, включая / из / cc, тему, тело, вложения и т. Д. Имеется код для усечения длины данных, вводимых в поля, но в некоторых странных случаях создаются исключения, сообщающие о превышении максимальной длины (32000) поля RTF (тела) в журнале связи , Я пару дней чесал голову, пытаясь понять это.
Вот где поля усекаются:
строка truncatedBody = GetTruncatedString (messageLog.Body_ c, 32000);
messageLog.Body _c = truncatedBody;
Вот метод усечения:
открытая строка GetTruncatedString (строка currentValue, целое число maxLength)
{
строка truncatedString = null;
if(currentValue != null)
{
if(currentValue.length() > maxLength)
{
truncatedString = currentValue.substring(0,maxLength - 1);
}
else
{
truncatedString = currentValue;
}
}
return truncatedString;
}