Salesforce 使用apex将子类型ListMail的任务从一个联系人移动到另一个联系人

Salesforce 使用apex将子类型ListMail的任务从一个联系人移动到另一个联系人,salesforce,apex,Salesforce,Apex,我们试图在触发器中将任务从一个联系人移动到另一个联系人。该任务由ListMail功能创建 如果重新分配WhoId,则会出现异常。例外情况: 更新失败。第0行id为00T1N00002TXv3jUAD的第一个异常;第一个错误:字段\完整性\异常,与ID有关:类型不正确的ID值:0XB1N000000XaCuWAK:[WhatId] 这是示例代码: List<Task> task = [SELECT Id, RecordTypeId, WhoId, WhoCount, WhatCount

我们试图在触发器中将任务从一个联系人移动到另一个联系人。该任务由ListMail功能创建

如果重新分配WhoId,则会出现异常。例外情况:

更新失败。第0行id为00T1N00002TXv3jUAD的第一个异常;第一个错误:字段\完整性\异常,与ID有关:类型不正确的ID值:0XB1N000000XaCuWAK:[WhatId]

这是示例代码:

List<Task> task = [SELECT Id, RecordTypeId, WhoId, WhoCount, WhatCount, Subject, AccountId, TaskSubtype, AccountId__c, EmailListWhatID__c FROM Task where Id ='00T1N00002TXv3jUAD'];

system.debug('task = ' + task);
Task tk = task.get(0);
tk.WhoId = '0031N00001UvZDpQAN';
database.update(tk);
List task=[从任务中选择Id、RecordTypeId、WhoId、WhoCount、WhatCount、Subject、AccountId、TaskSubtype、AccountId\uuuu c、EmailListWhatID\uu c,其中Id='00T1N00002TXv3jUAD'];
system.debug('task='+task);
Task tk=Task.get(0);
tk.WhoId='0031N00001UvZDpQAN';
数据库更新(tk);

鉴于该异常与WhatId相关,我怀疑前缀0XB所指的自定义对象类型是什么,它在对象元数据上没有活动的Allow活动。

这里没有涉及自定义对象。0XB1N000000XaCuWAK属于ListMail,允许在其上进行活动。