SP 온라인 목록에서 승인 상태가 보류 중 (즉, 승인을 위해 제출 됨) 인 경우 항목 편집을 중지하는 방법이 있습니까?
SharePoint Online 목록에서 승인 상태가 보류 중 모드 일 때 항목 편집을 중지하는 방법이 있습니까? 즉, 사용자가 승인 프로세스를 기다리는 동안 항목을 변경하도록 제한합니다. 특정 작업이 필요한 경우 Power Automate에 액세스 할 수도 있습니다.
답변
워크 플로에서 항목 수준 권한을 설정하지 않는 이유는 무엇입니까?
워크 플로에서 승인 프로세스를 시작하면 필요에 따라 항목 수준 권한을 설정합니다 (귀하의 경우 읽기 액세스).
다음으로 결과를 확인합니다 (즉, 조건에 따라 승인 또는 거부 된 경우) 항목 수준 권한을 재설정합니다.
이렇게하면 승인 프로세스가 시작되면 사용자가 항목에 대한 읽기 전용 액세스 권한 만 갖게됩니다. 항목이 승인 / 거부되면 (즉, 요구 사항에 따라) 상위 목록에서 권한을 상속하도록 상속을 다시 설정할 수 있습니다. 따라서 사용자는 이전과 마찬가지로 액세스 할 수 있습니다.
잠금을 위해 다음 게시물을 확인할 수 있습니다 . 승인을 위해 파일 잠금.
콘텐츠 승인이 해제 된 사용자 정의 흐름 프로세스를 사용하고 흐름을 사용하여 문서를 확인합니다.
다른 답변 외에도 Flow를 사용하여 사용자 권한을 변경하려면 Power Automate 및 SharePoint 권한과 같은 몇 가지 도움이 될 수있는 블로그가 있습니다 .
@Chelsea와 @Rohit 덕분에 크레딧이 그들에게로 가야하고 그들의 답변은 매우 도움이되었습니다 (하나는 upvoted하고 다른 하나는 대답으로 받아 들였습니다). 그러나 완전성을 위해 아래 단계를 게시합니다.
각 목록은 사이트에서 권한을 상속받으며 각 목록에 대해 고유 한 권한이 필요한 경우이 권한을 해제해야합니다. 그러나 이렇게하고 각 목록에 고유 한 권한을 할당하더라도 목록의 각 항목은 목록 권한을 상속합니다. 따라서이 상속을 중단하고 항목 권한을 변경 한 다음 (Chelsea가 제공 한 링크에 설명 된대로) 복원해야합니다 (Rohit이 언급했듯이).
목록의 항목에 새 권한을 할당하려면 새 권한을 할당하려는 그룹의 PID가 필요합니다. PID는 Principal ID를 나타내며 각 사용자 그룹에 따라 다릅니다. 에서 여기에 저자는 REST API를 보내는 제안하고 동적으로 구매하십시오. 이것은 도움이되지만 개발자 당 SP API 호출이 2k로 제한되어 있다고 생각하므로 변경 사항이 많거나 목록이 많으면 부족한 것 같습니다. 그래서 엑셀 파일을 만들고 목록 명, 그룹 명, PID를 저장했습니다. 그룹 목록의 PID를 얻기 위해 아래 호출을 실행했습니다.
https://domain.sharepoint.com/sites/sitename/_api/web/SiteGroups
메모장에 저장하고 확장명을 XML로 바꾸고 EXCEL로 연 다음 중복을 제거하고 고유 한 PID와 그룹 이름을 생각해 냈습니다. 그런 다음이 날짜에 목록 이름 (ListName)을 추가하고 아래와 같이 SP의 Excel에 저장했습니다 (다른 용도로 "Site"라는 열도 추가했습니다).

참고 : 모든 구성원은 그룹의 일부 여야합니다. 그렇지 않으면 그룹에 대해 한 번이 아니라 각 개별 사용자에 대해 API를 호출해야합니다.
편집하기 전에 내 목록의 항목은 다음과 같습니다 (왼쪽 상단의 편집 아이콘에도 주목).

이제 내 흐름은 다음과 같습니다. 조건을 무시하고 개인적인 용도로 사용합니다.

breakinhertance 및 read excel의 세부 정보는 다음과 같습니다. (Excel에서도 하나의 필터 표현식을 사용할 수 있습니다)

및 "Apply to each"루프

마지막으로이 sp 목록에서이 항목의 모든 그룹에 대한 권한을 제거합니다.

이제 편집 된 항목의 권한 수준이 SP (제거 권한 포함)인지 살펴 보겠습니다.

그래서 우리는 왼쪽 상단에 편집이없고 그룹 수가 줄어들었기 때문에 편집 권한을 제거했습니다.
이제 관리자가 요청을보고 승인하고 나머지는 간단합니다. 승인 상태를 변경 한 후 상속 작업을 복원하면됩니다.

마지막으로 항목의 권한 수준은 다음과 같습니다.

모든 것이 정상입니다! :)