계정에 대해 향상된 주소 모델 사용
향상된 주소 데이터 모델 기능의 계정 주소 테이블을 사용하여 중복 위치 기록을 생성하지 않고 위치를 여러 계정과 연결합니다.
시작하기 전에
필요한 역할: sn_crm_foundation_admin, script_include_admin, script_fix_admin
프로시저
- 위치 [cmn_location] 테이블의 계정과 연결된 위치 데이터의 백업을 가져옵니다.
-
위치 테이블에 이미 생성된 경우 계정 주소 [account_address_relationship] 테이블에 사용자 지정 관계 필드를 생성합니다.
계정 주소 테이블에서 새로 생성된 필드는 위치 테이블의 필드와 이름 및 유형이 같아야 합니다. 기본 시스템은 두 가지 관계 필드를 제공합니다.
- 유형
- 기본
이러한 관계 필드는 계정 주소 [account_address_relationship] 테이블에 생성됩니다. 테이블 내에서 필드를 생성하는 방법에 대한 자세한 내용은 테이블에서 필드 추가 및 사용자 지정을 참조하십시오.
-
계정 주소 테이블을 참조하는 사용자 지정 코드를 업데이트합니다.
사용자 지정 코드에는 계정 주소 테이블에서 계정 주소를 가져오는 요소가 포함될 수 있습니다. 이러한 요소는 위치 테이블을 참조하는 참조 한정자, 스크립트 포함, 비즈니스 규칙 및 ACL(접근 제어 목록)일 수 있습니다.
- 계정 관련 데이터를 위치 테이블에서 계정 주소 테이블로 이동합니다.
-
다음 마이그레이션 스크립트를 실행합니다.
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);마이그레이션해야 하는 기록 수와 이미 마이그레이션된 기록 수 간에 차이가 있는 경우 스크립트를 다시 실행합니다. 재실행이 있는 경우 이미 마이그레이션된 위치가 다시 마이그레이션되지 않습니다. 이미 마이그레이션된 위치에 대한 마이그레이션을 다시 실행하려면 계정 주소 테이블에서 해당 기록을 삭제합니다.
-
위치 테이블에서 계정 및 사용자 지정 관계 필드를 비활성화하여 우발적인 데이터 입력을 방지합니다.
주:유형 및 기본 속성을 비활성화해서는 안 됩니다.비활성화하면 위치 관련 양식, 목록 및 관련 목록에서 계정 및 사용자 지정 관계 필드가 제거됩니다.
-
시스템 속성을 enable_account_address_sharing true로 설정합니다.
이 속성은 계정에 대해 향상된 주소 데이터 모델을 사용하도록 설정합니다. 계정 주소 관련 목록이 계정 및 위치 양식에 표시됩니다.