Usted estĆ” aquĆ:
Copiar respuestas de revelación enviadas anteriormente
Ahorre tiempo y el esfuerzo de ingresar respuestas a las mismas preguntas repetidas anualmente. Agregando la integración de prerrelleno a un OmniScript, puede acceder a datos desde respuestas enviadas anteriormente.
Ediciones necesarias
| Disponible en: Lightning Experience |
| Disponible en: Enterprise Edition, Performance Edition, Unlimited Edition y Developer Edition |
| Conjunto de permisos necesario | |
|---|---|
| Para utilizar el Núcleo de revelación y cumplimiento: | Usuario de Núcleo de revelación y cumplimiento |
-
Para obtener la revelación de un año anterior, cree una clase de Apex que recupera AssessmentId utilizando 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); } } - Desde el Iniciador de aplicación, busque y seleccione Procedimientos de integración de OmniStudio.
-
Haga clic en Nuevo e ingrese los detalles.
- Para Nombre de procedimiento de integración, ingrese Disclosure_Prefill.
- Para Tipo, ingrese Revelación.
- En Subtipo, ingrese Rellenar previamente.
- Guarde sus cambios.
-
Agregue una acción remota de prerrelleno.
- En Nombre de elemento, ingrese GetPrefillAssessmentIdUsingApex.
- En Clase remota, ingrese GetPrefillAssessmentIdUsingApex.
- En MƩtodo remoto, ingrese getAssessmentId.
-
Agregue una acción remota de evaluación.
- En Nombre de elemento, ingrese GetAssessmentData.
- Para Clase remota, ingrese DiscoveryFrmwrk.PrefillAssessment.
- Para Enviar ruta de JSON, ingrese GetPrefillAssessmentIdUsingApex.RemoteActionAssessmentId.
- Para Enviar nodo JSON, ingrese RemoteActionAssessmentId.
-
Agregue una acción de respuesta.
- En Nombre del elemento, ingrese AssessmentData.
- Para Enviar ruta de JSON, ingrese GetAssessmentData.AssessmentDataReturned.
- Guarde y active los cambios.
- Desde el Iniciador de aplicación, busque y seleccione OmniScripts.
-
Abra el formulario OmniScript que creó para las preguntas de evaluación.
Consulte Gestionar información de cuestionario de revelación utilizando el marco de trabajo de descubrimiento.
- Desactive el OmniScript.
- Arrastre Acción de procedimiento de integración al lienzo.
- En el panel Propiedades, para Procedimiento de integración, ingrese Disclosure_Prefill y seleccione Disclosure_Prefill desde la lista de búsqueda.
- Guarde y active los cambios.
ĀæResolvió este artĆculo su problema?
”HÔganos saber cómo podemos mejorar!

