У меня есть простой класс, содержащий запрос SOQL, который находит ближайшую пользовательскую запись местоположения на основе ввода 2 координат:
public with sharing class NearestLocation {
@InvocableMethod(label='Get Nearest location' description='From given coordinates the nearest location is returned')
public static List<custom__Location__c> getLocation(List<FlowInput> requests)
{
List<custom__Location__c> locList =
[SELECT id, Name
FROM custom__Location__c WHERE RecordType.Name = 'Synced' AND
DISTANCE(custom__GeoLocation__c, GEOLOCATION(:requests[0].coordlat, :requests[0].coordlng), 'km')<1
ORDER BY DISTANCE(custom__GeoLocation__c, GEOLOCATION(:requests[0].coordlat, :requests[0].coordlng), 'km')
LIMIT 1];
for(custom__Location__c lc : locList)
{
system.debug('~~!~~!~~' + lc.id);
system.debug('~~!~~!~~' + lc.name);
}
return locList;
}
public class FlowInput
{
@InvocableVariable(required=true)
public decimal coordlat;
@InvocableVariable(required=true)
public decimal coordlng;
} }
Приведенный выше код работает, как и ожидалось, при запуске из Execute Anon:
list <NearestLocation.FlowInput> fi = new list<NearestLocation.FlowInput>();
NearestLocation.FlowInput x1 = new NearestLocation.FlowInput();
x1.coordlat = 53.243213;
x1.coordlng = -1.475886;
fi.add(x1);
NearestLocation.getLocation(fi);
Однако я пытаюсь заставить его «вызываться» из молниеносного потока, но это не удается с помощью общего c «потока с ошибками проверки».
поток молнии - вершина действия журнал выполнения - поток имеет ошибки проверки
Я, очевидно, что-то упустил и задавался вопросом, может ли кто-нибудь предложить какие-либо рекомендации / мысли?