К статье
Практический материал

Администрирование · 9 мин

Как отменить захват хранилища 1С

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

Захват объектов в хранилище конфигурации 1С блокирует их для редактирования другими разработчиками. Если разработчик захватил объект и ушёл в отпуск, забыл отменить захват или его сеанс завершился аварийно, объект остаётся «висеть» в захваченном состоянии и мешает командной работе. Отменить захват можно как самостоятельно, так и принудительно — с правами администратора хранилища.

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

Ниже разобраны все рабочие сценарии: отмена собственного захвата через конфигуратор, принудительная отмена чужого захвата администратором, работа с объектами, захваченными в другой информационной базе, и диагностика типовых ошибок.

Что такое захват объекта и когда его нужно отменять

Хранилище конфигурации — это централизованное хранилище версий конфигурации, через которое команда разработчиков координирует изменения. Чтобы изменить объект (справочник, документ, модуль, форму), разработчик сначала захватывает его: хранилище фиксирует, что объект редактируется конкретным пользователем, и запрещает захват другим.

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

Как отменить собственный захват через конфигуратор

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

Порядок отмены своего захвата
  1. 1
    Откройте конфигуратор и подключитесь к информационной базе, привязанной к хранилищу
  2. 2
    Откройте меню «Конфигурация → Хранилище конфигурации → Отменить захват»
  3. 3
    В списке отметьте объекты, захват которых нужно отменить
  4. 4
    Подтвердите действие — платформа предупредит о потере несохранённых изменений
  5. 5
    Проверьте, что объекты исчезли из списка захваченных и доступны другим

В диалоге отмены захвата отображаются все объекты, захваченные текущим пользователем. Можно отменить захват выборочно — например, оставить захваченными объекты, над которыми работа продолжается, и освободить только лишние. Если в дереве конфигурации включён режим отображения захваченных объектов, освобождённые объекты сразу потеряют пометку захвата.

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

Как администратору отменить чужой захват

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

Администратор открывает меню «Конфигурация → Хранилище конфигурации → Администрирование» и переходит на вкладку «Захваченные объекты» (в некоторых версиях платформы — «Объекты, захваченные пользователями»). Там виден полный список: какой объект, кем и когда захвачен. Выделив нужные строки, администратор нажимает кнопку отмены захвата и подтверждает действие.

После принудительной отмены объект становится доступен для захвата всем пользователям хранилища. В истории хранилища такая операция не создаёт новую версию — версия объекта остаётся той, что была до захвата.

Что делать, если объект захвачен в другой информационной базе

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

Решений два. Первое — открыть именно ту информационную базу, из которой выполнялся захват, и отменить захват штатно. Если база удалена или недоступна, остаётся второй путь: администратор снимает захват через окно администрирования хранилища, где привязка к конкретной базе не мешает принудительной отмене.

Типичные ошибки и их причины

При работе с захватом пользователи регулярно сталкиваются с несколькими повторяющимися проблемами. Понимание их причин экономит время на диагностике.

Типичные ошибки
01
Попытка отменить чужой захват без прав администратора — платформа откажет в операции; запросите отмену у администратора хранилища
02
Отмена захвата с откатом изменений, которые ещё нужны, — правки теряются безвозвратно; сначала поместите изменения или сохраните их в файл
03
Путаница между «Отменить захват» и «Поместить в хранилище» — помещение фиксирует новую версию, отмена откатывает к старой
04
Отмена захвата не из той базы — захват привязан к информационной базе, используйте администрирование хранилища
05
Игнорирование зависших сеансов — активное соединение с хранилищем может мешать операциям; завершите сеанс через консоль кластера

Ошибка «Объект захвачен пользователем» при попытке захвата означает ровно одно: объект уже занят. Посмотреть, кем именно, можно в окне администрирования хранилища или через команду показа захваченных объектов. Не пытайтесь обойти блокировку редактированием без захвата — при подключённом хранилище платформа всё равно не даст сохранить такие изменения.

Как проверить результат отмены захвата

После отмены захвата стоит убедиться, что операция прошла корректно и объект действительно свободен. Проверка занимает меньше минуты.

Контрольные точки

Как проверить результат

Список захваченных объектов в администрировании хранилища
Норма

Объект отсутствует в списке

Тревожный признак

Объект по-прежнему числится за пользователем

Попытка захвата объекта другим разработчиком
Норма

Захват выполняется без ошибок

Тревожный признак

Появляется сообщение «объект захвачен»

Состояние объекта в конфигураторе
Норма

Объект соответствует версии хранилища, пометки захвата нет

Тревожный признак

Остались локальные изменения, конфликтующие с хранилищем

Если после отмены объект всё ещё недоступен, проверьте, нет ли активных сеансов, удерживающих соединение с хранилищем, и не выполнялся ли захват повторно другим пользователем. В редких случаях помогает повторное подключение к хранилищу с перезапуском конфигуратора.

Профилактика зависших захватов

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

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

Итог

Что важно запомнить

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

Частые вопросы

Можно ли отменить захват без потери внесённых изменений?

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

Кто имеет право принудительно снимать чужой захват?

Только пользователь с правами администратора хранилища конфигурации. Обычно это учётная запись, под которой хранилище создавалось. Администратор может также добавить других пользователей в список администраторов через окно администрирования хранилища.

Что делать, если разработчик уволился, а его объекты захвачены?

Администратор открывает «Конфигурация → Хранилище конфигурации → Администрирование», находит объекты уволенного сотрудника на вкладке захваченных и отменяет захват. Перед этим желательно уточнить, не осталось ли ценных доработок в его рабочей базе — после отмены они будут недоступны из хранилища.

Почему при отмене захвата появляется ошибка «объект захвачен в другой информационной базе»?

Хранилище привязывает захват к конкретной информационной базе, из которой он выполнялся. Откройте ту самую базу и повторите отмену. Если база удалена или недоступна, захват снимает администратор через окно администрирования хранилища — там привязка к базе не является препятствием.

Создаёт ли отмена захвата новую версию в хранилище?

Нет. Отмена захвата просто снимает блокировку, объект остаётся в той версии, которая была помещена последней. Новые версии создаются только командой «Поместить в хранилище».

Объект после отмены захвата всё равно нельзя захватить. В чём причина?

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