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

· 9 мин

Содержание

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

Какой нужен вам, зависит от задачи. Рядовому разработчику или администратору почти всегда нужен первый. Второй нужен тому, кто ведёт хранилище и выпускает версии для остальных.

Дальше по порядку: что сделать до начала, как подключиться, как получить версию, как разобрать конфликты и что проверить в конце.

Что подготовить до начала обновления

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

Резервные копии

Сделайте две копии, не одну:

  • 📦 выгрузка информационной базы в файл .dt (меню Конфигуратора Администрирование → Выгрузить информационную базу);
  • 🗄 копия самого хранилища — это папка на диске или на сервере, внутри которой лежит файл 1cv8ddb.1CD. Её копируют обычным копированием файлов, когда в хранилище никто не работает .

Копия хранилища нужна даже тогда, когда вы только «забираете» версию. Бывает, что забираете не ту ветку или случайно помещаете чужие правки, и без копии вернуть состояние нельзя.

Условия, без которых обновление не пойдёт

Проверьте четыре вещи:

  1. У вас есть пользователь хранилища с нужными правами. Для чтения версии достаточно роли «Чтение», для помещения изменений нужна роль «Разработчик» или выше.
  2. Информационная база открыта в Конфигураторе, а не в режиме «1С:Предприятие».
  3. У вас нет захваченных, но неотправленных объектов. Если есть — сначала поместите их в хранилище или отмените захват.
  4. Платформа у вас не старее той, на которой хранилище вели последний раз. Хранилище, обновлённое на более новой платформе, на старой может не открыться.

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

Как подключить информационную базу к хранилищу

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

Первое подключение

  1. Откройте базу в Конфигураторе.
  2. Выберите Конфигурация → Хранилище конфигурации → Подключиться к хранилищу.
  3. В поле «Путь» укажите каталог хранилища. Для сетевого каталога используйте UNC-путь вида \\сервер\хранилище\ИмяХранилища, а не букву сетевого диска — буква у разных пользователей может не совпасть.
  4. Введите имя пользователя хранилища и пароль.
  5. Нажмите «ОК». Конфигуратор предложит загрузить конфигурацию из хранилища в базу — согласитесь.

Если хранилище поднято как служба (сервер хранилища), вместо пути указывают адрес в виде tcp://имя_сервера/имя_хранилища.

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

Присоединить уже существующую конфигурацию

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

Способ 1: получить новую версию из хранилища

Самый частый случай. Разработчик положил в хранилище новую версию, вам нужно получить её в свою базу.

Пошагово

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

Если у вас в базе нет локальных доработок, на этом всё. Если есть — смотрите следующий раздел.

Чем получение отличается от «Получить из хранилища»

В меню есть две похожие команды. Различие простое:

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

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

Что делать с локальными изменениями и конфликтами

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

Как выглядит конфликт

Перед загрузкой Конфигуратор показывает окно сравнения. Объекты в нём помечены:

  • ✅ изменён только в хранилище — получите без потерь;
  • 🟡 изменён и у вас, и в хранилище — нужно решать;
  • ➕ новый объект в хранилище — просто добавится;
  • ➖ удалён в хранилище — будет удалён и у вас, если вы согласитесь.

Три способа разрешить конфликт

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

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

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

Если объект захвачен другим разработчиком

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

Способ 2: обновить типовую конфигурацию и влить её в хранилище

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

Порядок работы

  1. Сделайте копии базы и хранилища, как описано выше.
  2. Убедитесь, что в хранилище нет захваченных объектов. Если кто-то работает — попросите поместить изменения.
  3. Захватите корневой объект конфигурации: в окне конфигурации откройте контекстное меню верхнего узла и выберите «Захватить в хранилище» с флагом «рекурсивно». Так вы заблокируете всё остальное для других.
  4. В меню Конфигурация → Поддержка → Обновить конфигурацию выберите файл обновления (.cfu или .cf) или каталог с шаблонами.
  5. Откроется окно «Настройка правил поддержки и сравнение». Здесь платформа сравнивает три конфигурации: вашу, предыдущую типовую и новую типовую.
  6. Пройдитесь по списку объектов, помеченных как «Изменён и поставщиком, и вами». Для каждого решите: принять версию поставщика, оставить свою или объединить.
  7. Завершите операцию, затем поместите результат в хранилище командой Конфигурация → Хранилище конфигурации → Поместить изменения. В комментарии к версии укажите номер релиза поставщика.
  8. Обновите конфигурацию базы данных (F7) и проверьте работу в пользовательском режиме.

После этого остальные разработчики забирают версию способом 1.

Если после обновления релиза поместить изменения в хранилище нельзя, проверьте, что все объекты действительно захвачены. Незахваченные объекты платформа не даст поместить.

Сколько это занимает

Ориентиры по опыту: типовая конфигурация без доработок — 20–40 минут вместе с обновлением базы. С умеренными доработками (десятки изменённых объектов) — 2–4 часа. С тяжёлой доработкой — день и больше, и часть работы переходит в разбор конфликтов вручную.

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

После обновления конфигурация может «собраться», но работать неправильно. Проверка занимает короткое время, но избавит от жалоб пользователей.

Минимальная проверка

  • 🔍 Синтаксический контроль: Конфигурация → Проверка конфигурации. Включите проверку модулей и ссылок. Ошибки покажутся списком.
  • 🧩 Запуск в режиме «1С:Предприятие» (клавиша F5) и открытие ключевых форм.
  • 📑 Проведение нескольких тестовых документов каждого основного вида.
  • 📊 Формирование хотя бы одного отчёта, привязанного к вашей доработке.

Если в проверке нашлись ошибки

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

Для подробностей используйте отчёт по истории: в окне хранилища выберите Отчёт по истории и сравните версию до и после обновления.

Отложенные операции после обновления

Если в релизе изменилась структура данных, при первом запуске базы могут выполняться обработчики обновления. Не закрывайте сеанс, пока они не закончатся: на большой базе это от нескольких минут до часа.

Типичные ошибки при работе с хранилищем и как их устранить

Здесь — только то, чего нет в шагах выше.

Ошибка подключения к хранилищу

Если Конфигуратор пишет, что хранилище недоступно или файл блокирован, смотрите на три вещи:

  1. Путь. Сетевой диск, подключённый под другим пользователем, часто «пропадает» у службы. Используйте UNC-путь.
  2. Права на каталог. Пользователь, под которым открыт Конфигуратор, должен иметь запись в папку хранилища.
  3. Блокировка файла 1cv8ddb.1CD. Если процесс 1С завис на другой машине, файл остаётся занятым. Завершите процесс 1cv8 на той машине.

«Версия конфигурации в хранилище не совпадает»

Такое сообщение появляется, когда вы пытаетесь поместить изменения, а в хранилище за это время появилась новая версия. Сначала получите её, затем помещайте свои правки. Порядок всегда такой: получили, объединили, поместили.

Зависание на объединении

Крупные формы и большие модули (десятки тысяч строк) объединяются долго. Если Конфигуратор «замер», подождите 10–15 минут. Если не отвечает дольше — закройте и повторите на конкретном объекте, отключив лишние из списка.

Слетела связь с хранилищем после перезапуска

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

Диагностика: выберите симптом

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

Можно ли обновить 1С из хранилища без Конфигуратора?
Нет. Хранилище конфигураций работает только через Конфигуратор. Для работы без интерфейса есть пакетный запуск Конфигуратора с параметрами командной строки, но это тот же Конфигуратор.
Потеряются ли данные в базе при обновлении конфигурации из хранилища?
Данные не пропадут, если вы не меняете структуру метаданных деструктивно. Когда платформа предлагает удалить реквизит или таблицу, данные в них будут потеряны. Поэтому и нужна выгрузка .dt до начала.
Как узнать, какая версия конфигурации сейчас в хранилище?
Откройте Конфигурация → Хранилище конфигурации → Открыть хранилище. В верхней строке списка стоит последняя версия с датой, автором и комментарием.
Можно ли вернуться на предыдущую версию?
Да. В окне Обновить конфигурацию из хранилища выберите нужный номер версии и получите её. Базу обновите по F7. Делайте это только с копией базы под рукой.
Что делать, если обновление зависло на середине?
Не завершайте процесс сразу. Подождите, если идёт загрузка больших объектов. Если Конфигуратор не отвечает, закройте его и откройте базу заново: часть объектов окажется загруженной, остальное получите повторной командой.
Нужно ли всем разработчикам обновляться сразу после релиза?
Желательно в тот же день. Разные версии в разных базах приводят к конфликтам при помещении правок.