Как разрешить пользователю выгружать базу 1С, но запретить изменять конфигурацию?

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

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

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

Почему стандартное разграничение ролей в Конфигураторе не решает проблему?

Давайте проанализировать стандартную систему прав 1С. В платформе существуют два ключевых административных права:

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

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

Таким образом, давать пользователю доступ в Конфигуратор категорически нельзя. Рассмотрим безопасные альтернативные варианты решения.

Решение 1. Использование встроенного резервного копирования БСП (рекомендуется)

Если ваша конфигурация построена на базе БСП (Библиотека стандартных подсистем), что справедливо для большинства современных решений от 1С (Бухгалтерия предприятия, Управление торговлей, ERP и др.), то делать резервные копии можно вообще без захода в Конфигуратор.

Давайте разберем по шагам, как настроить этот механизм:

  1. Зайдите в базу под учетной записью администратора в режиме «1С:Предприятие».
  2. Перейдите в раздел НСИ и администрирование -> Обслуживание -> Резервное копирование и восстановление.
  3. Настройте расписание или выберите вариант «Выполнять резервное копирование при завершении работы».
  4. Укажите каталог, в который будут сохраняться архивные файлы.

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

Решение 2. Создание исполняемого скрипта (батника) для выгрузки

Если базу данных необходимо выгружать строго по требованию в процессе работы, мы можем автоматизировать этот процесс с помощью командного файла операционной системы (файлы с расширением .bat или .cmd). Пользователь будет запускать этот файл со своего рабочего стола, а скрипт самостоятельно выполнит все необходимые действия.

Однако здесь кроется серьезная уязвимость: если написать обычный батник, внутри него в открытом виде будут храниться логин и пароль администратора 1С, необходимые для пакетного запуска Конфигуратора. Любой пользователь сможет открыть такой файл через Блокнот и похитить учетные данные.

Чтобы обезопасить систему, мы применим компиляцию скрипта в исполняемый бинарный файл .exe:

  1. Создаем исходный текстовый файл скрипта. Рассмотрим пример кода для файловой версии базы данных:

@echo off
set "binPath=C:\Program Files\1cv8\8.3.22.1709\bin\1cv8.exe"
set "dbPath=C:\1C_Bases\Accounting"
set "backupPath=D:\Backups\Backup_%date%.dt"
set "adminUser=BackupAdmin"
set "adminPass=MyStrongPassword123"

echo Выполняется резервное копирование базы данных 1С...
"%binPath%" CONFIG /F "%dbPath%" /N "%adminUser%" /P "%adminPass%" /DumpIB "%backupPath%" /OUT "D:\Backups\log.txt" -NoTruncate
echo Копирование завершено.
pause
  1. Используем специализированные утилиты (например, бесплатную программу Bat To Exe Converter) для преобразования этого батника в файл backup.exe. При конвертации исходный код шифруется, и пользователь не сможет увидеть пароль администратора при попытке редактирования файла.
  2. Передаем пользователю готовый файл backup.exe. Теперь для создания копии ему достаточно запустить этот файл.

Решение 3. Использование планировщика задач Windows (альтернатива без компиляции)

Если вы не хотите использовать сторонние конвертеры для создания исполняемых файлов, мы можем скрыть учетные данные администратора с помощью штатных средств операционной системы Windows:

  1. Создаем скрипт выгрузки (аналогичный батнику из Решения 2) и сохраняем его в системную папку, доступ к которой закрыт для обычных пользователей (например, в профиль локального администратора Windows).
  2. В планировщике задач Windows (Task Scheduler) под учетной записью администратора системы создаем новую задачу.
  3. В параметрах задачи указываем запуск нашего бат-файла и выставляем флаг «Выполнять вне зависимости от того, вошел ли пользователь в систему» (это позволит выполнять скрипт с повышенными правами).
  4. На рабочий стол пользователя выносим ярлык со следующей системной командой:

schtasks /run /tn "Имя_Вашей_Задачи_В_Планировщике"

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

Решение 4. Использование специализированного софта (Effector Saver и аналоги)

Для профессиональной организации резервного копирования рекомендуется использовать специализированные утилиты, такие как Effector Saver. Это программное обеспечение устанавливается на сервер или компьютер администратора как служба и имеет множество преимуществ:

Важное отступление: Почему выгрузка в формат .dt не является бэкапом?

Проанализируем крайне важный технический нюанс, о котором часто забывают даже опытные специалисты. На форумах часто звучит фраза: «Выгрузка в формат .dt — это не бэкап!».

Фирма 1С позиционирует формат выгрузки информационной базы (.dt) исключительно как инструмент для переноса данных между различными СУБД (например, при переходе с файлового варианта работы на MS SQL Server или PostgreSQL) или для передачи базы разработчикам. Использовать его для регулярного резервного копирования крайне опасно по следующим причинам:

Правильный бэкап файловой базы — это копирование самого файла базы данных 1Cv8.1CD (предварительно завершив работу всех пользователей) с его последующим сжатием любым архиватором (ZIP, RAR, 7z).

Резюме

Для обеспечения безопасности и стабильности работы системы никогда не давайте рядовым пользователям доступ в Конфигуратор 1С. Используйте для резервного копирования встроенные механизмы БСП (Решение 1) или автоматизированные внешние скрипты/программы (Решения 2, 3 и 4). Это сбережет ваши нервы, защитит конфигурацию от случайных модификаций и гарантирует получение надежных резервных копий.

← На главную