StaticMethods - Global

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 3 min. de leitura
  • Métodos estáticos são métodos que você pode usar nos 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 qualquer construtor ou outro tipo de instanciação antes do uso.

    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 Service Bridge 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. Essa tarefa remota é sincronizada com a instância de destino em que os valores são armazenados no campo mapeado na tabela de tarefas de destino.

    Os 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 nas 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 Service Bridge 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 de como implementar campos virtuais e, em seguida, usar o método updateVirtualField() para preencher valores no campo virtual. Neste exemplo, as duas tabelas de tarefas que são vinculadas por uma definição de tarefa remota são a tabela de casos do provedor e a tabela de incidentes 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 é um campo 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 porque 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, está 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ócios que é executada quando os registros na tabela Incidente 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 Exchange for Providers.

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

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    remoteTaskGr GlideRecord Objeto GlideRecord da tarefa remota para o 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 Exiba o valor a ser definido para este campo na instância de destino
    Tabela 2. Retorna
    Tipo Descrição
    Nenhum

    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>");