Обновление конфигурации 1С из хранилища конфигураций в Конфигураторе
Содержание
Из хранилища обновляют одним из двух способов. Первый: берёте свежую версию, которую уже положил в хранилище разработчик, через пункт меню Конфигурация → Хранилище конфигурации → Обновить конфигурацию из хранилища. Второй: сначала обновляете конфигурацию поставщика (типовую), а потом вливаете изменения в рабочую конфигурацию, которая лежит в хранилище. Первый способ занимает минуты, второй — часы, если конфигурация сильно доработана.
Какой нужен вам, зависит от задачи. Рядовому разработчику или администратору почти всегда нужен первый. Второй нужен тому, кто ведёт хранилище и выпускает версии для остальных.
Дальше по порядку: что сделать до начала, как подключиться, как получить версию, как разобрать конфликты и что проверить в конце.
Что подготовить до начала обновления
Хранилище — это общий «сервер версий» для нескольких разработчиков. Если что-то пойдёт не так, откатываться придётся и у себя, и, возможно, у коллег. Поэтому подготовка занимает ровно столько времени, сколько стоит одна ошибка.
Резервные копии
Сделайте две копии, не одну:
- 📦 выгрузка информационной базы в файл
.dt(меню КонфигуратораАдминистрирование→Выгрузить информационную базу); - 🗄 копия самого хранилища — это папка на диске или на сервере, внутри которой лежит файл
1cv8ddb.1CD. Её копируют обычным копированием файлов, когда в хранилище никто не работает .
Копия хранилища нужна даже тогда, когда вы только «забираете» версию. Бывает, что забираете не ту ветку или случайно помещаете чужие правки, и без копии вернуть состояние нельзя.
Условия, без которых обновление не пойдёт
Проверьте четыре вещи:
- У вас есть пользователь хранилища с нужными правами. Для чтения версии достаточно роли «Чтение», для помещения изменений нужна роль «Разработчик» или выше.
- Информационная база открыта в Конфигураторе, а не в режиме «1С:Предприятие».
- У вас нет захваченных, но неотправленных объектов. Если есть — сначала поместите их в хранилище или отмените захват.
- Платформа у вас не старее той, на которой хранилище вели последний раз. Хранилище, обновлённое на более новой платформе, на старой может не открыться.
Если базу обновляют несколько человек, договоритесь, кто и когда работает. Параллельное обновление одной конфигурации — первая причина конфликтов.
Как подключить информационную базу к хранилищу
Если база уже подключена, шаг пропустите. Проверить просто: откройте меню Конфигурация → Хранилище конфигурации. Если там активны пункты «Открыть хранилище
» и «Отключиться от хранилища» — подключение есть.
Первое подключение
- Откройте базу в Конфигураторе.
- Выберите
Конфигурация→Хранилище конфигурации→Подключиться к хранилищу. - В поле «Путь» укажите каталог хранилища. Для сетевого каталога используйте UNC-путь вида
\\сервер\хранилище\ИмяХранилища, а не букву сетевого диска — буква у разных пользователей может не совпасть. - Введите имя пользователя хранилища и пароль.
- Нажмите «ОК». Конфигуратор предложит загрузить конфигурацию из хранилища в базу — согласитесь.
Если хранилище поднято как служба (сервер хранилища), вместо пути указывают адрес в виде tcp://имя_сервера/имя_хранилища.
Подключаться стоит к пустой или тестовой копии базы. При подключении конфигурация базы будет заменена конфигурацией из хранилища. Доработки, которых нет в хранилище, потеряются.
Присоединить уже существующую конфигурацию
Бывает обратная ситуация: хранилище пустое, а доработанная конфигурация есть. Тогда в меню есть пункт «Создать хранилище» (для нового) и «Присоединить конфигурацию к хранилищу» (когда версия в хранилище уже есть, а ваша база от неё отличается). Присоединение — аккуратная операция: Конфигуратор сравнит версии и покажет, чем они различаются.
Способ 1: получить новую версию из хранилища
Самый частый случай. Разработчик положил в хранилище новую версию, вам нужно получить её в свою базу.
Пошагово
- Откройте
Конфигурация→Хранилище конфигурации→Открыть хранилище. Откроется список версий. Посмотрите, какая версия последняя и какие комментарии к ней оставили. - Закройте список и выберите
Конфигурация→Хранилище конфигурации→Обновить конфигурацию из хранилища. - Откроется окно со списком объектов, у которых версия в хранилище новее. Галочками отметьте то, что нужно получить. По умолчанию отмечено всё.
- Если нужна не последняя, а конкретная версия — в этом же окне есть выбор номера версии. Укажите нужный.
- Нажмите «Получить». Конфигуратор загрузит объекты и покажет прогресс.
- Когда загрузка закончится, обновите конфигурацию базы данных клавишей
F7(команда «Обновить конфигурацию базы данных»). Без этого изменения останутся только в конфигурации, а не в самой базе.
Если у вас в базе нет локальных доработок, на этом всё. Если есть — смотрите следующий раздел.
Чем получение отличается от «Получить из хранилища»
В меню есть две похожие команды. Различие простое:
| Команда | Что делает | Когда |
|---|---|---|
Получить изменения | Забирает из хранилища только то, что изменилось по сравнению с вашей текущей версией | Обычная ежедневная работа |
Обновить конфигурацию из хранилища | Приводит всю конфигурацию в соответствие с выбранной версией хранилища | Переход на новую версию, откат на старую |
Для обновления до свежей версии берите вторую команду. Первую удобно использовать, когда коллега положил пару мелких правок.
Что делать с локальными изменениями и конфликтами
Конфликт возникает, когда один и тот же объект изменили и у вас, и в хранилище. Платформа не решает, чья правка главнее, и спрашивает вас.
Как выглядит конфликт
Перед загрузкой Конфигуратор показывает окно сравнения. Объекты в нём помечены:
- ✅ изменён только в хранилище — получите без потерь;
- 🟡 изменён и у вас, и в хранилище — нужно решать;
- ➕ новый объект в хранилище — просто добавится;
- ➖ удалён в хранилище — будет удалён и у вас, если вы согласитесь.
Три способа разрешить конфликт
- Взять версию хранилища. Ваши правки по объекту пропадут. Подходит, когда ваша доработка была временной или уже есть в хранилище.
- Оставить свою версию. Объект не обновится, но тогда вы расходитесь с хранилищем. Подходит только на время.
- Объединить вручную. Откройте объект в режиме сравнения и перенесите нужные фрагменты. Для модулей это сравнение по строкам кода, для форм — по реквизитам и элементам.
Правило практика: форму лучше брать целиком, а модуль — объединять. В формах слияние построчно часто ломает связи элементов с реквизитами, в модулях правки обычно независимы.
Перед ручным слиянием сохраните свою версию объекта: выгрузите модуль в текстовый файл. Это три минуты, которые потом экономят час.
Если объект захвачен другим разработчиком
Захват в хранилище блокирует объект для чужих правок. Если нужный вам объект захвачен коллегой, получить его версию вы можете, но поместить свои изменения — нет, пока коллега не поместит свои или не снимет захват. Кто держит объект, видно в окне хранилища, по колонке пользователя.
Способ 2: обновить типовую конфигурацию и влить её в хранилище
Это путь для тех, у кого конфигурация стоит на поддержке с доработками: вышел новый релиз поставщика, и его нужно получить в рабочую версию, которая лежит в хранилище.
Порядок работы
- Сделайте копии базы и хранилища, как описано выше.
- Убедитесь, что в хранилище нет захваченных объектов. Если кто-то работает — попросите поместить изменения.
- Захватите корневой объект конфигурации: в окне конфигурации откройте контекстное меню верхнего узла и выберите «Захватить в хранилище» с флагом «рекурсивно». Так вы заблокируете всё остальное для других.
- В меню
Конфигурация→Поддержка→Обновить конфигурациювыберите файл обновления (.cfuили.cf) или каталог с шаблонами. - Откроется окно «Настройка правил поддержки и сравнение». Здесь платформа сравнивает три конфигурации: вашу, предыдущую типовую и новую типовую.
- Пройдитесь по списку объектов, помеченных как «Изменён и поставщиком, и вами». Для каждого решите: принять версию поставщика, оставить свою или объединить.
- Завершите операцию, затем поместите результат в хранилище командой
Конфигурация→Хранилище конфигурации→Поместить изменения. В комментарии к версии укажите номер релиза поставщика. - Обновите конфигурацию базы данных (
F7) и проверьте работу в пользовательском режиме.
После этого остальные разработчики забирают версию способом 1.
Если после обновления релиза поместить изменения в хранилище нельзя, проверьте, что все объекты действительно захвачены. Незахваченные объекты платформа не даст поместить.
Сколько это занимает
Ориентиры по опыту: типовая конфигурация без доработок — 20–40 минут вместе с обновлением базы. С умеренными доработками (десятки изменённых объектов) — 2–4 часа. С тяжёлой доработкой — день и больше, и часть работы переходит в разбор конфликтов вручную.
Как проверить результат и вернуть работоспособность
После обновления конфигурация может «собраться», но работать неправильно. Проверка занимает короткое время, но избавит от жалоб пользователей.
Минимальная проверка
- 🔍 Синтаксический контроль:
Конфигурация→Проверка конфигурации. Включите проверку модулей и ссылок. Ошибки покажутся списком. - 🧩 Запуск в режиме «1С:Предприятие» (клавиша
F5) и открытие ключевых форм. - 📑 Проведение нескольких тестовых документов каждого основного вида.
- 📊 Формирование хотя бы одного отчёта, привязанного к вашей доработке.
Если в проверке нашлись ошибки
Типичная картина: «Поле объекта не обнаружено», «Метод объекта не обнаружен » или «Переменная не определена». Обычно причина одна: получили новый модуль, а в нём вызывается процедура, которую вы заменили или удалили в другом объекте. Откройте историю версий объекта в хранилище и найдите, что именно сломалось.
Для подробностей используйте отчёт по истории: в окне хранилища выберите Отчёт по истории и сравните версию до и после обновления.
Отложенные операции после обновления
Если в релизе изменилась структура данных, при первом запуске базы могут выполняться обработчики обновления. Не закрывайте сеанс, пока они не закончатся: на большой базе это от нескольких минут до часа.
Типичные ошибки при работе с хранилищем и как их устранить
Здесь — только то, чего нет в шагах выше.
Ошибка подключения к хранилищу
Если Конфигуратор пишет, что хранилище недоступно или файл блокирован, смотрите на три вещи:
- Путь. Сетевой диск, подключённый под другим пользователем, часто «пропадает» у службы. Используйте UNC-путь.
- Права на каталог. Пользователь, под которым открыт Конфигуратор, должен иметь запись в папку хранилища.
- Блокировка файла
1cv8ddb.1CD. Если процесс 1С завис на другой машине, файл остаётся занятым. Завершите процесс1cv8на той машине.
«Версия конфигурации в хранилище не совпадает»
Такое сообщение появляется, когда вы пытаетесь поместить изменения, а в хранилище за это время появилась новая версия. Сначала получите её, затем помещайте свои правки. Порядок всегда такой: получили, объединили, поместили.
Зависание на объединении
Крупные формы и большие модули (десятки тысяч строк) объединяются долго. Если Конфигуратор «замер», подождите 10–15 минут. Если не отвечает дольше — закройте и повторите на конкретном объекте, отключив лишние из списка.
Слетела связь с хранилищем после перезапуска
Это значит, что хранилище в базе было отключено или информация о подключении хранилась в профиле пользователя Windows, который удалили. Подключитесь заново (шаги выше). Конфигурация не потеряется, если версия в хранилище совпадает с версией в базе.
Частые вопросы
Можно ли обновить 1С из хранилища без Конфигуратора?
Потеряются ли данные в базе при обновлении конфигурации из хранилища?
.dt до начала.Как узнать, какая версия конфигурации сейчас в хранилище?
Конфигурация → Хранилище конфигурации → Открыть хранилище. В верхней строке списка стоит последняя версия с датой, автором и комментарием.Можно ли вернуться на предыдущую версию?
Обновить конфигурацию из хранилища выберите нужный номер версии и получите её. Базу обновите по F7. Делайте это только с копией базы под рукой.