Criação de uma ação de IU para permitir a criação de artigos de conhecimento a partir de casos de RH

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 1 min. de leitura
  • Crie uma ação de IU para adicionar a caixa de seleção "Conhecimento" ao formulário Caso de RH.

    Antes de Iniciar

    Função necessária: administrador

    Certifique-se de que a aplicação do desenvolvedor esteja definida como Recursos Humanos: Core.

    Procedimento

    1. Navegar até Tudo > IU do Sistema > Ações de IU.
    2. Clique em Nova.
    3. Preencha os seguintes campos.
      Tabela 1. Formulário Ação de IU
      Campo Descrição
      Nome Criar Conhecimento
      Tabela Caso de RH
      Nome da ação create_knowledge
    4. Marque a caixa de seleção Cliente.
    5. Marque a caixa de seleção Lista v3 compatível.
    6. Marque a caixa de seleção botão Formulário.
    7. No campo Onclick, insira createKnowledgeClient().
    8. No campo Condição, insira gs.getProperty("sn_hr_core.enable_kcs_hr") == 'true' && new global.CSMTableMapUtil (current).findMapByName("sn_hr_core.hr_case_kcs_article") && new global.KBKnowledge().canCreate().
    9. No campo Script, insira o código a seguir.
      function createKnowledgeClient() {
          if (g_form.modified) {
              alert(new GwtMessage().getMessage('You have unsaved changes. Please save them to continue.'));
          }else{
              //Call the UI Action again but skip the 'onclick' function
              gsftSubmit(null, g_form.getFormElement(), 'create_knowledge');
      //MUST call the 'Action name' set in this UI Action
          }
      }
      
      //Code that runs without 'onclick'
      //Ensure call to server-side function with no browser errors
      if (typeof window == 'undefined')
          CreateKnowledgeServer();
      
          function CreateKnowledgeServer(){
          current.update();
      
          var map = new global.CSMTableMapUtil (current);
          map.findMapByName("sn_hr_core.hr_case_kcs_article");
          var targetURL = map.getTargetURL();
          var referenceLink = 
      "&sysparm_collection=sn_hr_core_case&sysparm_collectionID="+current.sys_id+"&sysparm_collection_key=task&sysparm_link_collection=m2m_kb_task&sysparm_collection_related_field=kb_knowledge&sysparm_referring_url=sn_hr_core_case.do%3fsys_id%3d"+current.sys_id;
          if(targetURL)
              action.setRedirectURL(targetURL[0]+referenceLink);
      }
    10. Clique em Enviar.