StaticMethods - Global

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 4 min. de leitura
  • Métodos estáticos são métodos que você pode usar em seus JavaScripts do lado do servidor, mas não fazem parte de nenhuma classe ou API.

    Você pode acessar diretamente esses métodos em um script de servidor sem nenhum construtor ou outro tipo de instanciação antes de usar.

    Método estático - updateVirtualField(GlideRecord remoteTaskGr, String virtualField, String virtualValue, String virtualDisplayValue)

    Preenche campos virtuais em uma tabela de tarefas em uma instância de destino ao usar Central de controle de serviços tarefas remotas.

    Um campo virtual é um campo que existe em uma tabela de tarefas de destino, mas não existe na tabela de tarefas de origem. Você usa este método para passar os valores de um campo virtual da instância de origem para a instância de destino. Este método armazena os valores especificados para o campo virtual como JSON na seção de formulário da tarefa remotaespecificada. Esta tarefa remota é então sincronizada com a instância de destino em que os valores são armazenados no campo mapeado na tabela de tarefas de destino.

    Campos virtuais são definidos em definições de tarefa remota. As definições de tarefa remota contêm tabelas de mapeamento de entrada e saída que mapeiam campos entre tabelas de tarefas em instâncias de origem e de destino. Quando uma tabela de origem não contém um campo que existe em uma tabela de destino, o campo é configurado na definição de tarefa remota como um campo virtual. O consumidor pode usar transformações Central de controle de serviços ou este método para atualizar os valores desses campos virtuais no registro de tarefa de destino associado.

    A seção a seguir descreve um exemplo de caso de uso sobre como implementar campos virtuais e usar o método updateVirtualField() para preencher valores no campo virtual. Neste exemplo, as duas tabelas de tarefas que estão vinculadas por uma definição de tarefa remota são a tabela Caso do provedor e a tabela Incidente do consumidor. Quando um registro de incidente é criado ou atualizado na instância do consumidor, ele é configurado para sincronizar com a tabela Caso do provedor. O campo Instâncias afetadas na tabela Caso é obrigatório, mas não existe na tabela Incidente. Para lidar com essa situação, o campo Instâncias afetadas deve ser definido como um campo virtual no mapeamento de entrada da definição de tarefa remota associada.
    1. O provedor cria uma definição de tarefa remota para a tabela Caso do provedor e a tabela Incidente do consumidor.
    2. Na guia Campos de entrada nos Links relacionados da definição de tarefa remota, o provedor mapeia os campos entre a tabela Incidente e a tabela Caso.
      Ao definir o campo Instâncias afetadas, o provedor marca a caixa de seleção Virtual e seleciona Instâncias afetadas no campo Destino na guia Mapeamento de destino.
      Nota:
      Ao definir um campo virtual, nenhum campo de origem é definido, pois ele não existe.
    3. O provedor publica a definição de tarefa remota, que é sincronizada com a instância do consumidor.
    4. O consumidor cria uma tarefa remota para a tabela Incidente. Uma carga JSON que contém todos os valores dos campos mapeados, incluindo as informações sobre campos virtuais, é incluída em uma seção de formulário na tarefa remota.
    5. A instância do consumidor chama o método updateVirtualField(), como em uma regra de negócio que é executada quando os registros na tabela Incident são atualizados, para definir os valores do campo Instâncias afetadas na tarefa remota.
      Nota:
      Mesmo que você possa preencher os dados na tabela de destino a qualquer momento, os campos obrigatórios configurados como campos virtuais devem ser preenchidos na tarefa remota antes que a tarefa remota seja enviada para a instância do produtor.
    6. A tarefa remota é sincronizada com a instância do provedor e cria um registro de caso na instância do provedor.

    Para obter informações sobre como criar uma definição de tarefa remota, consulte Create remote task definitions in Service Bridge for Providers.

    Para obter informações sobre como criar uma transformação Central de controle de serviços, consulte Transform data with the Service Bridge transform framework.

    Aviso:
    Você só deve chamar este método em uma regra de negócio anterior, pois ele atualiza a tarefa remota em que é chamado. Se você chamar este método em uma regra de negócio posterior, deverá incluir condições estritas que impeçam a atualização do campo virtual na tarefa remota de acionar a regra de negócio, pois isso pode causar um loop infinito.
    Tabela 1. Parâmetros
    Nome Tipo Descrição
    remoteTaskGr GlideRecord Objeto GlideRecord da tarefa remota para a qual os valores de campos virtuais especificados serão definidos.
    campovirtual Cadeia de caracteres Nome do campo virtual para o qual as informações associadas serão atualizadas. Definido na guia relacionada Campos de saída da definição de tarefa remota associada.
    virtualValue Cadeia de caracteres Valor a ser definido para este campo na instância de destino.
    VirtualDisplayValue Cadeia de caracteres Valor de exibição a ser definido para este campo na instância de destino
    Tabela 2. Retorna
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como chamar este método.

    var remoteTaskGr = new GlideRecord("");
    /** Remote Task table name,
    ** Table name vary based on which instance the script is being executed.
    **/
    
    remoteTaskGr.get(""); // Remote Task record sys_id
    
    global.sb.updateVirtualField(remoteTaskGr,"<virtual outbound field name>", "<value to set on target field>", "<display value to set on target field>");