Habilitar modelo de endereço avançado para contas

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 2 min. de leitura
  • Use a tabela Endereço da conta no recurso de modelo de dados de endereço aprimorado para vincular um local a várias contas sem criar registros de local duplicados.

    Antes de Iniciar

    Função necessária: administrador

    Procedimento

    1. Faça um backup dos dados de local associados às contas da tabela Local [cmn_location].
    2. Crie os campos de relacionamento personalizados na tabela Endereço da conta [account_address_relationship] se eles já tiverem sido criados na tabela Local.
      Os campos recém-criados na tabela Endereço da conta precisam ter o mesmo nome e tipo dos campos na tabela Local. O sistema de base fornece dois campos de relacionamento.
      • Tipo
      • primary

      Esses campos de relacionamento são criados na tabela Endereço da conta [account_address_relationship]. Para obter mais informações sobre como criar novos campos em uma tabela, consulte Adição e personalização de um campo em uma tabela.

    3. Atualize o código personalizado que faz referência à tabela Endereço da conta.
      O código personalizado pode incluir elementos que buscam o endereço de contas na tabela Endereço da conta. Esses elementos podem ser qualificadores de referência, inclusões de script, regras de negócio e ACLs que apontam para a tabela Local.
    4. Mova os dados relacionados à conta da tabela Local para a tabela Endereço da conta.
    5. Execute o seguinte script de migração.
      var customRelationshipFields = []; //Add custom relationship fields (if any).​
      var account = ""; //You must specify the sys_id of the account if you wish to migrate location data for that account (mostly to be used during re-run).​
      var migrateChildAccountLocations = false; // This value must be set to true if you wish to migrate the locations of the child accounts associated with the specified account (mostly to be used during re-run).​
      new sn_cs_base.CSDataFix().migrateLocationDataToAccountAddress(customRelationshipFields, account, migrateChildAccountLocations);​

      Executar uma nova execução do script se houver uma diferença entre o número de registros que devem ser migrados e o número de registros já migrados. Em caso de nova execução, os locais já migrados não serão migrados novamente. Para executar novamente a migração para locais já migrados, exclua os registros correspondentes na tabela de endereço da conta.

    6. Evite a entrada acidental de dados desativando os campos Conta e Relacionamento personalizado da tabela Local.
      Nota:
      Você não deve desativar os atributos Tipo e Primário.
      Esta desativação removerá os campos Conta e Relacionamento personalizado dos formulários, listas e listas relacionadas ao local.
    7. Defina a propriedade do sistema enable_account_address_sharing como verdadeira.
      Esta propriedade habilita os modelos de dados de endereço aprimorados para contas. A lista relacionada Endereços de conta é exibida no formulário de conta e local.