Как настроить права доступа только на просмотр в 1С:Бухгалтерия 2.0 и стоит ли переходить на 3.0

Программист 1С v8.3 (Обычные формы) 1C:Бухгалтерия Бухгалтерский учет
← На главную

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

Способ 1: Использование даты запрета редактирования

Первый и самый простой метод, который мы проанализируем — это установка даты запрета изменения данных. Этот способ не требует программирования и изменения структуры прав, но имеет ряд критических ограничений.

Разберем алгоритм действий:

  1. Перейдем в меню Сервис — Установка даты запрета изменения данных.
  2. Установим ограничение для конкретного пользователя или группы пользователей.
  3. В качестве даты запрета укажем далекое будущее, например, 31.12.2100.

Важный нюанс: Этот механизм эффективно блокирует изменение уже существующих документов и проведение новых документов в закрытом периоде. Однако, проанализируем слабые места этого метода. Во-первых, он не всегда запрещает создание новых документов текущей датой (зависит от настроек платформы и конкретного релиза конфигурации). Во-вторых, дата запрета никак не ограничивает доступ к справочникам. Пользователь сможет изменить наименование контрагента, расчетный счет или номенклатуру, что может нарушить целостность учета.

Способ 2: Настройка RLS (Record Level Security)

Выясним, как использовать механизм ограничения доступа на уровне записей (RLS). Это штатный функционал, который позволяет гибко настроить видимость и возможность изменения объектов. В БП 2.0 этот функционал находится в меню Сервис — Настройка программы — Права доступа.

Рассмотрим особенности настройки RLS в «обычном приложении»:

  1. Необходимо включить флаг «Ограничивать доступ на уровне записей».
  2. После включения этой опции в программе появятся дополнительные справочники: «Группы доступа контрагентов», «Группы доступа физических лиц» и другие.
  3. Для реализации режима «Только чтение» нам потребуется настроить Профиль прав доступа (если это предусмотрено в вашей версии БСП) или напрямую редактировать роли.

Проанализируем ситуацию с производительностью. Механизм RLS в версии 2.0 работает через динамическое добавление условий в SQL-запросы. Это означает, что при каждой попытке чтения данных система будет проверять права пользователя на каждую строку таблицы. Если база данных большая, мы можем столкнуться со значительным замедлением работы. Как отмечают специалисты, работа может замедлиться не в 10 раз, но ощутимо для конечного пользователя, особенно при формировании тяжелых отчетов.

Способ 3: Создание кастомной роли без снятия с поддержки

Если нам критично сохранить поддержку конфигурации (чтобы «замок» на объектах остался), но стандартные методы не помогают, мы можем пойти путем добавления нового объекта в конфигураторе.

Разберем, как это сделать правильно:

  1. Откроем конфигуратор и создадим новую роль, назовем ее, например, ТолькоПросмотрБП.
  2. В правах этой роли для всех объектов (документов, справочников, регистров) установим галочки только на Чтение, Просмотр и Вывод (для печати).
  3. Критически важно: не снимайте типовую конфигурацию с поддержки. 1С позволяет добавлять свои роли, не меняя структуру основных объектов. При обновлении вам нужно будет лишь следить, чтобы права на новые объекты, добавленные вендором, также прописывались в вашей роли.
  4. Назначим эту роль пользователю вместе с ролью Пользователь (которая необходима для запуска сеанса).

Преимущества перехода на 1С:Бухгалтерия 3.0

Рассмотрим, почему переход на версию 3.0 (управляемое приложение) является стратегически верным решением для данной задачи. В современной «Бухгалтерии предприятия» механизм прав был полностью переработан на базе «Библиотеки стандартных подсистем» (БСП).

Выясним основные отличия:

Техническая реализация проверки прав

Если вы все же решили остаться на версии 2.0 и планируете программно ограничить доступ, посмотрим на пример кода, который можно использовать в подписках на события или в модулях объектов для проверки режима «Только чтение».

Пример проверки роли программным способом:


Если РольДоступна("ТолькоПросмотрБП") Тогда
    Если НЕ РольДоступна("ПолныеПрава") Тогда
        Отказ = Истина;
        Сообщить("У вас недостаточно прав для изменения данных (режим Только чтение).");
    КонецЕсли;
КонецЕсли;

Однако, проанализировав ситуацию, мы рекомендуем избегать написания кода внутри типовых модулей. Лучше использовать штатный механизм RLS или перейти на версию 3.0. Это позволит сохранить чистоту конфигурации и избежать проблем при привлечении сторонних специалистов для сопровождения базы.

Итоги и рекомендации

Подводя итог, можно сказать: полноценное ограничение «только просмотр» в 1С 2.0 требует либо включения RLS (что замедляет базу), либо создания новой роли в конфигураторе. Метод с датой запрета редактирования является временным «костылем» и не дает 100% гарантии защиты данных.

Мы рекомендуем рассмотреть переход на 1С:Бухгалтерия 3.0, так как это не только решит вопрос с правами доступа «из коробки», но и обеспечит соответствие актуальному законодательству, поддержку новых сервисов 1С и более высокую производительность системы за счет использования управляемых форм и современного механизма RLS.

← На главную