Client-Skript für UI-Aktion „Kontakt verifizieren“ und „Verbraucher verifizieren“.

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 2 Minuten Lesedauer
  • Die Funktion „Suchen und überprüfen“ verwendet ein Client-Skript für die UI-Aktionen „Kontakt verifizieren“ und „Verbraucher verifizieren“.

    Die Hauptfunktion, die das Modal „Suchen und überprüfen“ aufruft, wurde im Orlando-Release geändert. Der Funktionsaufruf g_csm.lookupAndVerify wurde durch g_modal.sn_lookup_verify.lookupVerifyersetzt. Die Rückrufverarbeitung hat sich ebenfalls geändert.

    Wenn Sie das Skript für die UI-Aktion „Suchen und überprüfen“ in den Releases Madrid oder New York geändert haben, müssen Sie das Skript für das Orlando-Release ändern. Wird beim Upgrade auf Orlando nicht automatisch aktualisiert. Anhand der folgenden Beispiele können Sie die erforderlichen Änderungen vornehmen.

    Client-Skript für die UI-Aktion „Kontakt verifizieren“ (Orlando)

    function onClick(g_form) {
           if (!g_form.isVisible("contact")) {
                  var msg = "You do not have permissions to verify the contact.";
                  getMessages([msg], function(messages) {g_form.addErrorMessage(messages[msg]);});
                  return;
           }
          
           var title = "Verify Contact";
           var confirm_title = "Done";
           var cancel_title = "Cancel";
           getMessages([title, confirm_title, cancel_title], function(messages) {
                  var lookupConfig = {
                         configID: '0a20d0c9b360230001f34d43c6a8dc0a',
                         selectedEntityTableName: 'customer_contact',
                         selectedEntitySysID: g_form.getValue('contact'),
                         selectedEntityDisplayVal: g_form.getDisplayValue('contact'),
                         modalTitle: messages[title]
                  };
                  g_modal.sn_lookup_verify.lookupVerify({
                         title: messages[title],
                         confirmTitle: messages[confirm_title],
                         cancelTitle: messages[cancel_title],
                         params: lookupConfig,
                         disabledPrimaryButtonOnLoad: true,
                         size: 'lg'
                  }).then(
                         function(confirm) {
                               var data = confirm.data;
                               var verifiedSysId = data.sysId;
                               g_form.setValue('account', '');
                               g_form.setValue('contact', verifiedSysId);
                               g_form.setValue('verified', 'true');
     
                               var ga = new GlideAjax('global.CSManagementUtils');
                               ga.addParam('sysparm_name', 'getGlideRecordData');
                               ga.addParam('sysparm_table_name', "customer_contact");
                               ga.addParam('sysparm_sys_id', verifiedSysId);
                               ga.addParam('sysparm_fields', "account");
                               ga.getXML(function(serverResponse){
                                      var items = serverResponse.responseXML.getElementsByTagName("item");
                                      for(var i = 0; i < items.length; i++) {
                                             var field = items[i].getAttribute("field");
                                             if (field == "account") {
                                                    g_scratchpad.csaccountset = true;
                                                    g_form.setValue("account", items[i].getAttribute("value"), items[i].getAttribute("display_value"));
                                                    break;
                                             }                   
                                      }
                                      var info = "This contact has been verified.";
                                      getMessages([info], function(messages) {g_form.addInfoMessage(messages[info], 'info', "");});
                                      if (data.stringForLookup) {
                                             var interactionId = g_form.getUniqueValue();
                                             var ga = new GlideAjax('sn_lookup_verify.LookupVerifyUtil');
                                             ga.addParam('sysparm_name', 'associateRecordToInteraction');
                                             ga.addParam('sysparm_term', data.stringForLookup);
                                             ga.addParam('sysparm_interaction_id', interactionId);
                                             ga.getXMLAnswer(function(answer){
                                                    var result = JSON.parse(answer);
                                                    if (result != null && result.table != null && result.sysId != null) {
                                                           var params = {};
                                                           params.sysparm_parent_table = "interaction";
                                                           params.sysparm_parent_sys_id = g_form.getSysId();
                                                           g_service_catalog.openCatalogItem(result.table, result.sysId, params);
                                                    }
                                             });
                                      }     
                               });
                         },
                         function(error) {
                               console.log('cancel:'+error);
                         }
                  );
           });   
    }

    Client-Skript für die UI-Aktion „Kontakt verifizieren“ (New York)

    function onClick(g_form) {
           if (!g_form.isVisible("contact")) {
                  var msg = "You do not have permissions to verify the contact.";
                  getMessages([msg], function(messages) {g_form.addErrorMessage(messages[msg]);});
                  return;
           }
          
           var title = "Verify Contact";
           getMessages([title], function(messages) {
                  var lookupConfig = {
                         configID: '0a20d0c9b360230001f34d43c6a8dc0a',
                         selectedEntityTableName: 'customer_contact',
                         selectedEntitySysID: g_form.getValue('contact'),
                         selectedEntityDisplayVal: g_form.getDisplayValue('contact'),
                         modalTitle: messages[title]
                  };
                 
                  var onConfirm = function(data) {
                         var verifiedSysId = data.sys_id;
                         g_form.setValue('account', '');
                         g_form.setValue('contact', verifiedSysId);
                         g_form.setValue('verified', true);
                 
                         var ga = new GlideAjax('global.CSManagementUtils');
                         ga.addParam('sysparm_name', 'getGlideRecordData');
                         ga.addParam('sysparm_table_name', "customer_contact");
                         ga.addParam('sysparm_sys_id', verifiedSysId);
                         ga.addParam('sysparm_fields', "account");
                         ga.getXML(function(serverResponse){
                               var items = serverResponse.responseXML.getElementsByTagName("item");
                               for(var i = 0; i < items.length; i++) {
                                      var field = items[i].getAttribute("field");
                                      if (field == "account") {
                                             g_scratchpad.csaccountset = true;
                                             g_form.setValue("account", items[i].getAttribute("value"), items[i].getAttribute("display_value"));
                                             break;
                                      }                   
                               }
                               var info = "This contact has been verified.";
                               getMessages([info], function(messages) {g_form.addInfoMessage(messages[info], 'info', "");});
                               if (data.stringForLookup) {
                                      var interactionId = g_form.getUniqueValue();
                                      var ga = new GlideAjax('sn_lookup_verify.LookupVerifyUtil');
                                      ga.addParam('sysparm_name', 'associateRecordToInteraction');
                                      ga.addParam('sysparm_term', data.stringForLookup);
                                      ga.addParam('sysparm_interaction_id', interactionId);
                                      ga.getXMLAnswer(function(answer){
                                             var result = JSON.parse(answer);
                                             if (result != null && result.table != null && result.sysId != null) {
                                                    var params = {};
                                                    params.sysparm_parent_table = "interaction";
                                                    params.sysparm_parent_sys_id = g_form.getSysId();
                                                    g_service_catalog.openCatalogItem(result.table, result.sysId, params);
                                             }
                                      });
                               }     
                         });
                  };
                  g_csm.lookupAndVerify(lookupConfig, onConfirm);
           });   
    }