Как заблокировать работу со всеми внешними ресурсами в 1С:Документооборот КОРП 2.1

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

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

Суть механизма блокировки внешних ресурсов

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

Проанализируем, что именно ограничивает система в режиме блокировки:

  1. Электронная почта: Полностью блокируется отправка и получение писем по всем учетным записям. Это критически важно, чтобы из тестовой базы сотрудники или контрагенты не получили уведомления о задачах, которые уже давно выполнены.
  2. Синхронизация данных: Все узлы обмена переходят в состояние блокировки. Попытки выгрузки или загрузки данных через универсальный механизм обмена будут пресекаться.
  3. Регламентные задания: Большинство заданий, которые инициируют внешние соединения (рассылки, обмены, запросы к классификаторам), останавливаются.
  4. HTTP и Web-сервисы: Блокируются исходящие запросы к внешним API, что защищает сторонние сервисы от некорректных данных из «песочницы».

Способ 1: Использование пользовательского интерфейса

Рассмотрим самый простой и штатный способ активации защиты. Как правило, при первом входе администратора в копию базы система сама выводит диалоговое окно с вопросом: «Информационная база перемещена или восстановлена из копии?».

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

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

  1. Зайдем в раздел Настройка и администрирование.
  2. Выберем пункт Обслуживание.
  3. Перейдем в подраздел Регламентные операции.
  4. Здесь мы увидим статус работы с внешними ресурсами. Если блокировка активна, будет доступна кнопка для ее снятия. Если блокировки нет, но она нужна — мы можем принудительно изменить параметры через программные инструменты или дождаться автоматического срабатывания системы при смене параметров подключения к СУБД.

Способ 2: Программная блокировка (для разработчиков)

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

Для принудительной установки блокировки мы можем воспользоваться методом общего модуля ОбщегоНазначения. Рассмотрим пример кода, который можно выполнить в консоли кода или во внешней обработке:


// Устанавливаем блокировку работы с внешними ресурсами
ОбщегоНазначения.УстановитьБлокировкуРаботыСВнешнимиРесурсами(Истина);

// Сообщим пользователю об успешном выполнении
Сообщить("База успешно переведена в режим работы с копией. Внешние ресурсы заблокированы.");

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

Технические детали хранения настроек

Выясним причину, по которой система «узнает», что она стала копией. В конфигурациях на БСП существует структура параметров, называемая ПараметрыРаботыСВнешнимиРесурсами. Она хранится либо в константах, либо в скрытых хранилищах настроек (в зависимости от версии БСП в составе вашего Документооборота).

В этой структуре хранятся:

При каждом запуске система сравнивает текущие параметры соединения (строку соединения) с теми, что хранятся в этой структуре. Если хотя бы один параметр изменился — БСП считает, что базу перенесли, и включает защитный протокол.

Как визуально убедиться в блокировке?

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

Если вы видите эту надпись, значит:

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

Заключение

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

← На главную