Как запретить пользователю менять дату и организовать выгрузку базы в 1С 7.7

Системный администратор 1С v7.7 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

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

Проанализируем архитектурные особенности платформы 1С 7.7 и рассмотрим эффективные варианты решения этой задачи без нарушения безопасности данных.

Ограничения платформы 1С 7.7 и архитектурные особенности

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

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

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

Шаг 1. Настройка запрета смены даты в 1С 7.7

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

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

Процедура ПриЗаписи()
    Если ТекущаяДата() <> ДатаДок Тогда
        Если НазваниеПрава("АдминистративныеФункции") = 0 Тогда
            Предупреждение("Запрещено менять дату документа!");
            СтатусВозврата(0);
            Возврат;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

Шаг 2. Организация выгрузки и архивации базы без прав администратора

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

Вариант 1. Автоматическая архивация через Планировщик заданий (BAT / CMD скрипт)

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

Для файловой базы данных (DBF) можно создать командный файл backup.bat, который упаковывает каталог базы данных с помощью архиватора (например, 7-Zip или WinRAR):


"C:\Program Files\7-Zip\7z.exe" a -tzip "D:\Backups\Base_%date%.zip" "D:\1C_Bases\TradeAndWarehouse\" -xr!*.cdx

Важное замечание: При создании архива файловой базы стандартными архиваторами во время активной работы пользователей существует риск получить нецелостный архив. Рекомендуется запускать резервное копирование во время перерывов или использовать службу теневого копирования тома (VSS).

Вариант 2. Запуск Конфигуратора в пакетном режиме

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

Пример команды для пакетного запуска 1С 7.7 в режиме Конфигуратора:


1cv7.exe CONFIG /D"D:\1C_Bases\TradeAndWarehouse\" /N"AdminService" /P"SecretPassword" /@C:\Scripts\unload.bat

Где файл команд unload.bat содержит инструкцию для платформы:


[Unload]
UnloadData=D:\Backups\base_dump.zip

Вариант 3. Выгрузка данных для обмена через внешние обработки

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

Итог

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

  1. Отбираем у менеджера права администратора и право запуска Конфигуратора.
  2. В ролях 1С 7.7 отключаем Право смены рабочей даты и ограничиваем доступ к константам закрытия периода.
  3. Настраиваем автоматическое создание резервных копий средствами ОС (планировщик заданий, пакетный режим Конфигуратора или скрипт архивации).
← На главную