Habilitar criação dinâmica para campos de referência

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 1 min. de leitura
  • Quando a criação dinâmica está habilitada, inserir um valor inexistente em um campo de referência cria um novo registro na tabela referenciada em vez de retornar um erro.

    Antes de Iniciar

    Função necessária: personalize_dictionary

    Por Que e Quando Desempenhar Esta Tarefa

    Por padrão, um usuário deve inserir um valor em um campo de referência que corresponda a um registro existente na tabela à qual o campo de referência se refere. Por exemplo, o campo Solicitante em um incidente deve ter um valor que seja um usuário existente. Você pode habilitar a criação dinâmica para criar um novo registro na tabela referenciada quando um usuário inserir um valor inexistente em um campo de referência em vez de retornar um erro.

    Procedimento

    1. Clique com o botão direito do mouse no rótulo do campo no formulário e selecione Configurar dicionário.
    2. Preencha os seguintes campos (talvez você precise configurar o formulário Dicionário):
      • dynamic_creation: marque a caixa de seleção.
      • Dynamic_creation_script: insira um script que crie o registro dinamicamente.
    3. Clique em Atualizar.
      Exemplos:

      Você pode usar o seguinte Dynamic_creation_script para criar um registro na tabela referenciada.

      current.name = value;
      current.insert();
      Nota:
      O objeto primário pode ser usado para acessar qualquer coisa do registro primário.
      Você pode criar uma inclusão de script chamada MyUserReferenceCreator com o seguinte conteúdo:
      var MyUserReferenceCreator = Class.create();
      MyUserReferenceCreator.prototype = {
          initialize: function() {
          },
       
          create: function(current, value) {
              current.name=value;
              return current.insert();
          },
       
          type: 'MyUserReferenceCreator'
      }

      Quando a inclusão de script é criada, a seguinte dinâmica_creation_script gera um novo local para um valor de campo de referência inválido:

      new MyUserReferenceCreator().create(current, value);