That's what I did, but this option does not suit me. Because using such a solution, there are many other problems, such as the button 'EDIT" is activated when switching to edit mode, because working method DO_BEFORE_OUTPUT, and user have permission for edit this document. If I do this with condition IV_FIRST_TIME that is working bad too. In this case check for role working one time before view is dispalying.
In all these cases, I need a lot of checks that need to be specified for each block. I think there is some easier way out