Загрузка файла обновления в информационную базу 1С через Конфигуратор и хранилище

· 10 мин

Содержание

Чтобы загрузить обновление в базу 1С, откройте её в Конфигураторе, выберите Конфигурация → Поддержка → Обновить конфигурацию, укажите файл 1cv8.cfu из каталога шаблонов, примите изменения, а затем выполните Конфигурация → Обновить конфигурацию базы данных (клавиша F7). Если база подключена к хранилищу конфигурации, сначала захватите корень конфигурации в хранилище, а после объединения поместите изменения обратно.

Типичная ситуация: бухгалтер присылает скриншот «Программа устарела, установите обновление», автообновление из пользовательского режима падает, а в базе живут доработки программиста. Тогда обновление загружают руками, и от порядка действий зависит, сохранятся ли доработки. Порядок одинаков для платформы 1С:Предприятие 8.3 с интерфейсом «Такси»: для типовых конфигураций (БП 3.0, ЗУП 3.1, УТ 11) действия в Конфигураторе одинаковые.

1. Подготовка: файл обновления, порядок релизов и резервная копия

Обновление начинается не с Конфигуратора, а с трёх проверок. Если пропустить хотя бы одну, загрузка либо не начнётся, либо закончится откатом.

Какой файл нужен

Дистрибутив обновления — это архив или установщик setup.exe. При установке он распаковывает файлы в каталог шаблонов. По умолчанию это %APPDATA%\1C\1cv8\tmplts\1c\<конфигурация>\<версия>\. Внутри лежат:

  • 📦 1cv8.cfu — файл обновления, его и загружают в существующую базу;
  • 📦 1cv8.cf — полная конфигурация, нужна для новой базы или для объединения при снятой поддержке;
  • 📄 1cv8upd.htm — описание изменений и список версий, с которых можно обновиться;
  • 📄 ReadMe.txt — требования к платформе и порядок перехода.

С какой версии можно обновиться

Файл .cfu подходит только для конкретных предыдущих релизов. Узнать текущую версию базы можно в пользовательском режиме через Справка → О программе или в Конфигураторе в свойствах корня конфигурации. Затем откройте 1cv8upd.htm нового релиза и найдите вашу версию в списке.

Если вашей версии там нет, нужны промежуточные релизы. Например, база на версии X.0.10, а новый релиз принимает обновление только с X.0.12 и выше. Значит, сначала ставится промежуточный релиз, затем целевой. Перепрыгнуть цепочку нельзя: Конфигуратор просто не покажет нужный файл среди доступных.

Версия платформы

В ReadMe.txt указан минимальный номер платформы. Сверьте его с установленной (Справка → О программе в Конфигураторе). Если номер вашей платформы ниже требуемого, обновите сначала платформу на всех компьютерах и на сервере 1С, иначе конфигурацию загрузить не получится.

Резервная копия

Перед загрузкой обновления сделайте выгрузку базы — без неё откатить неудачное объединение невозможно.

  1. В Конфигураторе: Администрирование → Выгрузить информационную базу, сохраните файл .dt.
  2. Дополнительно сохраните текущую конфигурацию: Конфигурация → Сохранить конфигурацию в файл (файл .cf). Он пригодится как эталон для сравнения после обновления.
  3. Для клиент-серверной базы на большом объёме данных выгрузка .dt может идти часами. Там надёжнее штатный бэкап средствами СУБД (MS SQL или PostgreSQL), который делает администратор сервера.

Файловую базу можно просто скопировать целиком — папку с файлом 1Cv8.1CD. Но только когда все пользователи вышли, иначе копия может оказаться повреждённой.

Перед загрузкой обновления
Выполнено: 0 / 6

2. Подключение к хранилищу конфигурации перед обновлением

Если в базе ведётся групповая разработка, конфигурация подключена к хранилищу. Тогда обновлять её «мимо» хранилища нельзя: изменения не попадут к другим разработчикам, а следующее получение из хранилища затрёт вашу работу.

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

Если база ещё не подключена

  1. Откройте Конфигурация → Хранилище конфигурации → Подключиться к хранилищу.
  2. Укажите путь к хранилищу: каталог (\\server\repo) или адрес сервера хранилища (tcp://server/repo).
  3. Введите имя и пароль пользователя хранилища. Это отдельная учётная запись, не пользователь базы.
  4. Согласитесь получить конфигурацию из хранилища. Локальная конфигурация будет заменена версией из хранилища.

Что захватить

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

Пока корень захвачен вами, остальные разработчики не смогут поместить свои изменения. Договоритесь о «окне» для обновления и попросите коллег заранее поместить всё, что у них захвачено.

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

3. Загрузка обновления в базу 1С через Конфигуратор

Сама загрузка обновления одинакова для обычной базы и для базы с хранилищем. Разница только в финальном шаге.

Запуск обновления

  1. Откройте базу в режиме Конфигуратора под пользователем с правами администратора.
  2. Если основная конфигурация ещё не открыта, откройте её: Конфигурация → Открыть конфигурацию.
  3. Выберите Конфигурация → Поддержка → Обновить конфигурацию.
  4. В окне выбора источника есть два варианта:
    • «Поиск доступных обновлений» — Конфигуратор сам просмотрит каталог шаблонов и покажет подходящие релизы;
    • «Выбор файла обновления» — укажите путь к 1cv8.cfu вручную, если дистрибутив распакован в другое место.
  5. Выберите релиз и нажмите «Готово». Конфигуратор покажет описание изменений — закройте его и продолжайте.

Два сценария дальше

Состояние базыЧто произойдётЧто делать
Типовая, на поддержке без возможности измененияОбновление применяется сразу, без окна сравненияПодтвердить и перейти к обновлению базы данных
На поддержке с возможностью изменения, есть доработкиОткрывается окно сравнения и объединенияРазобрать конфликты (см. раздел 4) и нажать «Выполнить»
Снята с поддержкиЧерез Обновить конфигурацию загрузить .cfu нельзяИспользовать Сравнить, объединить с конфигурацией из файла и .cf нового релиза

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

После объединения изменилась только основная конфигурация. Данные пока живут по старой структуре. Чтобы применить изменения:

  1. Выберите Конфигурация → Обновить конфигурацию базы данных или нажмите F7.
  2. Конфигуратор покажет список изменений структуры. Нажмите «Принять».
  3. Дождитесь окончания реструктуризации. На большой базе это может занять от нескольких минут до часа.

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

Для базы с хранилищем

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

Пакетный режим из командной строки

Если обновлять нужно несколько одинаковых баз, удобен запуск без интерфейса:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DisableStartupDialogs /DumpIB"D:\Backup\buh.dt" /Out"D:\Logs\update.log"
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DisableStartupDialogs /UpdateCfg"D:\tmplts\1cv8.cfu" /UpdateDBCfg /Out"D:\Logs\update.log"

Первая строка делает выгрузку .dt, вторая загружает обновление и обновляет структуру. Для клиент-серверной базы вместо /F используется /S"сервер\имябазы". Результат смотрите в файле журнала из параметра /Out.

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

4. Конфликты при объединении и сравнение версий

Окно сравнения и объединения появляется, когда в базе есть свои изменения. В нём три столбца: основная конфигурация (ваша), старая конфигурация поставщика и новая конфигурация поставщика.

Как читать окно

  • 🟢 Объект изменён только поставщиком — флажок стоит, он будет взят из новой версии без вопросов.
  • 🟡 Объект изменён только вами — флажок снят, ваша доработка сохранится.
  • 🔴 Объект изменён и вами, и поставщиком — это конфликт, по нему нужно решение.

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

Режимы объединения

Для каждого конфликтного объекта выбирается режим:

РежимКогда выбиратьРиск
Взять из новой конфигурации поставщикаДоработка устарела или поставщик сам добавил нужную функциюВаша правка пропадёт
Объединить с приоритетом основной конфигурацииВаш код важнее, но новые свойства поставщика нужныМожно упустить исправление ошибки от поставщика
Объединить с приоритетом новой конфигурации поставщикаПравки небольшие и не пересекаются со строками поставщикаПри пересечении строк ваш фрагмент может потеряться
Не объединять (оставить основную)Объект полностью переписан под васНовая версия может не работать со старым объектом

Сравнение модулей

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

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

История версий в хранилище

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

Расширения вместо доработок

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

5. Проверка и первый запуск обновлённой базы

Загрузка обновления заканчивается не на F7. Первый запуск в пользовательском режиме — тоже часть процесса.

Обработчики обновления

  1. Запустите базу в режиме 1С:Предприятие под администратором.
  2. Программа обнаружит новую версию и запустит обработчики обновления данных. Не прерывайте их, даже если кажется, что всё зависло.
  3. После основного этапа часть обработчиков продолжает работу в фоне. Её ход виден в Администрирование → Обслуживание → Результаты обновления и дополнительная обработка данных.

Пока фоновая обработка не завершена, некоторые отчёты могут показывать неполные данные. Это нормально.

Что проверить руками

  • ✅ Номер версии в Справка → О программе совпадает с релизом из дистрибутива.
  • ✅ Открываются и проводятся 2-3 основных документа: реализация, поступление, банковская выписка.
  • ✅ Формируется оборотно-сальдовая ведомость, суммы совпадают с данными до обновления.
  • ✅ Работают свои печатные формы, внешние обработки и обмены.
  • ✅ Нет ошибок в журнале регистрации (Администрирование → Обслуживание → Журнал регистрации, отбор по уровню «Ошибка»).

Тестирование и исправление

Если после обновления появились странные ошибки ссылок или «битые» объекты, запустите в Конфигураторе Администрирование → Тестирование и исправление. Начните с режима «Проверка логической целостности» без исправления — так вы увидите масштаб проблемы, ничего не меняя. Эта операция тоже требует монопольного доступа.

Тестовая копия

Для баз с большим числом доработок разумно сначала загрузить обновление в копию: разверните .dt в отдельную базу, проведите объединение и проверку там, а в рабочую переносите уже готовый .cf. Рабочая база при этом простаивает минимальное время.

6. Ошибки при загрузке обновления и как их исправить

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

Ещё две ситуации встречаются реже, но отнимают больше всего времени.

Обновление прервалось посреди реструктуризации. Например, отключилось питание или упал сервер. Не пытайтесь запустить обновление повторно поверх. Восстановите базу из выгрузки .dt или бэкапа СУБД и начните заново.

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

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

Можно ли загрузить обновление, пока пользователи работают?
Загрузить .cfu в основную конфигурацию можно, но обновить конфигурацию базы данных — нет: для реструктуризации нужен монопольный доступ. Пользователям придётся выйти.
Чем файл .cfu отличается от .cf?
.cfu содержит только разницу между релизами и применяется к базе на поддержке. .cf — полная конфигурация, её загружают в новую базу или используют для объединения, когда поддержка снята.
Сколько промежуточных релизов можно пропустить?
Столько, сколько разрешает 1cv8upd.htm нового релиза. Если вашей версии в списке нет, ставьте последний релиз, который её принимает, и двигайтесь дальше по цепочке.
Нужно ли снимать конфигурацию с поддержки, чтобы её дорабатывать?
Нет. Достаточно включить возможность изменения в настройках поддержки. Полное снятие с поддержки лишает удобного обновления через .cfu.
Можно ли откатить обновление, если что-то пошло не так?
Кнопки «отменить обновление» нет. Откат — это загрузка выгрузки .dt, сделанной перед обновлением, или восстановление бэкапа СУБД. Данные, введённые после обновления, при этом потеряются.