Что выбрать при разворачивании копии базы 1С: «Информационная база была перемещена» или «Это копия»?

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

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

Механизм определения изменения местоположения базы

Прежде всего, выясним причину появления этого вопроса. Платформа 1С:Предприятие определяет, что база изменила свое положение, путем сравнения текущих параметров подключения с теми, которые были зафиксированы в системе ранее. Для клиент-серверного варианта анализируются имя сервера и имя базы в СУБД, для файлового — путь к каталогу. Эти данные сопоставляются с уникальным идентификатором InformationBaseID.

Проанализируем ситуацию: если параметры не совпадают, система понимает, что перед ней либо переезд на новый сервер, либо создание дубликата. В этот момент выполнение всех регламентных заданий приостанавливается до тех пор, пока администратор не примет решение.

Что происходит при выборе варианта «Это копия»

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

Рассмотрим подробнее, какие именно функции будут ограничены:

Для разработчиков важно знать, что настройка списка таких заданий в типовых конфигурациях (на базе БСП) происходит в переопределяемом модуле. Посмотрим на пример кода, где определяются такие настройки:


Процедура ПриОпределенииНастроекРегламентныхЗаданий(Настройки) Экспорт
    // Здесь задаются правила для заданий, работающих с внешними ресурсами
    НоваяСтрока = Настройки.Добавить();
    НоваяСтрока.ИмяМетаданных = "ОбменСБанками";
    НоваяСтрока.РаботаетСВнешнимиРесурсами = Истина;
КонецПроцедуры

Риски выбора варианта «Информационная база была перемещена»

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

Проанализируем риски такого действия в контексте копии:

  1. Конкуренция за ресурсы: Если оригинальная рабочая база продолжает функционировать, обе базы начнут одновременно обращаться к одним и тем же внешним ресурсам. Например, при получении почты по протоколу POP3, база-копия может успеть забрать письмо первой и удалить его с сервера, в результате чего рабочая база его «не увидит».
  2. Замусоривание внешних систем: Тестовые данные из копии могут улететь в реальные системы (например, в сервис заказов или личный кабинет клиента), что приведет к путанице.
  3. Проблемы РБД: Если база является узлом распределенной системы, копия начнет обмениваться данными с другими узлами. Это приведет к катастрофической рассинхронизации, так как в периметр обмена попадут тестовые изменения.

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

Особенности перехода с БП 3.0 ПРОФ на КОРП в копии

В контексте обсуждения перехода с версии ПРОФ на КОРП, использование кнопки «Это копия» является обязательным. Разберем по шагам, на что обратить внимание:

Как исправить ошибку, если выбор уже сделан

Рассмотрим ситуацию, когда пользователь случайно нажал «Перемещена» в копии. Чтобы вернуть систему в состояние запроса или принудительно установить блокировку, можно использовать несколько способов.

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

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


/С ЗапуститьОбновлениеИнформационнойБазы

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

← На главную