Слово «разрешенные» в 1С: где встречается и что с ним делать

· 10 мин

Содержание

В 1С 8.3 «разрешенные» почти всегда означает одно: пользователь видит и меняет только те данные, к которым ему открыт доступ, а остальное программа молча скрывает. Чаще всего это слово встречается в трёх местах: в тексте запроса (ВЫБРАТЬ РАЗРЕШЕННЫЕ), в настройках прав доступа (роли, группы доступа, «разрешенные значения» по организациям и складам) и в технических настройках безопасности (профили безопасности кластера, безопасный режим расширений).

Если отчёт показывает меньше документов, чем есть в базе, или документ падает с ошибкой Нарушение прав доступа!, причина почти наверняка в одной из этих настроек. Каждое из этих мест настраивается отдельно, и проверять их удобнее по очереди.

Как 1С выдаёт права: роли только разрешают

Права в 1С 8.3 строятся на ролях. Роль — это набор флажков по объектам конфигурации: «Чтение», «Добавление», «Изменение», «Удаление», «Проведение», «Просмотр», «Интерактивное удаление» и другие.

Главное правило ролевой модели:

  • ✅ Роль может только разрешать. Запрещающих ролей в платформе нет.
  • ➕ Права суммируются. Если у пользователя две роли и в одной есть «Изменение» справочника, а в другой нет — изменение разрешено.
  • 🚫 Нет флажка — нет права. Всё, что не разрешено ни одной ролью, недоступно.

Отсюда практический вывод. Чтобы «запретить» что-то конкретному сотруднику, нельзя добавить ему роль-запрет. Нужно убрать роль, которая это разрешает, или сделать отдельную, более узкую роль.

Уровни ограничений

УровеньЧто ограничиваетГде настраивается
Право на объектМожно ли вообще открыть справочник, документ, отчётРоли в Конфигураторе, профили групп доступа в БСП
Ограничение на уровне записей (RLS)Какие именно строки видны: документы только своей организации, складаУсловия в ролях, виды доступа в группах доступа
Ограничение на уровне полейВидны ли отдельные реквизитыОграничение доступа к полям в роли
Даты запретаМожно ли менять документы прошлых периодовОтдельная настройка в типовых конфигурациях

В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) роли напрямую пользователю обычно не назначают. Роли собраны в профили групп доступа, а пользователя включают в группу доступа. Путь в БП 3.0: Администрирование → Настройки пользователей и прав → Группы доступа.

Изменения ролей вступают в силу при следующем входе. Если поменяли права, а пользователь «ничего не видит нового», пусть закроет 1С и зайдёт заново.

РАЗРЕШЕННЫЕ в тексте запроса

Это самое частое значение слова для тех, кто пишет отчёты и обработки. Ключевое слово РАЗРЕШЕННЫЕ (англ. ALLOWED) ставится сразу после ВЫБРАТЬ:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Реализация.Ссылка КАК Документ,
    Реализация.Организация,
    Реализация.СуммаДокумента
ИЗ
    Документ.РеализацияТоваровУслуг КАК Реализация
ГДЕ
    Реализация.Дата МЕЖДУ &НачалоПериода И &КонецПериода

Что меняет это слово

Разница проявляется только там, где включено ограничение на уровне записей:

  • 🔴 Без РАЗРЕШЕННЫЕ. Если в выборку попадает хотя бы одна запись, которую пользователю читать нельзя, весь запрос завершается ошибкой. Пользователь получает сообщение о нарушении прав и не видит ничего.
  • 🟢 С РАЗРЕШЕННЫЕ. Недоступные записи просто не попадают в результат. Запрос выполняется, пользователь видит свою часть данных.

Если RLS в базе не настроено, слово ни на что не влияет — запрос вернёт всё, что разрешено ролями.

Где ставить и где нет

  1. В запросе с ОБЪЕДИНИТЬ слово пишут только в первой части. Оно действует на весь запрос-объединение.
  2. В пакете запросов каждый запрос самостоятельный. Если временную таблицу собирает запрос без РАЗРЕШЕННЫЕ, а итог — запрос с ним, ошибка всё равно возникнет на первом шаге.
  3. В запросах для отчётов на СКД слово пишут в тексте запроса набора данных. В конструкторе запроса это флажок «Разрешенные» на вкладке «Дополнительно».
  4. В динамическом списке с произвольным запросом тоже пишите РАЗРЕШЕННЫЕ в тексте — иначе у пользователя с ограничением на уровне записей список может выдать ошибку прав вместо данных.

Итоги по запросу с РАЗРЕШЕННЫЕ считаются только по видимым записям. Бухгалтер с доступом к одной организации увидит в отчёте выручку только этой организации и не получит никакого предупреждения. Если отчёт должен показывать сводные цифры, его выполняют в привилегированном режиме на сервере, а не убирают ограничения у пользователя.

Привилегированный режим

Код, выполняемый в привилегированном режиме, не проверяет права и RLS. Это общий модуль с флажком «Привилегированный» или вызов УстановитьПривилегированныйРежим(Истина) на сервере. Так типовые конфигурации делают служебные расчёты, которые должны видеть все данные. Не используйте этот приём, чтобы обойти ограничения для пользователя, — именно так в базах появляются утечки данных между организациями.

Разрешенные значения в группах доступа

В программах на БСП ограничения на уровне записей настраиваются без программиста — через виды доступа. Типичные виды доступа: организации, контрагенты, склады, физические лица, группы номенклатуры. Набор зависит от конфигурации.

Сначала ограничение нужно включить. В БП 3.0 это флажок «Ограничивать доступ на уровне записей» в разделе Администрирование → Настройки пользователей и прав. Без этого флажка списки «разрешенных значений» не действуют.

Как настроить разрешенные организации или склады

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

Как читать режимы:

РежимЧто видит пользователь
Все разрешены, список — исключенияВсё, кроме перечисленных значений
Все запрещены, список — исключенияТолько перечисленные значения — это и есть «разрешенные»

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

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

Если пользователь входит в несколько групп доступа, разрешенные значения складываются. Состоит в группе с организацией «Альфа» и в группе с организацией «Бета» — увидит обе.

Разрешенный период: даты запрета изменения

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

Как это работает:

  • 📅 Задаётся дата, по которую данные закрыты. Документы с датой не позже неё нельзя записать, провести или пометить на удаление.
  • 👥 Дату задают для всех пользователей сразу или для конкретного пользователя и группы.
  • 🏢 Можно задать отдельную дату по каждой организации.
  • 🔓 Пользователю-исключению указывают свою, более раннюю дату — у него разрешенный период шире.

В БП 3.0 механизм включается в разделе Администрирование → Проведение документов: флажок «Даты запрета изменения» и ссылка на настройку дат. Там же выбирают способ указания — общая дата или по организациям и пользователям.

Типичная схема для бухгалтерии после сдачи квартальной отчётности:

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

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

Разрешенные внешние ресурсы: профили безопасности и безопасный режим

Третье значение — техническое. Здесь «разрешенные» — это белый список того, к чему код 1С может обращаться за пределами базы.

Профили безопасности кластера

В клиент-серверной базе администратор кластера может назначить информационной базе профиль безопасности. В нём перечисляются разрешенные:

  • 📁 виртуальные каталоги на диске сервера;
  • 🧩 COM-классы и внешние компоненты;
  • ⚙️ приложения, которые можно запускать с сервера;
  • 🌐 интернет-ресурсы (адреса и порты).

Профили создаются в консоли администрирования серверов 1С в ветке кластера. Если профиль назначен, а обработка обращается к ресурсу, которого нет в списке, она падает с ошибкой безопасного режима. Типовые конфигурации на БСП умеют сами формировать запрос на разрешения: при подключении внешней обработки появляется окно с перечнем ресурсов, которые нужно разрешить, и его подтверждает администратор.

Расширения и внешние обработки

У расширения конфигурации есть свойство «Безопасный режим». Расширение в безопасном режиме не может писать файлы, запускать программы и вызывать COM-объекты без разрешений профиля безопасности. Его видно в списке расширений: Администрирование → Печатные формы, отчеты и обработки → Расширения.

Внешние отчёты и обработки, подключённые через «Дополнительные отчеты и обработки», в БСП тоже по умолчанию работают в безопасном режиме. Открыть внешний файл .epf или .erf через меню «Файл» может только пользователь с правом интерактивного открытия внешних обработок. Обычному пользователю это право давать не нужно.

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

Разрешенные процессы на уровне Windows

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

  • 1cv8.exe, 1cv8c.exe, 1cv8s.exe — клиентские исполняемые файлы;
  • ragent.exe, rmngr.exe, rphost.exe — процессы сервера 1С;
  • ras.exe — сервер администрирования, если используется rac.

В брандмауэре сервера открывают порт агента 1540, менеджера кластера 1541 и диапазон рабочих процессов (по умолчанию 1560–1591, задаётся в свойствах рабочего сервера).

Как найти, что ограничивает пользователя

Когда у одного сотрудника всё работает, а у другого нет, проверяйте по порядку — от простого к сложному.

  1. Повторите действие под администратором. Работает — проблема в правах, не в данных и не в программе.
  2. Проверьте состав групп доступа. В карточке пользователя (Администрирование → Настройки пользователей и прав → Пользователи) откройте его права доступа . В БСП там же есть отчёт о правах: какие роли получены и через какие группы.
  3. Проверьте разрешенные значения. Если документ не виден в списке, сравните его организацию и склад со списком значений в группе доступа.
  4. Проверьте дату запрета. Документ виден, но не проводится — посмотрите, не попадает ли его дата в закрытый период для этого пользователя.
  5. Посмотрите журнал регистрации. Отказы в доступе пишутся в журнал регистрации как события доступа. Отберите события по пользователю и времени ошибки — в комментарии будет объект, на котором сработал запрет.
  6. Для доработок — проверьте текст запроса. Если ошибка возникает в нетиповом отчёте у ограниченного пользователя, в запросе почти всегда не хватает РАЗРЕШЕННЫЕ.
Диагностика: выберите симптом

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

Можно ли в 1С запретить одно право, не трогая остальные роли?
Нет, запрещающих ролей в платформе нет. Уберите роль, которая даёт это право, и выдайте вместо неё более узкую — в БСП через копию профиля группы доступа.
Замедляет ли РАЗРЕШЕННЫЕ запрос?
Само слово — нет. Замедляет ограничение на уровне записей: платформа добавляет условия RLS к запросу. С РАЗРЕШЕННЫЕ или без, эти условия проверяются одинаково.
Почему после изменения группы доступа пользователь по-прежнему ничего не видит?
Права перечитываются при входе. Попросите пользователя закрыть программу и войти снова. Если используется RLS в БСП, после массовых изменений дождитесь фонового обновления доступа.
Действует ли ограничение по организациям на администратора?
Нет. У пользователя с полными правами ограничения на уровне записей не применяются, поэтому проверять настройки нужно под учётной записью самого сотрудника.
Нужно ли писать РАЗРЕШЕННЫЕ, если RLS в базе выключено?
Да, в доработках — это хорошая практика. Если ограничения включат позже, отчёт продолжит работать, а не начнёт падать у пользователей.