Почему 1С постоянно спрашивает «Информационная база была перемещена или восстановлена из резервной копии» и как решить эту проблему раз и навсегда

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

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

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

---

Как «1С:Предприятие» понимает, что база была перемещена?

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

---

Почему возникает «бесконечный» цикл вопросов в SQL-базах?

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

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


// У Пользователя №1 в списке баз прописано имя сервера (NetBIOS):
Srvr="srv-sql";Ref="trade_db";

// У Пользователя №2 прописан IP-адрес сервера:
Srvr="192.168.1.100";Ref="trade_db";

// У Пользователя №3 прописано полное доменное имя (FQDN):
Srvr="srv-sql.local-domain.ru";Ref="trade_db";

Когда Пользователь №1 заходит в систему, БСП проверяет константу. Допустим, там записано значение srv-sql. Всё совпадает, база запускается без вопросов. Затем в систему заходит Пользователь №2. Его строка содержит 192.168.1.100. Система видит несовпадение, считает, что базу перенесли на другой сервер, и выводит предупреждающее окно. Пользователь №2 нажимает кнопку «Информационная база перемещена». В этот момент программа перезаписывает константу, сохраняя туда новое значение — 192.168.1.100.

На следующий день Пользователь №1 снова пытается войти в базу. Теперь система видит несоответствие его строки (srv-sql) и нового значения в константе (192.168.1.100). Окно появляется снова, Пользователь №1 опять нажимает «Перемещена» — и так продолжается бесконечно.

Аналогичная проблема часто возникает при использовании веб-серверов (IIS или Apache), когда часть пользователей работает через тонкий клиент по протоколу HTTP/HTTPS, а часть — напрямую через локальную сеть.

Также стоит упомянуть известную ошибку платформы 00-00188874. Она заключается в том, что в кластере с несколькими рабочими серверами имя активного сервера может динамически меняться в строке подключения, что также приводит к постоянной перезаписи параметров блокировки.

---

Штатные способы решения проблемы (без стороннего вмешательства)

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

Способ 1. Отключение проверки имени сервера (самый простой и надежный метод для SQL)

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

Выполним это по шагам:

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

После этого система перезапишет настройки в базе данных и в дальнейшем будет сравнивать только идентификатор базы данных Ref, полностью игнорируя различие между IP-адресами, NetBIOS и FQDN-именами серверов.

Если окно в данный момент не выводится, но вы хотите настроить этот параметр превентивно:

  1. Запустите базу данных под пользователем с административными правами.
  2. Перейдите в главное меню, выберите раздел «Функции для технического специалиста» (в старых версиях платформы — «Все функции»).
  3. В списке объектов найдите раздел Константы.
  4. Найдите константу ПараметрыБлокировкиРаботыСВнешнимиРесурсами и откройте её.
  5. В открывшейся форме найдите и снимите флаг «Проверять имя сервера», после чего сохраните изменения.

---

Способ 2. Унификация строк подключения пользователей

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

Разберем, как автоматизировать этот процесс:

  1. Выберите один стандарт обращения к серверу. Рекомендуется использовать именно сетевое NetBIOS-имя (например, srv-sql), так как IP-адреса могут измениться при перенастройке сети или замене роутера.
  2. Для централизованного управления списками баз используйте механизм общих информационных баз. Для этого создается общий файл со списком баз (формата .v8i) и размещается на сетевом ресурсе, доступном всем сотрудникам.
  3. В параметрах запуска 1С на компьютерах пользователей прописывается ссылка на этот общий список. Это гарантирует, что у каждого сотрудника строка подключения будет абсолютно идентичной, вплоть до регистра символов.

---

Способ 3. Сброс и разблокировка регламентных заданий (если случайно нажали «Это копия»)

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

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

Чтобы вернуть базе рабочий статус и снять блокировку внешних ресурсов, выполните следующие действия:

  1. Войдите в программу под пользователем с полными правами.
  2. Перейдите в раздел Администрирование, далее выберите пункт Обслуживание (в некоторых отраслевых решениях данный путь может выглядеть как Компания — Администрирование — Регламентные операции).
  3. Разверните подраздел Регламентные операции.
  4. Найдите и нажмите кнопку «Разблокировать работу с внешними ресурсами».
  5. Система автоматически снимет блокировки, фоновые задания возобновят работу в штатном режиме, а префикс [КОПИЯ] исчезнет из заголовка главного окна.

---

Способ 4. Решение проблемы для файлового варианта базы данных

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

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

  1. Попросите всех пользователей полностью выйти из программы 1С.
  2. Откройте каталог, в котором физически располагается база данных (там, где находится файл 1Cv8.1CD).
  3. Найдите текстовый файл DoNotCopy.txt.
  4. Попробуйте удалить этот файл. Если операционная система сообщает, что файл занят, значит, кто-то из пользователей не вышел из базы или процесс 1cv8.exe «завис» в диспетчере задач сервера. Завершите все активные сеансы.
  5. Удалите файл DoNotCopy.txt.
  6. Для того чтобы очистить кэш путей операционной системы, переименуйте саму папку с базой данных (например, если папка называлась TradeBaza, переименуйте ее в TradeBaza_New).
  7. Запустите стартер 1С на своем компьютере, удалите старую запись базы из списка и добавьте ее заново, указав обновленный путь к папке TradeBaza_New.
  8. При первом запуске система обнаружит отсутствие файла контроля и выдаст стандартный запрос. Смело нажимайте кнопку «Информационная база перемещена». Программа создаст новый чистый файл DoNotCopy.txt с корректным актуальным путем, и проблема будет решена.

---

Резюме

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

При возникновении проблем в клиент-серверном режиме всегда начинайте с проверки единообразия строк подключения на компьютерах пользователей и, при необходимости, отключайте флаг проверки имени сервера. В файловом режиме достаточно очистить устаревший файл DoNotCopy.txt и обновить путь в списке баз.

← На главную