Разработка и Конфигурация · 13 мин
Как обновить конфигурацию 1С из хранилища
Как обновить конфигурацию 1С из хранилища: подключение, получение изменений, разрешение конфликтов, типичные ошибки и проверка результата обновления.
Обновление конфигурации из хранилища — стандартная операция при командной разработке в 1С. Хранилище конфигурации хранит историю изменений всех объектов, а каждый разработчик работает со своей копией информационной базы, периодически забирая изменения коллег и отправляя свои. Если механику обновления понимать неправильно, легко потерять чужие доработки или получить конфликт версий, который остановит работу всей команды.
Процедура выполняется в конфигураторе и занимает несколько минут, но требует соблюдения порядка действий: сначала нужно убедиться, что собственные изменения захвачены и помещены в хранилище, затем получить актуальную версию и только после этого обновить конфигурацию базы данных. Пропуск любого шага — типичная причина потери кода.
Ниже разобран полный цикл: подключение к хранилищу, получение изменений, работа с конфликтами, обновление конфигурации базы данных и проверка результата. Отдельно рассмотрены ситуации для типовых и доработанных конфигураций, а также ошибки, с которыми разработчики сталкиваются чаще всего.
Что такое хранилище конфигурации и когда нужно обновление
Хранилище конфигурации — это централизованное хранилище версий всех объектов конфигурации: модулей, форм, макетов, ролей. Каждое помещение изменений создаёт новую версию с номером, комментарием и автором. Благодаря этому несколько разработчиков могут работать параллельно, не мешая друг другу, а при необходимости — откатиться к любой предыдущей версии.
Обновление из хранилища требуется в трёх типовых ситуациях. Первая — начало рабочего дня: перед тем как брать задачу, нужно забрать изменения, которые коллеги поместили накануне. Вторая — перед помещением собственных изменений: если объект изменял кто-то ещё, хранилище потребует сначала получить актуальную версию. Третья — восстановление после сбоя локальной базы, когда проще обновиться до нужной версии, чем разбираться с повреждёнными данными.
Важно понимать разницу между обновлением конфигурации из хранилища и обновлением конфигурации базы данных. Первая операция меняет конфигурацию разработчика (то, что вы видите в дереве объектов), вторая — применяет изменения к структуре базы данных, чтобы они заработали в режиме предприятия. Обе операции нужны, и выполняются они последовательно.
Подготовка: что проверить перед обновлением
Перед получением изменений убедитесь, что вы подключены к хранилищу. Откройте конфигуратор и посмотрите меню «Конфигурация → Хранилище конфигурации»: если пункт «Отключиться» активен, подключение есть. Если активен пункт «Подключиться» — сначала укажите путь к хранилищу (каталог с файлом 1cv8ddb или сервер хранилища) и учётные данные пользователя хранилища.
Второй обязательный шаг — проверить собственные захваченные объекты. Откройте «Хранилище конфигурации → Захваченные объекты» и оцените список. Если изменения закончены — поместите их в хранилище с осмысленным комментарием. Если доработка не завершена, решите: либо отложить обновление, либо отменить захват с сохранением изменений локально. Обновление из хранилища с незахваченными или изменёнными, но не помещёнными объектами может привести к конфликтам.
Третий пункт подготовки — резервная копия. Для файловой базы достаточно скопировать каталог с файлом 1Cv8.1CD, для клиент-серверной — сделать выгрузку в dt или штатную копию средствами СУБД. Это особенно важно, если обновление затрагивает структуру метаданных: реструктуризация при ошибке может повредить данные, и копия станет единственным способом отката.
Пошаговое обновление конфигурации из хранилища
Основная процедура выполняется через меню конфигуратора и не требует специальных прав, кроме доступа к хранилищу. Убедитесь, что конфигурация открыта и поддержка хранилища настроена корректно.
- 1Откройте конфигуратор и подключитесь к хранилищу: «Конфигурация → Хранилище конфигурации → Подключиться», укажите путь и учётные данные.
- 2Поместите собственные завершённые изменения: «Поместить в хранилище» с комментарием о содержании доработки.
- 3Выберите «Конфигурация → Хранилище конфигурации → Обновить конфигурацию из хранилища».
- 4В диалоге укажите версию: оставьте «последнюю версию» или выберите конкретный номер из списка.
- 5Подтвердите обновление и дождитесь загрузки изменённых объектов.
- 6Выполните обновление конфигурации базы данных: «Конфигурация → Обновить конфигурацию базы данных» или клавиша F7, примите изменения структуры.
- 7Запустите базу в режиме предприятия и проверьте работу изменённых механизмов.
При выборе версии есть нюанс. Вариант «последняя версия» подходит для ежедневной синхронизации. Выбор конкретной версии нужен, когда требуется откатиться к состоянию до ошибочного помещения или получить промежуточное состояние для анализа. Список версий с авторами и комментариями доступен через «Хранилище конфигурации → История версий» — оттуда же можно сравнить версии между собой.
После загрузки объектов конфигуратор покажет окно сравнения и объединения, если текущая конфигурация отличается от получаемой. Здесь важно не нажимать «Выполнить» вслепую: просмотрите список изменённых объектов и убедитесь, что среди них нет ваших незавершённых доработок. Объекты, захваченные вами и изменённые, по умолчанию не перезаписываются, но снятые с захвата — обновятся полностью.
Обновление конфигурации базы данных и проверка результата
Получение объектов из хранилища меняет только конфигурацию разработчика. Чтобы изменения заработали, нажмите F7 или выберите «Конфигурация → Обновить конфигурацию базы данных». Конфигуратор покажет окно реструктуризации со списком изменений структуры: новые реквизиты, таблицы, индексы. Примите изменения кнопкой «Принять».
Если в базе работают пользователи, обновление конфигурации базы данных может потребовать монопольного доступа — при изменении структуры данных сеансы придётся завершить. В клиент-серверном варианте используйте консоль кластера для завершения сеансов или запланируйте обновление на нерабочее время. Изменения только в модулях без изменения структуры часто применяются без монопольного режима, но активные сеансы продолжат работать со старым кодом до перезапуска.
Как проверить результат
Конфигурация соответствует последней версии, в истории нет неполученных помещений
Коллеги видят объекты, которых нет у вас в дереве конфигурации
Окно реструктуризации не появляется при повторном нажатии F7 — изменения применены
При запуске предприятия ошибки о несоответствии конфигурации и конфигурации БД
Доработанные коллегами функции выполняются без ошибок
Ошибки компиляции модулей, ссылки на несуществующие объекты
Ваши захваченные объекты содержат ваши изменения
Локальные правки исчезли — их перезаписала версия из хранилища
Финальная проверка — запуск в режиме предприятия. Пройдите по функциям, которые затронуло обновление: если коллега менял проведение документа, проведите тестовый документ; если добавлял отчёт — сформируйте его. Ошибки компиляции модулей проявляются сразу при обращении к объекту, поэтому поверхностный прогон занимает несколько минут, но избавляет от сюрпризов.
Конфликты версий и способы их разрешения
Конфликт возникает, когда один и тот же объект изменяли несколько разработчиков, и хранилище не может автоматически объединить изменения. Классический сценарий: вы захватили объект, но не поместили его, а коллега получил разрешение на захват (администратор хранилища может отменить чужой захват) и поместил свою версию. При вашем следующем обращении к объекту версии разойдутся.
Инструмент разрешения — сравнение и объединение конфигураций. Откройте «Конфигурация → Сравнить, объединить с конфигурацией из хранилища», чтобы увидеть различия пообъектно. Для модулей доступно построчное сравнение текстов: платформа покажет, какие строки изменены в каждой версии, и позволит выбрать нужный вариант или вручную совместить оба.
Как выбрать действие
Профилактика конфликтов проще их разрешения. Договоритесь в команде о правилах: захватывать только те объекты, которые реально правите; помещать изменения не реже раза в день; писать содержательные комментарии к версиям. Чем короче период между помещениями, тем меньше расходятся версии и тем тривиальнее объединение.
Особенности для типовых конфигураций на поддержке
Если конфигурация типовая и находится на поддержке поставщика, хранилище обычно содержит уже доработанную версию. Обновление из хранилища в этом случае не отменяет правила поддержки: объекты, не снятые с поддержки, всё равно обновляются только через поставку вендора. Хранилище фиксирует ваши доработки поверх типового решения.
При выходе нового релиза поставщика порядок такой: сначала обновите конфигурацию из хранилища до актуального состояния доработок, затем выполните обновление через «Поддержка → Обновить конфигурацию» с файлом поставки. После объединения с релизом поместите результат в хранилище новой версией — так история доработок сохранится, а команда получит обновлённую базу для дальнейшей работы.
Типичные ошибки и ограничения механизма
У механизма хранилища есть и ограничения, о которых полезно знать. Один объект может быть захвачен только одним разработчиком — параллельная правка одного модуля двумя людьми невозможна без отмены захвата. Хранилище не версионирует данные информационной базы, только конфигурацию: справочники, документы и настройки пользователей в нём не сохраняются. Наконец, при большом числе разработчиков и активной работе файл хранилища растёт, и периодически требуется его обслуживание.
Удобная привычка — начинать день с обновления из хранилища, а заканчивать помещением изменений с комментарием по шаблону: номер задачи, суть доработки, затронутые подсистемы. Это снижает число конфликтов почти до нуля и превращает историю версий в рабочий журнал проекта.
Частые вопросы
Что делать, если при обновлении из хранилища пропали мои изменения?
Проверьте, были ли объекты захвачены вами: захваченные объекты при получении версии из хранилища не перезаписываются. Если захвата не было, локальные правки заменены версией хранилища — восстановить их можно только из резервной копии базы или из сохранённых файлов модулей. На будущее: перед обновлением всегда помещайте изменения или выгружайте модули в файлы.
Можно ли обновиться не до последней, а до конкретной версии хранилища?
Да. В диалоге обновления из хранилища снимите флаг получения последней версии и укажите нужный номер. Список версий с авторами и комментариями доступен через «Хранилище конфигурации → История версий». Это штатный способ отката к состоянию до ошибочного помещения.
Чем обновление из хранилища отличается от загрузки конфигурации из файла?
Обновление из хранилища переносит только изменённые объекты и сохраняет связь с версиями, авторами и историей. Загрузка из файла cf заменяет конфигурацию целиком и разрывает связь с хранилищем, если её потом не восстановить. Для ежедневной командной работы используйте хранилище, загрузка из файла — инструмент переноса между отдельными базами.
Почему после обновления из хранилища в режиме предприятия ничего не изменилось?
Наиболее вероятная причина — не выполнено обновление конфигурации базы данных (F7). Изменения сначала попадают в конфигурацию разработчика, и только обновление конфигурации БД применяет их к рабочей базе. Вторая возможная причина — пользователи работают в кэшированных сеансах: попросите их перезапустить приложение.
Как обновляться, если хранилище недоступно или повреждено?
При временной недоступности дождитесь восстановления доступа — локально работать можно, но помещать и получать изменения нельзя. Если хранилище повреждено, его можно создать заново из актуальной конфигурации любой подключённой базы, однако история версий при этом будет потеряна. Поэтому каталог хранилища стоит включать в регламент резервного копирования.
Нужны ли особые права для работы с хранилищем?
Нужна учётная запись пользователя хранилища, которую создаёт администратор через «Администрирование → Пользователи хранилища» в конфигураторе. Права в хранилище и права в информационной базе — разные вещи: пользователь хранилища может не иметь доступа к режиму предприятия и наоборот.
Что важно запомнить
Порядок безопасного обновления: поместить свои изменения → получить версию из хранилища → обновить конфигурацию базы данных → проверить работу в режиме предприятия. Перед обновлением делайте резервную копию, а конфликты разрешайте через сравнение и объединение, а не перезаписью.