Администрирование · 11 мин
Как посмотреть захваченные объекты в хранилище 1С
Как посмотреть захваченные объекты в хранилище конфигурации 1С: меню «Хранилище», колонка «Захвачен», отмена захвата, типичные ошибки и проверка результата.
Захваченные объекты — это элементы конфигурации, которые разработчик «забрал на редактирование» при работе с хранилищем конфигурации 1С. Пока объект захвачен одним пользователем, остальные не могут его изменять и помещать в хранилище — это защищает от конфликтов при командной разработке. Увидеть, какие объекты захвачены и кем, можно прямо в конфигураторе, без дополнительных инструментов.
Чаще всего эта информация нужна в двух ситуациях: когда вы пытаетесь изменить объект и получаете сообщение «Объект захвачен пользователем…», и когда нужно проверить, не остались ли у вас «зависшие» захваты, мешающие коллегам. Ниже разобраны все способы просмотра захваченных объектов, работа с отбором и действия, которые можно выполнить дальше.
Что такое захват объекта и когда он возникает
Захват — это механизм хранилища конфигурации 1С, который фиксирует, что конкретный объект (справочник, документ, модуль, форму и т.д.) сейчас редактирует определённый пользователь. Захват возникает автоматически при первом изменении объекта, если включён режим работы с хранилищем, либо вручную — через команду «Захватить для изменения».
Пока объект захвачен, другие пользователи видят его в дереве конфигурации с пиктограммой замка, но не могут его редактировать и не могут поместить свою версию в хранилище. Захват снимается двумя способами: помещением изменений в хранилище (команда «Поместить») или отменой захвата (команда «Отменить захват»), при которой несохранённые в хранилище правки теряются.
Важно различать захват и изменение: объект может быть захвачен, но фактически не изменён — например, если разработчик случайно нажал редактирование и закрыл форму. Такие «пустые» захваты — частая причина блокировок в команде.
Как увидеть захваченные объекты в дереве конфигурации
Самый быстрый способ — посмотреть прямо в окне конфигурации. Откройте конфигуратор, подключитесь к базе, работающей с хранилищем, и разверните дерево объектов. Захваченные вами объекты отмечены пиктограммой с замком, а объекты, захваченные другими пользователями, — замком другого вида (обычно «серым» или с другим значком, в зависимости от версии платформы).
Чтобы увидеть, кто именно захватил объект, включите отображение дополнительных колонок. В окне конфигурации нажмите правой кнопкой мыши на заголовок дерева и выберите настройку колонок, либо используйте команду «Изменить» в контекстном меню объекта — при попытке захвата чужого объекта система сразу покажет сообщение с именем пользователя, который его держит.
Если объекта нет в видимой части дерева, воспользуйтесь поиском: нажмите Ctrl+F в окне конфигурации или используйте глобальный поиск по метаданным. После нахождения объекта его статус захвата будет виден по пиктограмме.
Просмотр списка захваченных объектов через меню «Хранилище»
Централизованный список всех захваченных объектов открывается через главное меню конфигуратора. Последовательность действий:
- 1Откройте конфигуратор и подключитесь к информационной базе, связанной с хранилищем
- 2В главном меню выберите «Конфигурация» → «Хранилище»
- 3Нажмите пункт «Захваченные объекты» (в некоторых версиях — «Показать захваченные объекты»)
- 4В открывшемся окне изучите список: объекты, пользователи, дата захвата
- 5При необходимости установите отбор по конкретному пользователю
- 6Для снятия захвата выделите объект и используйте «Отменить захват» или «Поместить»
В окне захваченных объектов обычно доступны колонки: имя объекта метаданных, пользователь, выполнивший захват, и признак изменения. По этому списку удобно оценить масштаб «зависших» захватов перед обновлением конфигурации или перед уходом разработчика в отпуск.
Обратите внимание: список показывает текущее состояние на момент открытия. Если коллега только что поместил объект в хранилище, обновите окно или откройте его заново, чтобы увидеть актуальные данные.
Отбор и фильтрация: как найти захваты конкретного пользователя
В окне захваченных объектов есть возможность отбора. Это особенно полезно в командах, где с хранилищем работают несколько разработчиков и список захватов может быть длинным.
Установите флажок отбора по пользователю и выберите нужное имя из списка пользователей хранилища. После этого в окне останутся только объекты, захваченные этим человеком. Аналогично можно проверить собственные захваты — выберите своё имя и убедитесь, что список пуст перед окончанием рабочего дня.
Если отбор по пользователю недоступен в вашей версии платформы, альтернатива — сортировка списка по колонке «Пользователь» кликом по заголовку. Захваты каждого разработчика окажутся сгруппированы, и нужный блок легко найти визуально.
Что делать с захваченными объектами: поместить, отменить или оставить
Увидев список, нужно принять решение по каждому объекту. Вариантов три: поместить изменения в хранилище, отменить захват или оставить как есть, если работа ещё не завершена.
Команда «Поместить» фиксирует ваши изменения новой версией в хранилище и снимает захват. Перед помещением полезно выполнить сравнение с версией хранилища (контекстное меню объекта → «Сравнить с версией хранилища»), чтобы убедиться, что вы отправляете именно те правки, которые планировали.
Команда «Отменить захват» снимает блокировку без сохранения изменений в хранилище. Все локальные правки объекта будут потеряны — объект вернётся к состоянию последней версии хранилища. Используйте эту команду только если уверены, что изменения не нужны.
Как снять чужой захват и когда это допустимо
Штатная ситуация: разработчик уволился, ушёл в отпуск или его сеанс завершился аварийно, а объекты остались захваченными. Поместить или отменить такой захват под своей учётной записью нельзя — это может сделать только сам пользователь или администратор хранилища.
Администратор хранилища может отменить чужой захват через то же окно захваченных объектов: выделить строку и выполнить «Отменить захват». Платформа запросит подтверждение, так как действие потенциально разрушительно — несохранённые правки коллеги будут потеряны.
Перед принудительным снятием захвата свяжитесь с владельцем объекта или его руководителем. Если человек недоступен, а правки могли быть ценными, сначала попробуйте получить его версию: при наличии доступа к его базе выгрузите изменённые объекты в файлы. Если доступа нет, изменения восстановить не получится — отмена захвата вернёт объект к версии хранилища.
Как выбрать действие
Типичные ошибки и ограничения
Ещё одно ограничение: просмотр захваченных объектов доступен только при подключении к хранилищу. Если база отключена от хранилища (например, копия для тестирования), команды меню «Хранилище» будут неактивны, а пиктограммы захвата не отобразятся.
Также учитывайте, что в файловом и клиент-серверном вариантах хранилища поведение идентично, но при сетевых сбоях список захватов может отображаться с задержкой или с ошибкой соединения. В этом случае проверьте доступность каталога или сервера хранилища.
Проверка результата и профилактика «зависших» захватов
После помещения или отмены захвата убедитесь, что действие сработало. Признаки корректного результата:
Как проверить результат
Замок исчез, объект доступен для захвата
Замок остался — захват не снят или выполнен другим пользователем
Объект отсутствует в списке после обновления
Объект на месте — повторите операцию или проверьте соединение с хранилищем
Появилась новая версия с вашим комментарием
Версии нет — помещение не завершилось, изменения только локальные
Для профилактики заведите правило: в конце рабочего дня открывать окно захваченных объектов с отбором по себе и разбирать остаток — помещать готовое и отменять случайные захваты. Это занимает пару минут и избавляет команду от блокировок.
Администратору имеет смысл периодически просматривать полный список захватов и напоминать разработчикам о «долгоживущих» захваченных объектах. Длительно захваченный объект — почти всегда признак забытых изменений или прерванной задачи.
Что важно запомнить
Захваченные объекты видны по пиктограмме замка в дереве конфигурации и в окне «Конфигурация → Хранилище → Захваченные объекты» с отбором по пользователю. Снять захват можно помещением изменений или отменой; чужой захват снимает только администратор хранилища, и перед этим стоит попытаться сохранить несохранённые правки владельца.
Частые вопросы
Почему в меню «Хранилище» нет пункта «Захваченные объекты»?
Скорее всего, информационная база не подключена к хранилищу конфигурации — команды меню становятся доступны только после подключения через «Конфигурация → Хранилище → Подключиться». Также пункт может называться иначе в зависимости от версии платформы, например «Показать захваченные объекты».
Можно ли посмотреть историю, кто и когда захватывал объект?
История версий хранилища показывает помещённые версии и их авторов, но не журнал захватов как таковой. Увидеть, кто изменял объект, можно через «Хранилище → История версий» по конкретному объекту — там отображаются версии, даты и комментарии.
Что будет, если закрыть конфигуратор, не сняв захват?
Захват сохранится на стороне хранилища — объект останется заблокированным для других пользователей до тех пор, пока вы не поместите изменения или не отмените захват при следующем входе. Аварийное завершение сеанса захват не снимает.
Как понять, что объект захвачен, но не изменён?
Выполните сравнение объекта с версией хранилища через контекстное меню. Если сравнение не показывает различий, объект захвачен «вхолостую» — такой захват можно безопасно отменить, никакие правки не пострадают.
Можно ли работать с захваченными объектами через командную строку или скрипт?
Конфигуратор поддерживает пакетный режим с параметрами для работы с хранилищем, включая помещение и получение версий. Однако просмотр списка захваченных объектов удобнее выполнять интерактивно; для автоматизации обычно используют внешние инструменты и EDT, где аналогичные операции доступны через интерфейс командной разработки.
Почему я не могу захватить объект, который никем не занят?
Проверьте, что вы подключены к хранилищу под своим пользователем и что локальная конфигурация не устарела — иногда помогает получение актуальной версии из хранилища. Также убедитесь, что у вашего пользователя хранилища есть права на захват объектов: их настраивает администратор в параметрах пользователей хранилища.