Как массово предоставить права на просмотр документов в 1С:Документооборот

Системный администратор 1С v8.3 (Управляемые формы) 1С:Документооборот
← На главную

В процессе администрирования системы 1С:Документооборот часто возникает задача предоставить новому сотруднику или группе лиц доступ ко всему массиву входящей и исходящей корреспонденции. На первый взгляд решение кажется очевидным — использовать обработку Групповое изменение реквизитов. Однако на практике администраторы сталкиваются с нюансами: от полной очистки существующих прав до проблем с производительностью базы. Рассмотрим детально, как правильно решить эту задачу, избежав типичных ошибок.

Проблема перезаписи табличных частей при групповом изменении

Разберем типичную ситуацию, с которой сталкиваются новички. При попытке добавить пользователя в табличную часть Рабочая группа через стандартную обработку Групповое изменение реквизитов, система по умолчанию полностью перезаписывает данные. Вместо того чтобы добавить одного человека к существующему списку, программа удаляет всех старых участников и записывает только одного нового. Это происходит потому, что обработка воспринимает табличную часть как единый объект для замены.

Чтобы именно добавить пользователя, не удаляя существующих, проанализируем настройки обработки:

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

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

Настройка через механизмы политик доступа

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

Выясним, как работает механизм «Локальные администраторы». В разделе Настройки — Настройки программы — Права доступа — Политики доступа можно назначить пользователя локальным администратором для конкретных видов документов. Это дает ему безусловное право на чтение и редактирование всех объектов данного типа.

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

Ограничение доступа по разрезу «Организация»

Чтобы решить проблему избыточного доступа в многофирменной базе, разберем по шагам настройку политик по разрезам:

  1. Создадим специальный Профиль настроек доступа, где будет разрешено только «Чтение».
  2. В Политиках доступа выберем нужный вид документа (например, Входящая корреспонденция).
  3. Для выбранного пользователя или группы пользователей установим ограничения не только по виду, но и по разрезу Организация.
  4. Укажем конкретные организации, документы которых должен видеть сотрудник.

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

Использование функциональных групп как стратегическое решение

Посмотрим на ситуацию шире. Постоянно запускать групповую обработку при появлении каждого нового сотрудника — трудозатратно. Проанализируем концепцию Функциональных групп.

Вместо добавления конкретного Иванова в рабочие группы документов, создадим функциональную группу, например, Аудиторы. Один раз добавим эту группу в рабочие группы необходимых документов через массовую обработку. В будущем, когда придет новый сотрудник, нам достаточно будет просто включить его в состав функциональной группы Аудиторы в справочнике пользователей. Все права на тысячи документов подтянутся автоматически мгновенно.

Почему документы могут оставаться невидимыми?

Иногда возникают ситуации, когда права вроде бы предоставлены, но пользователь все равно не видит часть документов (например, входящие не видны, а исходящие видны). Разберем возможные причины:

Риски производительности и деградация базы

Выясним важный технический аспект: массовое изменение рабочих групп в тысячах документов — это колоссальная нагрузка на систему. При каждом изменении объекта система генерирует записи в регистре Очередь расчета прав.

Если вы запустите обработку на 100 000 документов днем, это может привести к полной блокировке работы других пользователей, так как фоновые процессы начнут непрерывный пересчет прав. Рассмотрим рекомендации по проведению таких работ:

  1. Выполняйте массовые изменения только в периоды минимальной нагрузки (ночью или в выходные).
  2. Разбивайте порции данных. Вместо изменения всех документов сразу, делайте это частями по 500–1000 объектов.
  3. Следите за размером таблиц регистрации изменений и за тем, как быстро очищается Очередь расчета прав.

Альтернативный метод: Делегирование прав

В заключение разберем метод, который является самым безопасным и быстрым — Делегирование прав. Если новому сотруднику нужно видеть все то же самое, что видит, например, главный секретарь или руководитель подразделения, не нужно мучить рабочие группы.

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

← На главную