Есть ли способ преобразовать оператор Apex Select в строку
У меня все наборы разрешений обновлены правильно, так как я могу жестко закодировать строку Test, где находится оператор select, но когда я ввожу оператор select, мой чат-бот немедленно закрывается. Может кто-нибудь быстро взглянуть? Я пытаюсь проверить, могу ли я взять адрес электронной почты, выполнить поиск объекта контакта и вернуть appDecision (настраиваемое поле)
public with Sharing class GetAdmissionStatus {
public class DecisionOutput {
@InvocableVariable( required=true )
public String aDecision;
}
public class DecisionInput {
@InvocableVariable( required=true )
public String applyEmail;
}
@InvocableMethod(label='Get Admission Status')
public static List < DecisionOutput > GetAdmissionStatus( List < DecisionInput > listDecisionInputs ) {
List < DecisionOutput > objOutputs = new List < DecisionOutput >();
DecisionOutput objOutput = new DecisionOutput();
Set < String > strapplyEmails = new Set < String >();
for ( DecisionInput objDecisionInput : listDecisionInputs )
strapplyEmails.add( objDecisionInput.applyEmail );
objOutput.aDecision = [ SELECT AppDecision__c FROM Contact WHERE Email IN: strapplyEmails LIMIT 1].AppDecision__c;
objOutputs.add( objOutput );
return objOutputs;
}
}
1 ответ
Вопрос непонятный. У вас есть запрос в [скобках], и вы хотите увидеть его текстовую версию? Попробуйте с
String q = Database.getQueryLocator([SELECT Id FROM Account LIMIT 5]).getQuery();
System.debug(q);
Если вы хотите преобразовать результаты запроса в строку, это может помочь
String x = JSON.serializePretty([SELECT Id FROM Account LIMIT 5]);
// you can do JSON.serialize() too
System.debug(x);
Если бот закрывается, высока вероятность возникновения исключения. Попробуйте поиграть с ботом с открытой DeveloperConsole, посмотрите, не вылетит ли что-нибудь.
И дали ли вы "пользователю-боту" разрешение на использование этого класса вершины, контактного объекта и полей? Найдите в https://developer.salesforce.com/docs/atlas.en-us.bot_cookbook.meta/bot_cookbook/bot_cookbook_call_apex_action.htm "набор разрешений"