Activer le modèle d’adresse amélioré pour les comptes
Utilisez la table Account Address (Adresse de compte) dans la fonctionnalité améliorée de données d’adresse pour lier un emplacement à plusieurs comptes sans créer d’enregistrements d’emplacement en double.
Avant de commencer
Rôle requis : sn_crm_foundation_admin, script_include_admin et script_fix_admin
Procédure
- Faites une sauvegarde de l’emplacement associé avec les comptes de la table Emplacement [cmn_location].
-
Créez des champs de relation personnalisés dans la table Adresse de compte [account_address_relationship] s’ils ont déjà été créés dans la table Emplacement.
Les champs nouvellement créés dans la table Adresse de compte doivent porter le même nom et être du même type que ceux de la table Emplacement. Le système de base fournit deux champs de relations.
- Type
- primaire
Ces champs de relation sont créés dans la table Account Address (Adresse de compte) [account_address_relationship]. Pour plus d’informations sur la création de champs dans une table, voir Ajouter et personnaliser un champ dans une table.
-
Mettez à jour le code personnalisé qui fait référence à la table Adresse de compte.
Le code personnalisé peut inclure des éléments qui récupèrent l’adresse des comptes dans la table Adresse de compte. Ces éléments peuvent être des qualificatifs de référence, des includes de script, des règles métier et des listes de contrôle d’accès (ACL) faisant référence à la table Emplacement.
- Déplacez les données relatives au compte de la table Emplacement vers la table Adresse de compte.
-
Exécutez le script de migration suivant.
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);réexécution du script s’il y a une différence entre le nombre d’enregistrements à migrer et le nombre d’enregistrements déjà migrés. Dans une nouvelle exécution, les emplacements déjà migrés ne sont pas migrés à nouveau. Pour réexécuter la migration pour les emplacements déjà migrés, supprimez les enregistrements correspondants dans la table d’adresse de compte.
-
Évitez toute entrée de données accidentelle en désactivant les champs Compte et Relation personnalisée de la table Emplacement.
Remarque :Vous ne devez pas désactiver les attributs Type et Primaire.Cette désactivation supprime les champs Compte et Relation personnalisée des formulaires, listes et listes connexes associés à l’emplacement.
-
Définissez la propriété système enable_account_address_sharing sur true.
Cette propriété active les modèles de données d’adresse améliorés pour les comptes. La liste connexe des adresses de compte s’affiche sur le formulaire de compte et d’emplacement.