enter image description here

Я пытаюсь вставить данные из стандартного объекта FlowInterview в пользовательский объект.

Но это выдает ошибку, как показано ниже, для всех карт fieds.

Ниже мой код

public class FlowInterviewHandler implements Database.Batchable<sObject> { 

public Database.QueryLocator start(Database.BatchableContext bc) { 

     return Database.getQueryLocator(             'SELECT CreatedById,CreatedDate,CurrentElement,FlowVersionViewId,Guid,Id,InterviewLabel,InterviewStatus,IsDeleted,LastModifiedById,LastModifiedDate,Name,OwnerId,PauseLabel,WasPausedFromScreen from FlowInterview'         ); 

    }    

public void execute(Database.BatchableContext bc, List<sObject> scope){  

 // process each batch of records         

List<Flow_Interview__c> Flowrecords = new List<Flow_Interview__c>();         

for (FlowInterview Fl : scope) {             

Flow_Interview__c flc = new Flow_Interview__c();              

flc.CurrentElement__c = Fl.CurrentElement;             

flc.Guid__c = Fl.Guid;             

flc.Id__c = Fl.Id;             

flc.InterviewLabel__c = Fl.InterviewLabel;             

flc.InterviewStatus__c = Fl.InterviewStatus;             

flc.PauseLabel__c = Fl.PauseLabel;             

flc.WasPausedFromScreen__c = Fl.WasPausedFromScreen;                          

Flowrecords.add(flc);                                   

}         

Insert Flowrecords;     

}               

public void finish(Database.BatchableContext bc){              

} 

}
-2
David Reed 11 Сен 2021 в 17:02

1 ответ

Общий sObject может получить доступ только к полю Id. Вы захотите изменить:

public void execute(Database.BatchableContext bc, List<sObject> scope){  

Кому:

public void execute(Database.BatchableContext bc, List<FlowInterview> scope){  

Это должно исправить все ваши проблемы с компиляцией.

1
sfdcfox 11 Сен 2021 в 18:04
Привет, теперь я изменился. Я получаю следующую ошибку в строке 1: Класс FlowInterviewHandler должен реализовать метод: void Database.Batchable.execute(Database.BatchableContext, List) в строке 8: глобальные методы не поддерживает тип параметра List, строка 8 является методом выполнения. Если я изменяю объект из FlowInterview на другой объект, такой как Account, тогда он не показывает никаких ошибок.
 – 
Suri
12 Сен 2021 в 05:04
Ваши методы должны быть публичными, а не глобальными.
 – 
sfdcfox
12 Сен 2021 в 05:08
Изменено на общедоступное, но та же ошибка. Класс FlowInterviewHandler должен реализовать метод: void Database.Batchable.execute(Database.BatchableContext, List)
 – 
Suri
12 Сен 2021 в 05:32
В вашей организации случайно нет класса FlowInterview, не так ли? Это вызовет многие из проблем, которые у вас, кажется, есть. Вместо этого попробуйте List<Schema.FlowInterview>.
 – 
sfdcfox
12 Сен 2021 в 05:37
Спасибо! List это решило проблему.
 – 
Suri
12 Сен 2021 в 05:41