Вы находитесь здесь:
Копирование ранее отправленных ответов на разглашение
Экономьте время и усилия для ввода ответов на одни и те же вопросы, повторяемые каждый год. Добавление интеграции предварительного заполнения в Omniscript позволяет открывать данные из ранее отправленных ответов.
Требуемые версии
| Доступно в версиях: Lightning Experience |
| Доступно в версиях: Enterprise Edition, Performance Edition, Unlimited Edition и Developer Edition |
| Необходимый набор полномочий | |
|---|---|
| Для использования центра разглашения и соответствия: | Пользователь центра разглашения и соответствия |
-
Чтобы извлечь сведения за предыдущий год, создайте класс Apex, извлекающий AssessmentId посредством contextId.
global class GetPrefillAssessmentIdUsingApex implements System.Callable { global Map<String, Object> call(String action, Map<String, Object> args) { Map<String, Object> inputMap = (Map<String, Object>)args.get('input'); Map<String, Object> outputMap = (Map<String, Object>)args.get('output'); Map<String, Object> options = (Map<String, Object>)args.get('options'); return invokeMethod(action, inputMap, outputMap, options); } global Map<String, Object> invokeMethod(String methodName, Map<String,Object> input, Map<String,Object> output, Map<String,Object> options) { try { getAssessmentId(input, output, options); } catch(Exception ex) { Map<String, String> errorObject = new Map<String,String>(); errorObject.put('error', ex.getMessage()); return errorObject; } return output; } public static void getAssessmentId(Map<String, Object> input, Map<String, Object> output, Map<String, Object> options) { List < Map < String, String >> UIoptions = new List<Map<String, String>>(); String disclosureId = (String) input.get('ContextId'); String prevDisclosureId = [Select ReplicateResponsesFromId FROM Disclosure WHERE Id = :disclosureId LIMIT 1][0].ReplicateResponsesFromId; if(prevDisclosureId == null) { return; } for (Disclosure ds: [Select AssessmentId FROM Disclosure WHERE Id = :prevDisclosureId LIMIT 1]) { Map<String, String> tempMap = new Map<String, String>(); tempMap.put('PrevDisclosureId', prevDisclosureId); tempMap.put('AssessmentId', ds.AssessmentId); UIoptions.add(tempMap); output.put('RemoteActionAssessmentId', ds.AssessmentId); } System.debug(input); System.debug(output); } } - В средстве запуска приложений найдите и откройте «Процедуры интеграции мультиканала».
-
Нажмите «Создать» и введите сведения.
- В поле «Имя процедуры интеграции» введите «Разглашение_заполнение».
- В поле «Тип» введите «Разглашение».
- В поле «Подтип» введите «Предварительная заполнение».
- Сохраните изменения.
-
Добавьте удаленное действие перед заполнением.
- В поле «Имя элемента» введите GetPrefillAssessmentIdUsingApex.
- В качестве удаленного класса введите GetPrefillAssessmentIdUsingApex.
- В качестве удаленного метода введите getAssessmentId.
-
Добавьте удаленное действие оценки.
- В поле «Имя элемента» введите GetAssessmentData.
- В качестве удаленного класса введите DiscoveryFrmwrk.PrefillAssessment.
- В поле «Отправить путь JSON» введите GetPrefillAssessmentIdUsingApex.RemoteActionAssessmentId.
- В качестве узла «Отправить JSON» введите RemoteActionAssessmentId.
-
Добавьте действие ответа.
- В поле «Имя элемента» введите AssessmentData.
- В поле «Отправить путь JSON» введите GetAssessmentData.AssessmentDataReturned.
- Сохраните и активируйте изменения.
- В средстве запуска приложений найдите и откройте «Omniscripts».
- Откройте форму Omniscript, созданную для вопросов оценки.
- Деактивируйте Omniscript.
- Перетащите Действие процедуры интеграции на холст.
- На панели свойств в поле «Процедура интеграции» введите «Разглашение_заполнения» и выберите «Разглашение_заполнения» в списке поиска.
- Сохраните и активируйте изменения.
Эта статья решила вашу проблему?
Оставьте свой отзыв, чтобы мы могли стать лучше!
