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

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

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

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

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

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

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

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

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

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

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

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

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

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

Третий пункт подготовки — резервная копия. Для файловой базы достаточно скопировать каталог с файлом 1Cv8.1CD, для клиент-серверной — сделать выгрузку в dt или штатную копию средствами СУБД. Это особенно важно, если обновление затрагивает структуру метаданных: реструктуризация при ошибке может повредить данные, и копия станет единственным способом отката.

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

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

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

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

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

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

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

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

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

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

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

Конфигурация соответствует последней версии, в истории нет неполученных помещений

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

Коллеги видят объекты, которых нет у вас в дереве конфигурации

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

Окно реструктуризации не появляется при повторном нажатии F7 — изменения применены

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

При запуске предприятия ошибки о несоответствии конфигурации и конфигурации БД

Работа изменённых механизмов
Норма

Доработанные коллегами функции выполняются без ошибок

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

Ошибки компиляции модулей, ссылки на несуществующие объекты

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

Ваши захваченные объекты содержат ваши изменения

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

Локальные правки исчезли — их перезаписала версия из хранилища

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

Конфликты версий и способы их разрешения

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

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

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

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

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

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

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

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

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

Типичные ошибки и ограничения механизма

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

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

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

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

Что делать, если при обновлении из хранилища пропали мои изменения?

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

Можно ли обновиться не до последней, а до конкретной версии хранилища?

Да. В диалоге обновления из хранилища снимите флаг получения последней версии и укажите нужный номер. Список версий с авторами и комментариями доступен через «Хранилище конфигурации → История версий». Это штатный способ отката к состоянию до ошибочного помещения.

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

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

Почему после обновления из хранилища в режиме предприятия ничего не изменилось?

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

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

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

Нужны ли особые права для работы с хранилищем?

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

Итог

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

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