我想创建一个触发器和/或类来计算Salesforce.com中longtext字段中的换行符数。
如果我更改调试消息而不是将commentsLength写入自定义字段,这个逻辑是否会起作用?
public with sharing class TaskCommentsCount {
Integer commentsLength = 0;
for(Task t : [Select Comments From Task]){
List<String> lines = t.Comments.split('\n');
commentsLength += lines.size();
}
system.debug('Comments lines: ' + commentsLength);
}
答案 0 :(得分:1)
你的触发器/类的年龄是多少?今年的某个时间(Spring'13发布?)String
课程获得了重大升级,我们现在有了countMatches()
方法。
也许您只需升级API版本即可在触发器中使用它。
答案 1 :(得分:0)
我假设您已将此逻辑更改为在触发器中工作。
逻辑上,您的拆分应该有效,但您需要稍微重新架构以处理批量交易。你最好的选择可能是“在插入之前,在更新之前”。然后,您的伪代码将是:
Loop over Trigger.new
Split on \n
Set comment_length field to size of collection
通过使用之前,只要您处理Trigger.new中的元素,就不必显式地进行后续保存调用。此上下文还允许您处理具有多于1个任务的触发器。