I've been searching for a way to make some setting, that wouldn't allow a student to access the next activity untill he not only submits his work in the workshop, but also evaluates all the works that've been submitted to him for assessment. I suppose that many instructors would like to have such setting, so I hope this post will be useful for them.
In general settings of the workshop there are no such options, and if we just restrict the access to the next activity by completion of workshop, all the students who have at least submitted their work, have access to the next activity. If we restrict access by grades for the workshop, the students, who have assessed their peers' works partially, would also have access.
If we set one of these restrictions and just don't count the grades and wait untill all the students evaluate their peers, the other students, who have already evaluated all the works, have to wait for them and don't have an opportunity to move forward.
Finally I found out it may be done the following way:
1) If you don't have regular groups within your course, all the students are part of one group:
In your workshop set the group mode "separate groups".
Create a grouping and create two groups (let's call them group 1 and group 2). Add both groups to this grouping (let's call it grouping1). Add all your students to the group 1.
Restrict access to the workshop to this grouping (in the "general settings of the module")
Create another grouping 2 and add there group 2. Restrict access to the next activity to grouping 2.
By the completion of the assessment phase, remove all the students, who have finished all the assessments, from the group 1 and add them to the group 2. Now they have access to the next activity, and the rest of the students don't.
Then you can switch the workshop back to the submission phase and go again through all phases, so that the students who haven't completed something, could do it. And again, in the end of the assessment phase move the students, who have completed, to the group 2.
This scheme also allows you to manage the workshop when your number of students is gradually increasing.
Before the another lap you add the new students to group 1. Now when you'll make the random allocation, if you set the same number of reviews that in the previous lap and choose "by reviewers" not "by authors", the students, who have assessed all the peers, will not get new reviewers and new reviews to do, as the allocation is done within their separate group, and as they all already have the needed number of reviews, no allocation will be done in their group. The new allocation will be done only within your group 1, where you now have the students who didn't complete something from the previous lap and the new students.
2) If you have regular groups in your course:
Everything's the same except for you create two groups for each of your regular groups - one of them for students who haven't completed the work, and another for those who did. Add to the grouping 2 all the groups for those who did.
By the completion of the assessment phase from each group you remove the students who have completed the task and add them to another group.
The only inconvenience of this is that students who haven't finished all the assessments, don't see the next activity in the activity list at all.
But we can create there a label telling that there's an activity, that will become visible for them only when they finish all the tasks in the workshop, and restrict access to this label to the grouping of students, who haven't finished the workshop.
Sorry if there are any mistakes, English is not my first language.
Hope this post will be useful for you...