Loading
Автоматизация бизнес-процессов
Содержание
Выбрать фильтры

          Результаты отсутствуют
          Результаты отсутствуют
          Ниже приведены некоторые советы по поиску.

          Проверьте орфографию ключевых слов.
          Воспользуйтесь более общим поисковым запросом.
          Выберите несколько фильтров для расширения области поиска.

          Выполните поиск по всей справке Salesforce.
          Определенный Apex тип данных

          Определенный Apex тип данных

          С помощью определенного Apex типа данных потоки могут манипулировать видами сложных объектов данных, которые обычно возвращаются из вызовов веб-служб. Создайте определенные Apex переменные в потоках и напрямую обработайте JSON, возвращенный из веб-вызовов.

          Требуемые версии

          Просмотр поддерживаемых версий.

          Разработчик может определить класс Apex, который будет служить схемой для автоматического преобразования из веб-в поток, что позволит полностью манипулировать итоговыми объектами в потоках с помощью декларативных подходов и без дополнительного кода. Определенные Apex ресурсы полезны для подключения потоков к обогащенным внешним веб-объектам, доступным посредством Mulesoft и вызовов REST. Если тип данных не поддерживается, потоки могут передать значение в компонент Lightning, и вы можете использовать Apex для работы с ним.

          Пример
          Пример Автосалон имеет поток окон, позволяющий клиентам искать данные запаса дилера, хранящиеся в другой базе данных. Дилер создает класс Apex в своей организации для определения типа данных «Автомобиль». Потом дилер создает поток окон, содержащий две заданные Apex переменные. Поток передает переменные между потоком, действием Apex и компонентом Lightning.

          Расширение потоков посредством определенного Apex типа данных

          С помощью сочетания Apex, потока и компонентов Lightning можно автоматизировать бизнес-процессы, которые задействуют сложные объекты данных, обычно возвращаемые из вызовов веб-служб. Например, получение внешних данных о веб-продукте с последующим созданием записей в Salesforce.

          Вызов конечной точки REST возвращает ответ JSON с данными о продукте.

          {
             "model": "Vintage Cruiser Jacket",
             "brand": "Acme",
             "identifiers": [
               {
                 "SKU": "A-J001"
               },
               {
                 "SKU": "A-J002"
               },
               {
                 "SKU": "A-J003"
               }
             ],
             "price": {
               "amount": {
                 "currencyValue": "500.00",
                 "name": "Amount",
                 "currency": "USD"
               },
               "salesUnit": {
                 "code": "EA",
                 "name": "Each"
               }
             }
          }
          

          Объекты модели JSON с классом Apex

          Определите сложный объект данных в классе Apex. Например, можно создать соответствующий класс Apex для объекта JSON. Класс действует как шаблон и преобразовывает JSON в объект, используемый в потоке.

          После определения классов Apex для веб-продукта создайте действие Apex для получения данных из веб-службы посредством вызова REST. Храните полученные данные в переменных потока, использующих определенный Apex тип данных. Потом манипулируйте данными в потоках, Apex и компонентах Lightning.

          Пример
          Пример

          Ниже указан образец шаблона WebProduct Apex. Он содержит основной класс WebProduct и классы для Price и Identifiers. WebProduct содержит три типа данных.

          • Поля модель и фирменный стиль используют примитивный тип данных «Строка».
          • Поле цены ссылается на класс Price. Обязательно сохраните каждый класс в отдельных файлах классов, поскольку внутренние классы не поддерживаются в определенных Apex типах данных для потоков.
          • Поле коды такое же, как стоимость, но представлено списком. Класс Identifiers предоставляет потоку доступ к массивам JSON для представления списка трех определенных чисел SKU.
          • Метод parse выполняет преобразование JSON в объекты Apex, доступные в потоке.
          • Поля класса Apex для потоков требуют примечания к @AuraEnabled.
          public class WebProduct {
          
          @AuraEnabled
          public String model;
          
          @AuraEnabled
          public String brand;
          
          //Because the identifiers information is an array in the JSON schema, we create a separate class called Identifiers and define a property that contains a List.
          @AuraEnabled
          public List<Identifiers> identifiers;
          
          //This field has an Apex-defined data type in the Price Apex class.
          @AuraEnabled
          public Price price;
          
          //This method is used as part of the Create Apex Action section.
          public static WebProduct parse(String json) {
          return (WebProduct) System.JSON.deserialize(json, WebProduct.class);
          }
          

          Класс Identifiers Apex определяет поле SKU.

          public class Identifiers {
          
          @AuraEnabled
          public String SKU;
          
          }
          

          Класс Price Apex определяет поля стоимости и salesUnit.

          public class Price {
          
          //This field has an Apex-defined data type in the Amount Apex class.
          @AuraEnabled
          public Amount amount;
          
          
          //This field has an Apex-defined data type in the SalesUnit Apex class.
          @AuraEnabled
          public SalesUnit salesUnit;
          
          }
          

          Класс Amount Apex определяет поля currencyValue, имя и валюту.

          public class Amount {
          
          @AuraEnabled
          public String currencyValue;
          
          @AuraEnabled
          public String name;
          
          @AuraEnabled
          public String currency;
          
          }
          
          

          Класс SalesUnit Apex определяет поля кода и имени.

          public class SalesUnit {
          
          @AuraEnabled
          public String code;
          
          @AuraEnabled
          public String name;
          
          }
          
          Совет
          Совет Для преобразования JSON в Apex можно использовать сторонние инструменты.

          Создание действия Apex

          После создания механизма перевода данных JSON в ресурсы потока, можно создать класс Apex, извлекающий данные JSON. Используйте примечание @InvocableMethod для определения класса как действия Apex для потоков.

          Класс GetWebProduct Apex определяет действие Apex. Он получает данные о продукте из конечной точки REST и анализирует ответ JSON в объекте WebProduct Apex.

          Пример
          Пример
          global with sharing class GetWebProduct {
           
              @InvocableMethod
              public static List<Results> GetWebProduct(List<Requests> requests)
                 {
                      Http http = new Http();
                      HttpRequest request = new HttpRequest();
                      String endpoint = requests[0].endpoint;
                      String submittedId = requests[0].submittedId;
                      request.setEndpoint(endpoint + submittedId );
                      request.setMethod('GET');
                      HttpResponse response = http.send(request);
                     
                      Results curResult = new Results();
                      String responseJSON = response.getBody();
                     
                      WebProduct curProduct = WebProduct.parse(responseJSON);        
                      curResult.WebProduct = curProduct;
                     
                      List<Results> resultsList = new List<Results>();
                      resultsList.add(curResult);
                      return resultsList;
                 }
              
              global class Requests {
                  @InvocableVariable
                  global String submittedId;
                  
                  @InvocableVariable
                  global String endpoint;       
              }
              
              global class Results {
                  @InvocableVariable
                  global WebProduct WebProduct;
              }
          
          }
          

          Настройка действия Apex

          Создайте поток экрана и добавьте к нему действие Apex.

          Пример
          Пример

          Действие Apex «Получить веб-продукт» автоматически сохраняет данные о веб-продукте в {!Get_Web_Product}.

          Окно создания действия для действия «Получить веб-продукт»

          Теперь вы можете манипулировать данными в потоках, Apex и компонентах Lightning. Например, создавайте поток для генерирования данных о продукте, создав цикл кодов и коллекцию продуктов. Сохраните коллекцию записей в Salesforce и отобразите данные в компоненте экрана потока.

          Холст потока для расширенных потоков с определенным Apex типом данных

          Добавление настраиваемого значка в заданное Apex действие

          Добавьте настраиваемые значки к заданным Apex действиям вызова, чтобы облегчить их поиск на холсте Flow Builder.

          Настраиваемый значок может быть файлом SVG или текущим значком системы Salesforce Lightning Design System (SLDS).

          Файлы SVG должны соответствовать следующим требованиям.

          • Элемент <svg> в файле содержит атрибуты id, xmlns и viewBox.
          • Элемент <svg> в файле не содержит атрибутов style, height и width.
          • Файл не содержит элемента <clipPath>.
          • Каждый элемент <path> в файле содержит атрибут fill.

          Например, данный файл SVG поддерживается в качестве настраиваемого значка.

          <svg id="top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path fill="#673ab7" d="M12,44c-1.657,0-3-1.343-3-3V7c0-1.657,1.343-3,3-3h16l11,11v26c0,1.657-1.343,3-3,3H12z"/><path fill="#5e35b1" d="M39 15L28.883 14.125 39 24.124z"/><path fill="#b39ddb" d="M39,15h-8c-1.657,0-3-1.343-3-3V4L39,15z"/><path fill="#f5f5f5" d="M22 23H32V25H22zM22 28H32V30H22zM22 33H32V35H22zM17.5 22.5A1.5 1.5 0 1 0 17.5 25.5 1.5 1.5 0 1 0 17.5 22.5zM17.5 27.5A1.5 1.5 0 1 0 17.5 30.5 1.5 1.5 0 1 0 17.5 27.5zM17.5 32.5A1.5 1.5 0 1 0 17.5 35.5 1.5 1.5 0 1 0 17.5 32.5z"/></svg>

          Только значки SLDS стандартного и настраиваемого объекта поддерживаются в качестве настраиваемых значков для заданных Apex вызываемых действий.

          • При использовании файла SVG загрузите файл как статический ресурс в вашей организации.
          • Установите атрибут iconName InvocableMethod примечания для вызываемого действия на имя значка.

          Для значков SVG укажите имя как resource:namespace__iconName:svgID. Например:

          public class CustomSvgIcon { 
          
          @InvocableMethod(iconName='resource:google:top') 
          public static void run() {} 
          
          }
          public class CustomSvgIcon { 
          
          @InvocableMethod(label='myIcon' iconName='resource:myPackageNamespace__google:top')
          global static List<Integer> myMethod(List<Integer> request) {
          List<Integer> results = new List<Integer>();
          results.add(1);
          return results;
          
          }
          • iconName — имя, указанное при загрузке значка.

          • svgID - значение атрибута id элемента <svg> в файле SVG.

          • namespace — пространство имен пакета, содержащего вызываемое действие для настройки. Если вызываемое действие находится в управляемом пакете, namespace__ является обязательным префиксом. В ином случае это необязательно. Чтобы использовать настраиваемый значок для вызываемого действия в управляемом пакете, объявите метод, определяющий вызываемое действие как global.

          Для значков SLDS укажите имя в качестве slds:category:name. Например:

          public class CustomSldsIcon { 
          
          @InvocableMethod(iconName='slds:standard:choice') 
          public static void run() {} 
          
          }
          • категория - это имя категории значка.
          • name - имя файла в SLDS.

          При добавлении вызываемого действия в Flow Builder, настраиваемый значок отображается на холсте Flow Builder для его представления.

           
          Загрузка
          Salesforce Help | Article