특정 테이블의 범위를 publicOnServer
으로 설정할 수 없습니다. 내 model.js에서 테이블의 범위를 설정합니다. 범위 변경은 My 원격 모델 (4D 데이터베이스)을 Wakanda에서 볼 때 볼 수 있습니다. 변경 후 테이블의 범위가 업데이트됩니다.Wakanda 2.x에서 특정 테이블의 범위를 publicOnServer로 설정할 수 없습니다.
일부 테이블의 경우 범위를 설정하고 클라이언트 측에서 모든 테이블에 대해 모든 종류의 쿼리를 수행하면 브라우저의 콘솔에 오류가 채워지고 쿼리가 실패합니다. 효과적으로 model.js의 특정 테이블의 범위를 설정하면 관계없는 테이블조차도 쿼리가 중단됩니다.
하나의 차이점은 범위 변경이 작동하는 테이블과 관계형 속성이있는 테이블이 다르다는 점입니다. 이러한 테이블의 범위를 설정하면 일관되게 쿼리 기능이 중단되고 관계형 속성이없는 테이블의 설정 범위가 일관되게 올바르게 작동합니다. 이거 버그 야?
크롬 콘솔 출력 : model.js에서 ERROR Error: Uncaught (in promise): Error: Needed Contractor dataClass is not present on catalog
라인 : model.Contractor.properties.scope="publicOnServer";
계약자는 원격 모델의 테이블과는 관계 특성을가집니다.
예 - 아래 링크를 클릭하십시오. 사실 wakanda 카탈로그를받는 것은 오류를 발생시킵니다. 심지어 쿼리 할 필요도 없습니다. https://www.dropbox.com/s/85pr5svswpi6m07/TableScope.zip?dl = 0 – NAMS
고맙습니다. 이 동작은 Wakanda 1.x와 다릅니다. 그래서 놀랐습니다. 나는 모든 테이블을 public으로두고, 그에 따라 모든 테이블에 대한 제한 (etc) 메소드를 작성하는 해결 방법을 생각했다. – NAMS
다른 권한을 가진 두 개 이상의 사용자 그룹이있는 경우 권한 제어를 사용하고 쿼리를 제한하는 IMO가 더 나은 솔루션 일 수 있습니다. 그것을 다루는 [KB에 대한 2016 년 정상 회의] (http://kb.4d.com/assetid=77627)가있다. 대부분의 서버 구현은 여전히 V2에 적용됩니다. –