Как исправить ошибку «Изменилась строка соединения информационной базы» и восстановить работу регламентных заданий в 1С:ERP?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием
← На главную

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

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

Выясним причину: почему блокируются задания?

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

При каждом старте система сравнивает текущую строку соединения с сохраненной в базе. Если они не совпадают — например, вы сменили протокол подключения, использовали IP-адрес вместо DNS-имени сервера или просто обновили платформу, которая иначе интерпретировала строку соединения — база помечается как «копия». В этом режиме работа с внешними ресурсами (почта, SMS, FTP) блокируется программно через установку параметра сеанса РаботаСВнешнимиРесурсамиЗаблокирована в значение Истина. Для гибкого управления доступом к внешним сервисам можно применить решение для настройки блокировки внешних ресурсов на продуктовом и тестовом контуре.

Способ 1. Разблокировка через пользовательский интерфейс

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

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

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

Способ 2. Программный сброс блокировки через консоль кода

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

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


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

// Дополнительно можно явно снять блокировку в текущем сеансе
ПараметрыСеанса.РаботаСВнешнимиРесурсамиЗаблокирована = Ложь;

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

Способ 3. Работа с параметрами сеанса и внешними обработками

Если проблема возникла в процессе разработки или в специфических условиях (например, в копии базы для отладки обмена почтой), нам может потребоваться точечное управление блокировкой. Как было отмечено в обсуждении на форуме, ошибка часто вызвана тем, что значение ПараметрыСеанса.РаботаСВнешнимиРесурсамиЗаблокирована жестко стоит в Истина. Для управления блокировкой заданий в тестовых копиях можно использовать обработку для обхода блокировки регламентных заданий в копиях баз.

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


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

Способ 4. Проверка функциональных опций

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

Также стоит убедиться, что для регламентного задания ПолучениеИОтправкаЭлектронныхПисем в списке регламентных заданий не снята галочка «Использование». Если при попытке ее поставить она исчезает, значит, механизм защиты БСП, описанный выше, все еще считает базу копией и перехватывает управление при записи задания.

Дополнительные рекомендации по диагностике

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

  1. Кеш сервера 1С. При обновлении конфигурации ERP кеш на сервере может содержать старые метаданные или некорректные значения параметров сеанса. Рекомендуется остановить службу 1C:Enterprise Server Agent, очистить папку srvinfo/reg_1541/snccntx... и запустить службу заново.
  2. Единообразие строки соединения. Проверьте, как база прописана в списке у пользователей. Если один заходит через SERVER-1, а другой через 192.168.1.10, для БСП это разные базы. Договоритесь об использовании единого стандарта (лучше всего — полное доменное имя FQDN).
  3. Внутренний идентификатор (GUID). Если база в кластере была удалена и создана заново с тем же именем, ее внутренний идентификатор изменился. В этом случае БСП гарантированно заблокирует внешние ресурсы. Решение — метод из Способа 2.

Подводя итог, можно сказать, что данная ошибка — это не баг, а защитная фича. Самым правильным и безопасным решением является использование стандартной кнопки «Информационная база перемещена» в разделе обслуживания. Если же интерфейс блокирует это действие, использование программного метода ОбщегоНазначения.УстановитьРабочееСостояниеИнформационнойБазы(Истина) через консоль будет наиболее эффективным путем решения задачи.

← На главную