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