Как отменить ошибочное подключение расширения 1С к хранилищу конфигурации?

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

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

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

Основной способ: Откат к конфигурации базы данных

Несмотря на кажущуюся сложность, решение довольно простое и состоит из двух шагов. Этот метод является штатным и безопасным, если вы не применяли изменения к базе данных (не нажимали F5 или F7).

  1. Отключиться от хранилища. Первым делом необходимо разорвать неверную связь. Для этого в дереве конфигурации найдите ваше расширение, нажмите на нем правой кнопкой мыши и в контекстном меню выберите Хранилище конфигурации -> Отключиться от хранилища. Этот шаг отсоединит расширение от репозитория, но изменения, загруженные из него, пока останутся в конфигураторе.
  2. Вернуться к конфигурации БД. Теперь необходимо отменить сами изменения. Для этого нужно воспользоваться командой Вернуться к конфигурации БД. Здесь кроется важный нюанс, который часто вызывает вопросы: эта команда является контекстно-зависимой.

Это означает, что ее действие зависит от того, какое окно или какой объект в конфигураторе активен в данный момент. Чтобы команда применилась именно к расширению, убедитесь, что:

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

Разбираем сомнения: Действительно ли это работает для расширений?

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

Действительно, исторически эта команда чаще всего применялась для основной конфигурации. Однако в современных версиях платформы 1С:Предприятие 8 она корректно работает и для расширений. Механизм прост: система определяет, с какой конфигурацией (основной или расширения) вы работаете в данный момент, и применяет действие к ней.

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

В этом случае команда Вернуться к конфигурации БД также сработает идеально. Она отменит все изменения, которые еще не сохранены в базу данных. Это включает в себя не только версию, загруженную из хранилища, но и только что созданный вами справочник. Почему? Потому что его еще нет в "конфигурации базы данных". Команда возвращает состояние "как в БД", а в БД этого справочника еще не существует. Таким образом, этот метод является универсальным для отмены любых непримененных правок в расширении.

Дополнительные действия при работе с хранилищем и расширениями

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

Отмена захвата объектов

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

Временное отключение расширения

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

  1. Откройте список расширений: Конфигурация -> Расширения конфигурации.
  2. Найдите нужное расширение в списке и снимите флажок "Активно".

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

Удаление расширения

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

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

← На главную