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

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

Изменение состава версий хранилища 1С: что это и как работать с версиями

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

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

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

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

Что такое хранилище конфигурации и версии в нём

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

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

Когда требуется изменить состав версии

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

Обратный случай — объект забыли включить в версию. Разработчик изменил процедуру в общем модуле и документ, который её вызывает, но поместил только документ. Модуль остался в старом состоянии, и у коллег после обновления возникнут ошибки вызова несуществующего метода. Добавление объекта в состав версии решает проблему без создания лишней новой версии.

Ещё один сценарий — подготовка «чистой» версии для передачи на тестирование или в рабочую базу. Администратор может привести состав конкретной версии в соответствие с тем, что реально должно уйти дальше по конвейеру разработки.

Лишний объект в версииВерсия содержит объект, который не должен распространяться

Сравните список объектов версии с планом изменений

Отсутствующий объектСвязанные изменения помещены частично

Проверьте зависимые объекты: модули, формы, макеты

Ошибки у коллег после обновленияВозможно, состав последней версии некорректен

Просмотрите историю хранилища и состав последних версий

Кто может изменять состав версий и где это делается

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

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

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

Порядок изменения состава версии

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

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

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

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

Риски и ограничения операции

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

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

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

Типичные ошибки и как их избежать

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

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

Третья ошибка — отсутствие коммуникации. Администратор изменил состав версии молча, а коллеги продолжают работать с устаревшим представлением об истории. Любое изменение состава версий должно сопровождаться сообщением команде: что изменено, в какой версии и что нужно сделать (например, повторно обновиться).

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

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

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

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

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

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

Состав версии в истории хранилища
Норма

Перечень объектов совпадает с планом изменений

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

Остались лишние объекты или отсутствуют нужные

Тестовая загрузка конфигурации из версии
Норма

Загрузка и проверка конфигурации проходят без ошибок

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

Ошибки компиляции модулей или битые ссылки

Состояние у команды после обновления
Норма

Все разработчики обновились и работают без ошибок

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

У коллег ошибки вызова методов или расхождение объектов

Альтернативы изменению состава версии

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

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

Маршрут решения

Как выбрать действие

Версия свежая, никто не обновлялся, состав ошибоченИзмените состав версии напрямую и уведомите команду
На версию уже обновились разработчики или собрана базаПоместите новую версию с корректными изменениями, не трогая старую
В версии ошибка внутри объекта, а не в составеИсправьте объект обычным циклом захват-изменение-помещение
Нужно отменить изменения, но сохранить аудитВерните объект к состоянию старой версии и поместите это как новую версию

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

Изменится ли номер версии после изменения её состава?

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

Может ли обычный разработчик изменить состав версии?

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

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

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

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

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

Как отменить ошибочное изменение состава версии?

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

Чем изменение состава версии отличается от отката версии?

Изменение состава правит перечень объектов внутри существующей версии, не создавая новых записей в истории. Откат — это возврат объектов к состоянию прошлой версии с помещением результата как новой версии. Откат прозрачнее для аудита, изменение состава — быстрее, но скрытнее.

Итог

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

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