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

Разработка и Конфигурация · 10 мин

Как обновить хранилище конфигурации 1С

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

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

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

Что такое хранилище конфигурации и когда его обновлять

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

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

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

Подготовка: что сделать перед обновлением

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

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

Для базы, где ведётся активная разработка, полезно сделать выгрузку в .dt перед крупным обновлением. Это страховка на случай, если слияние пройдёт некорректно и конфигурацию придётся откатывать. Выгрузка выполняется через «Администрирование — Выгрузить информационную базу».

Пошаговое обновление конфигурации из хранилища

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

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

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

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

Разрешение конфликтов при слиянии

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

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

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

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

Обновление конфигурации базы данных после загрузки

Загрузка изменений из хранилища меняет только основную конфигурацию, но не структуру базы данных. Чтобы изменения вступили в силу, выполните «Конфигурация — Обновить конфигурацию базы данных» или нажмите F7. Платформа покажет список изменений структуры: новые реквизиты, таблицы, индексы.

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

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

Особые сценарии и ограничения

Обновление до конкретной версии хранилища

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

Работа через сервер хранилищ

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

Сравнение вариантов

Файловое хранилище в сетевом каталоге

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

Сервер хранилищ конфигурации

Для команд от нескольких человек и выше; быстрее, надёжнее, требует установки и администрирования отдельного сервиса

Система контроля версий (Git) через EDT

Для проектов на 1C:Enterprise Development Tools; гибкое ветвление, но другой инструментарий и процесс сборки

Обновление продуктивной базы

Продуктивную базу к хранилищу подключать не следует. Правильный путь: в копии базы обновиться из хранилища, протестировать, сохранить конфигурацию в файл .cf и загрузить её в продуктив через «Конфигурация — Загрузить конфигурацию из файла». Для типовых или отраслевых решений используется механизм поставки обновлений (.cfu).

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

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

Что делать, если обновление зависло или прервалось ошибкой?

Закройте конфигуратор, проверьте доступность каталога или сервера хранилища и повторите операцию. Если конфигурация оказалась в рассогласованном состоянии, выполните «Тестирование и исправление» базы или восстановите её из предварительно сделанной выгрузки .dt.

Можно ли обновиться из хранилища без захвата объектов?

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

Почему после обновления объекты отмечены как изменённые, хотя я их не трогал?

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

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

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

Нужно ли обновлять хранилище, если я работаю один?

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

Чем отличается «Обновить из хранилища» от «Загрузить конфигурацию из файла»?

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

Итог

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

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