При переносе информационных баз из облачных сервисов, таких как 1С:Фреш, пользователи часто сталкиваются со специфической блокировкой: программа не позволяет изменять настройки, редактировать состав функциональных опций или управлять планами обмена. При попытке внести изменения система выдает уведомление: "Изменять функциональность можно только в режиме сервиса". Проанализируем, почему это происходит и как превратить "облачную" базу в полноценную локальную версию.
Рассмотрим архитектуру автономного рабочего места (АРМ). По своей сути АРМ — это периферийный узел распределенной информационной базы (РИБ), который настроен на синхронизацию с центральным узлом в облаке. В такой базе действуют жесткие ограничения, продиктованные логикой работы в сервисе. Система "считает", что она находится в подчиненном состоянии и многие административные функции ей недоступны, так как они должны управляться централизованно через личный кабинет сервиса или администратором облака.
Для того чтобы снять эти ограничения, нам необходимо выполнить комплекс действий по "отвязке" базы от облачной инфраструктуры. Разберем этот процесс по шагам.
Первое, что необходимо сделать — это разорвать связь в иерархии распределенной базы. Даже если выгрузка была произведена корректно, в базе может сохраняться ссылка на главный узел. Проанализируем стандартный механизм платформы для решения этой задачи.
Попробуем запустить базу в режиме Конфигуратор с использованием специального ключа командной строки. Это базовое действие, которое должно инициировать процедуру отвязки:
/ResetMasterNode.Иногда этого недостаточно, или система не запрашивает подтверждение при входе. В таком случае воспользуемся программным методом. Создадим внешнюю обработку или воспользуемся консолью кода, чтобы выполнить следующую команду:
ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
Этот код принудительно очищает ссылку на родительский узел, превращая базу из подчиненной в самостоятельную. Однако для баз, выгруженных из 1С:Фреш, этого зачастую мало, так как в конфигурациях на базе БСП (Библиотеки стандартных подсистем) установлены дополнительные программные "заглушки".
Выясним, какие внутренние настройки блокируют интерфейс. В прикладных решениях 1С существуют специальные константы, которые определяют логику поведения программы. Рассмотрим наиболее важные из них:
Истина, система блокирует изменение функциональности, считая, что база работает в режиме синхронизации с сервисом.Для исправления ситуации нам необходимо программно сбросить эти значения. Если у вас есть возможность использовать обработку "Групповое изменение реквизитов", найдем в ней раздел "Константы" и установим значения Ложь для указанных выше параметров. Если же интерфейс полностью заблокирован, выполним код:
Константы.ЭтоАвтономноеРабочееМесто.Установить(Ложь);
Константы.НастройкаПодчиненногоУзлаРИБЗавершена.Установить(Ложь);
После выполнения этого кода и перезапуска сеанса 1С:Предприятие, надпись "в режиме сервиса" должна исчезнуть, а доступ к настройкам функциональности — открыться.
Проанализируем ситуацию глубже. Даже после сброса констант в базе могут оставаться "хвосты", которые будут инициировать фоновые задания или попытки связи с несуществующим сервером. Разберем дополнительные меры по очистке:
ИспользоватьРазделениеПоОбластям. В нормальной локальной базе она должна быть в состоянии Ложь.Рассмотрим еще один важный аспект. В облаке права администратора могут быть ограничены (роль "Владелец абонента" дает права в сервисе, но не всегда транслируется в полные права "Администратор системы" в локальной версии). Если после всех манипуляций какие-то действия все равно недоступны, проделаем следующее:
Конфигуратор.1С:Предприятие.Также стоит проверить регистр сведений Параметры блокировки сеансов. Иногда в выгруженную базу попадает информация о том, что база находится на обслуживании, что может мешать регламентным заданиям или работе пользователей.
Мы проанализировали процесс превращения автономного рабочего места в обычную базу. Основной алгоритм действий всегда сводится к трем этапам: сброс связи с главным узлом через УстановитьГлавныйУзел(Неопределено), обнуление константы ЭтоАвтономноеРабочееМесто и последующая очистка планов обмена.
Помните, что перед выполнением любых низкоуровневых операций с базой (изменение констант или сброс узлов РИБ) крайне важно создать резервную копию. Это позволит вам вернуться в исходное состояние, если в процессе "лечения" возникнут непредвиденные ошибки в программном коде БСП.