Páginas de IU

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 8 min. de leitura
  • As páginas de IU podem ser usadas para criar e exibir formulários, caixas de diálogo, listas e outros componentes de IU.

    Use páginas de IU como widgets em painéis. Para encontrar as páginas de IU, navegue até IU do Sistema > Páginas de IU.

    Esta funcionalidade requer conhecimento de HTML ou Jelly. Você também pode criar aplicações AngularJS simples usando páginas de IU.

    O formulário da página de IU contém os seguintes campos:
    Tabela 1. Página da interface do usuário
    Campo Descrição
    Nome Nome usado para invocar a página por meio de uma URL (não deve conter espaços).
    Aplicação Exibe o escopo da aplicação atual.
    Descrição A descrição da página de IU e para que ela é usada.
    Direto Marque esta caixa de seleção para uma página de IU direta [sys_ui_page]. Uma página de IU direta não inclui HTML, CSS e scripts comuns. Esta configuração requer a adição de CSS e JavaScript personalizados para usar na página.
    HTML Componente principal da página em que você define o que é renderizado quando a página é mostrada. Ele pode conter XHTML estático, conteúdo gerado dinamicamente definido como Jelly ou inclusões de script de chamada e macros de IU.
    Nota:
    Se GlideRecord/GlideDBQuery é usado em vez de GlideRecordSecure , uma mensagem de recomendação de segurança é exibida.
    Client script Inclua JavaScript do lado do cliente que é executado no navegador, como funções chamadas por botões. O objetivo é lidar com qualquer processamento do lado do cliente necessário, como definir o foco em um campo ou outros recursos DHTML interativos depois que uma página é carregada.

    Os scripts de cliente para a página de IU são implantados no navegador em um <script/>Para que o conteúdo possa ser definido de forma semelhante no campo HTML. O campo Script do cliente pode ser usado para definir esses scripts de forma concisa para manter a gerenciabilidade Jelly e HTML.

    Script de processamento Script executado no servidor quando a página é enviada. Isso será útil se sua página tiver um formulário definido com g:ui_form/ ou > g:formulário/ > marcadores.
    Nota:
    Se GlideRecord/GlideDBQuery é usado em vez de GlideRecordSecure , uma mensagem de recomendação de segurança é exibida.
    obsolete-custom-processors
    Nota:
    Este recurso está obsoleto. Embora os processadores personalizados existentes e legados continuem a ser compatíveis, a criação de novos processadores personalizados foi descontinuada. Em vez disso, use o. Scripted REST APIs.
    Listas relacionadas na exibição de formulário:
    Controles de acesso Exibir e configurar controles de acesso para a página de IU. Para obter mais informações, consulte Use controles de acesso em páginas de IU.
    Versões Mostra todas as versões da página de IU. Use esta lista para comparar versões ou reverter para uma versão anterior.

    Controle de acesso

    Você pode proteger uma página de IU criando uma ACL com os seguintes parâmetros:

    • Tipo : iu_page
    • Operação : leitura
    • Nome Nome da página de IU a ser protegida
    • Função : Função de usuário que tem permissão para acessar o registro
    Ao salvar uma nova página de IU, você será solicitado a atribuir uma função para controle de acesso.Seleção de função para controle de acesso para uma nova página de IU.
    Nota:
    Uma entrada com o mesmo nome da página de IU é criada na tabela Controle de acesso.
    Para obter detalhes sobre como criar uma regra de ACL, consulte Crie uma regra de ACL .

    Páginas de IU de alto risco

    As páginas de IU são consideradas de alto risco com qualquer um dos seguintes atributos:
    • Usos GlideRecord ou GlideDBQuery em vez de GlideRecordSecure .
      Nota:
      Aplicável a HTML e. Processando campos de script e não Cliente scripts.
    • Não tem uma ACL correspondente configurada.
    • Indica ser uma página de IU pública e é inserida em sys_public registro.
    • Mostra uma mensagem para indicar a página de IU de alto risco.
    • Para instâncias com glide.installation.developer está definido como verdadeiro .
    • Se o recurso for conteúdo personalizado para uma instância do cliente.

    Acesso à página de IU

    Cada página de IU tem um URL calculado a partir do escopo da aplicação, do nome da página e do .do extensão do arquivo.

    Por exemplo, para exibir a página chamada glidewindow_example no sistema de demonstração, navegue até https://<instance name>.service-now.com/glidewindow_example.do . Se a página fizer parte de uma aplicação personalizada chamada example_app, navegue até https://<instance name>.service-now.com/x_example_app_glidewindow_example.do .

    Você também pode adicionar parâmetros adicionais a um URL que pode ser acessado na seção HTML de uma página como variáveis Jelly. Ou seja, anexando argumentos à URL da seguinte forma: /my_test_page.do?sysparm_verbose cria variáveis jelly chamadas verboseque podem ser acessados da seguinte forma:
    <j2:if test="$[!empty(sysparm_verbose)]"> <span>show extra stuff </span> </j2:if >

    Um exemplo prático comum disso pode ser recuperar um registro de banco de dados para exibição. Para criar uma lista das funções de um usuário, passe um parâmetro com o sys_id do usuário. Invoque a seguinte página de IU para exibir uma lista de funções para esse usuário com o código Jelly:

    _select.do?sysparm_user: 5137153cc611227c000bbd1bd8cd2007
    <j:set var = "jvar_user_id" value = "${sysparm_user}" />
     
      <g:evaluate> var userRoles = new GlideRecord('sys_user_has_role');
        userRoles.addQuery('user','${jvar_user_id}');
        userRoles.query(); 
      </g:evaluate>
     
      <select id='select_role'> 
          <j:while test = "${userRoles.next()}"> 
              <option value = "${userRoles.sys_id}"> ${userRoles.role.name} </option> 
          </j:while> 
      </select>

    No entanto, uma exceção a ser cuidadosa é o nome de variável reservada sys_id. Esta variável sempre contém o ID da própria página de IU, independentemente do que está especificado na URL. Um nome de variável de substituição comum é sysparm_id.

    Não use parâmetros de URL para carregar scripts de cliente em páginas de IU. O sistema não avalia mais scripts que são passados pelo parâmetro de URL. Se sua implementação depender desse comportamento, você poderá adicione a propriedade do sistema [glide.security.disable_ui_pages_sysparm_client_script] e defina como falso Para permitir temporariamente a avaliação de parâmetros de URL que passam scripts em páginas de IU.

    Use controles de acesso em páginas de IU

    Consulte Controles de acesso diretamente no formulário Página de IU e adicione controle de acesso baseado em função ao criar ou editar um registro de Página de IU.

    Antes de Iniciar

    Os controles de acesso que foram adicionados a uma página de IU existente podem ser acessados e editados abrindo o registro da página de IU em Links relacionados.

    Função necessária: security_admin e administrador

    Procedimento

    1. Elevar para security_admin função.
      Para obter detalhes sobre a elevação de função, consulte Elevar para uma função privilegiada.
    2. Navegar até Tudo > IU do Sistema > Páginas de IU.
    3. Selecione Novo.
    4. Preencha o formulário.
      Consulte Páginas de IU Para obter informações adicionais sobre descrições de campos de IU.
    5. Selecione Enviar ou Salvar .
      Um modal é exibido solicitando que você crie um controle de acesso baseado em função para a página de IU.Exibe o modal de controle de acesso baseado em função.
    6. Selecione uma função.
    7. Selecione OK para atribuir a função.
      Você retornará à lista Páginas de IU.
    Adicione, edite ou exiba controles de acesso para uma página de IU existente:
    1. Abra uma página de IU na tabela Páginas de IU.
    2. Exiba Controles de acesso nas listas relacionadas.
    3. Selecione Novo para criar um novo controle de acesso ou selecionar uma entrada existente para edição.
      O formulário Controle de acesso é carregado. Os detalhes da página de IU são exibidos.
    4. Preencha o formulário e atribua uma função à página de IU.
      Para obter informações adicionais sobre controle de acesso, consulte Crie uma regra de ACL .
    5. Selecione Enviar para um novo controle de acesso ou Atualização para edições.
      Nota:
      Pode haver vários controles de acesso por página de IU.

    Páginas de IU seguras

    Controles de acesso e mensagens de segurança relacionadas são integrados em páginas de IU de alto risco para aumentar a segurança.

    Uma mensagem informativa é exibida nas páginas de IU de alto risco para informar o cliente a adicionar um controle de acesso baseado em função à página de IU.

    Mensagens de recomendação de segurança da página de IU.

    A mensagem é exibida nas seguintes condições:
    • Se uma ACL (lista de controle de acesso) estiver ausente
    • Se GlideRecord/GlideDBQuery é usado em vez de GlideRecordSecure em HTML ou Processando script seções HTML e exemplos de script de processamento.
    • Se a página de IU estiver configurada como pública em sys_public
      Nota:
      Páginas de IU públicas que são públicas ou que usam GlideRecord Não mostre um aviso de ACL ausente.
    Consulte Páginas de IU Para obter detalhes sobre páginas de IU de alto risco.

    Condições que exibem a mensagem de recomendações de segurança

    A mensagem é exibida nas seguintes condições:

    • Todas as instâncias internas do Eclipse/IJ em que glide.installation.developer . verdadeiro .
    • Todos os recursos da Página de IU com escopo do cliente.
    • Qualquer Página de IU personalizada quando glide.script.ui_page.customer_scoped.security_msgs_enableda propriedade está definida como verdadeiro . (O valor padrão é verdadeiro ).

    Condições que não exibem a mensagem de recomendações de segurança

    A mensagem não será exibida nas seguintes condições:

    • A página de IU é pública.
    • A página de IU está em Global escopo.
    • . glide.script.ui_page.customer_scoped.security_msgs_enabledestá definido como falso .
    Nota:
    Para desabilitar o prompt de criação de ACL baseada em função, defina glide.ui_page.enable_acl_create_uxpropriedade para falso . A propriedade está definida como verdadeiro por padrão.

    Scripts de processo de página de IU

    Se sua página de IU contiver um formulário (usa o. <g:form> , você pode enviar o formulário e executar o script do processo.

    O script de processamento pode acessar naturalmente os campos no formulário. Por exemplo, se o seu formulário continha application_sys_id campo:

    <g:ui_form>
      <p>Click OK to run the processing script.</p>
      <g:dialog_buttons_ok_cancel ok="return true" />
      <input type="hidden" name="application_sys_id" value="499836460a0a0b1700003e7ad950b5da" />
    </g:ui_form>
    Você pode acessar o campo usando application_sys_id :
    var application = new GlideRecord('hr_application');
     application.get(application_sys_id);
     application.status = "Rejected";
     application.update();
     var urlOnStack = GlideSession.get().getStack().bottom();
     response.sendRedirect(urlOnStack);
    Importante:
    O script anterior pode ser usado somente com aplicações globais.

    Se você estiver usando a página de IU para uma caixa de diálogo, também poderá fazer referência ao URL mais recente na pilha usando o código acima e enviar a resposta para esse local. Isso é útil se você quiser que o script de processamento da caixa de diálogo atualize algo e exiba novamente a tela que abriu a caixa de diálogo.