如何在Open Execute Anonymous窗口正确执行ExternalDriveUploadRunAction类
正确的Apex调用方法
错误原因很明确:你试图将字符串类型的ID直接存入List<External_Drive_Upload__c>,但这个集合的元素必须是External_Drive_Upload__c对象实例,而非字符串,因此触发类型不匹配错误。
以下是几种可行的正确写法:
方法1:通过SOQL查询获取目标记录(推荐)
这种方式会验证记录是否存在,避免因无效ID导致后续错误:
// 替换为实际的External_Drive_Upload__c记录ID List<External_Drive_Upload__c> requests = [SELECT Id FROM External_Drive_Upload__c WHERE Id = '00Xxxxxxxxxxxxx']; ONOW_ExternalDriveUploadRunAction.execute(requests);
方法2:直接构造带ID的对象实例
若你确认ID有效,可直接构造对象实例存入集合:
// 替换为实际记录ID External_Drive_Upload__c targetRecord = new External_Drive_Upload__c(Id = '00Xxxxxxxxxxxxx'); List<External_Drive_Upload__c> requests = new List<External_Drive_Upload__c>{targetRecord}; ONOW_ExternalDriveUploadRunAction.execute(requests);
方法3:处理多个记录
如果需要批量处理多条记录,可扩展为:
// 构造多个对象实例 List<External_Drive_Upload__c> requests = new List<External_Drive_Upload__c>{ new External_Drive_Upload__c(Id = '00Xxxxxxxxxxxxx1'), new External_Drive_Upload__c(Id = '00Xxxxxxxxxxxxx2') }; ONOW_ExternalDriveUploadRunAction.execute(requests);
或者通过批量查询:
List<External_Drive_Upload__c> requests = [SELECT Id FROM External_Drive_Upload__c WHERE Id IN ('00Xxxxxxxxxxxxx1', '00Xxxxxxxxxxxxx2')]; ONOW_ExternalDriveUploadRunAction.execute(requests);
注意:所有代码中的'00Xxxxxxxxxxxxx'需要替换为你实际要处理的External_Drive_Upload__c记录的有效ID(15位或18位均可)。
内容的提问来源于stack exchange,提问作者Angret Hua
相关产品推荐
相关产品推荐

