К статье
Практический материал

Администрирование · 8 мин

Чем отличается право «Просмотр» от права «Чтение» в 1С

Разбираем разницу между правами «Чтение» и «Просмотр» в 1С: как они работают на уровне СУБД и интерфейса, типичные ошибки настройки ролей и способы проверки.

При настройке ролей в конфигураторе 1С администраторы регулярно сталкиваются с парой похожих прав — «Чтение» и «Просмотр». На первый взгляд они дублируют друг друга, и возникает соблазн установить только одно из них. На практике это приводит либо к ошибкам «Нарушение прав доступа», либо к избыточным правам, которых у пользователя быть не должно.

Разница между этими правами принципиальна: «Чтение» работает на уровне данных и контролирует само обращение к записям базы, а «Просмотр» — на уровне интерфейса и разрешает открывать формы объекта. Одно без другого в большинстве сценариев бессмысленно, но есть и исключения, о которых полезно знать.

Что означает право «Чтение»

Право «Чтение» — это базовое право доступа к данным. Оно определяет, может ли пользователь (точнее, сеанс от его имени) получать записи объекта из базы данных. Проверка этого права выполняется платформой при любом обращении к данным: при выполнении запроса, при программном обращении через методы типа НайтиПоНомеру(), при открытии формы, которая читает объект.

Если права «Чтение» нет, любая попытка обратиться к данным завершится ошибкой «Нарушение прав доступа». Это касается и явных действий пользователя, и скрытых механизмов: например, если документ содержит реквизит со ссылкой на справочник, к которому нет права «Чтение», то при открытии документа или построении отчёта по нему возникнет ошибка либо данные будут недоступны.

Важно понимать, что «Чтение» проверяется независимо от интерфейса. Даже если пользователь работает через внешнюю обработку, веб-сервис или COM-соединение, платформа всё равно проверит это право.

Что означает право «Просмотр»

Право «Просмотр» относится к интерактивным правам — оно управляет возможностью открывать формы объекта в пользовательском интерфейсе: форму списка, форму элемента, форму выбора. Это право не даёт доступа к данным само по себе, оно лишь разрешает показ формы.

Интерактивные права проверяются только при действиях пользователя в клиентском приложении. Программный код, выполняемый на сервере, право «Просмотр» не проверяет. Поэтому в журнале регистрации вы не увидите ошибок по этому праву при работе фоновых заданий — оно там просто не участвует.

«Просмотр» всегда имеет смысл только в паре с «Чтением»: форма может открыться, но если данных прочитать нельзя, пользователь получит ошибку. Поэтому в типовых ролях эти два права почти всегда установлены вместе.

Сопоставление двух прав

Нагляднее всего разницу видно в сравнении по ключевым параметрам:

КритерийЧтениеПросмотр
Уровень проверкиДанные (СУБД, запросы, объектные методы)Интерфейс (открытие форм)
Где проверяетсяВезде: клиент, сервер, фоновые задания, веб-сервисыТолько в клиентском приложении
Что запрещает при отсутствииЛюбое получение данных объектаОткрытие форм списка и элемента
Типичная ошибка при отсутствии«Нарушение прав доступа»Команда недоступна или ошибка при открытии формы
Осмысленно без второго праваДа, для обменов и служебных механизмовПрактически нет

Когда какое право устанавливать

Для обычного пользователя, который должен видеть справочник или документы в интерфейсе, устанавливайте оба права. Это стандартная комбинация для «читательских» ролей: человек открывает список, открывает элемент, но не может ничего изменить.

Только «Чтение» без «Просмотра» оправдано в служебных сценариях. Например, роль для пользователя, под которым работает обмен данными или регламентное задание: данные нужно читать, но интерактивной работы нет. Другой случай — когда доступ к объекту должен быть только через отчёты или обработки, а стандартные формы показывать нежелательно.

«Просмотр» без «Чтения» устанавливать бессмысленно: форма либо не откроется, либо откроется с ошибкой доступа к данным. Если вы встретили такую комбинацию в роли — это почти наверняка ошибка настройки.

Маршрут решения

Как выбрать комбинацию прав

Пользователь должен видеть объект в интерфейсе, но не менятьУстановите Чтение + Просмотр
Данные нужны только обмену, отчёту или фоновому заданиюДостаточно права Чтение
Нужно скрыть объект полностьюСнимите оба права и проверьте ссылки из других объектов
Право Просмотр стоит, а Чтение снятоИсправьте: добавьте Чтение или снимите Просмотр

Как проверить настройку на практике

Самый надёжный способ — завести тестового пользователя с проверяемой ролью и войти под ним. Попробуйте открыть список объекта через раздел меню, затем открыть конкретный элемент, затем построить отчёт, в котором объект участвует. Каждый из этих сценариев задействует права по-разному.

Дополнительно используйте отчёт «Анализ прав доступа» (в типовых конфигурациях на базе БСП) или обработку проверки ролей: они покажут, какие права реально получает пользователь с учётом всех назначенных ролей и профилей групп доступа. Помните, что права в 1С складываются по принципу «логического ИЛИ» — если хотя бы одна роль даёт право, оно есть у пользователя.

Порядок проверки прав
  1. 1
    Создайте тестового пользователя и назначьте только проверяемую роль
  2. 2
    Войдите под ним и откройте список объекта
  3. 3
    Откройте элемент объекта и убедитесь, что данные отображаются
  4. 4
    Запустите отчёт, использующий этот объект
  5. 5
    Проверьте журнал регистрации на ошибки «Нарушение прав доступа»

Типичные ошибки и ограничения

Самая частая ошибка — снять «Просмотр», ожидая, что объект «исчезнет» у пользователя, но забыть про «Чтение». Данные останутся доступны через отчёты, обработки и запросы. Если цель — именно защитить данные, ограничивать нужно право «Чтение», а при необходимости тонкой фильтрации — использовать RLS (ограничение доступа на уровне записей).

Вторая ошибка — забыть, что объекты связаны. Если у пользователя нет права «Чтение» на справочник «Контрагенты», то документы, где контрагент указан в реквизитах, могут открываться с ошибками или с недоступными полями. Перед снятием права проверьте, какие объекты ссылаются на ограничиваемый.

Третий нюанс — управляемые формы и команды интерфейса. Даже с правом «Просмотр» команда открытия объекта может быть скрыта настройками интерфейса или функциональных опций. Обратная ситуация тоже встречается: команда видна, но при нажатии возникает ошибка прав. Проверяйте и права, и видимость команд.

Типичные ошибки
01
Снять только «Просмотр» и считать данные защищёнными — они остаются доступны через запросы и отчёты
02
Установить «Просмотр» без «Чтения» — пользователь получает ошибку при открытии формы
03
Не проверить ссылки из других объектов — документы падают с ошибкой из-за недоступного справочника
04
Проверять права под администратором — у полных прав ограничения не видны, тестируйте отдельным пользователем

Частые вопросы

Можно ли дать пользователю доступ к данным только через отчёт, без форм?

Да. Установите право «Чтение» на объект и снимите «Просмотр». Пользователь не сможет открыть стандартные формы списка и элемента, но отчёты и обработки, обращающиеся к данным, будут работать. Убедитесь, что у пользователя есть права на сам отчёт.

Почему при открытии документа ошибка прав, хотя на документ права есть?

Ошибка почти наверняка относится не к документу, а к связанному объекту: справочнику в реквизите, регистру, по которому документ делает движения, или объекту в табличной части. Текст ошибки в журнале регистрации указывает конкретный объект — начните проверку с него.

Чем «Просмотр» отличается от «ИнтерактивноеДобавление» и похожих прав?

«Просмотр» — интерактивный аналог права «Чтение», а «ИнтерактивноеДобавление» — аналог «Добавления». Логика та же: первое право пары работает с данными и проверяется везде, второе управляет действиями в интерфейсе и проверяется только в клиенте.

Влияют ли эти права на работу через веб-сервисы и HTTP-сервисы?

Право «Чтение» влияет: код сервиса выполняется под конкретным пользователем, и платформа проверит его права на данные. «Просмотр» не проверяется, потому что интерактивной работы нет. Если сервис должен работать независимо от прав, код выполняют в привилегированном режиме.

Как быстро узнать, какие роли дают конкретное право пользователю?

В конфигураторе откройте роль и посмотрите флажки прав по объектам, либо воспользуйтесь отчётом «Анализ прав доступа» в пользовательском режиме (в конфигурациях на БСП). Он показывает итоговые права пользователя с учётом всех профилей и групп доступа.

Итог

Что важно запомнить

«Чтение» — доступ к данным на любом уровне, «Просмотр» — разрешение открывать формы в интерфейсе. Для обычного просмотра нужны оба права, для обменов и отчётов достаточно «Чтения», а «Просмотр» без «Чтения» — признак ошибки в настройке роли. Проверку выполняйте тестовым пользователем, не забывая про связанные объекты.