Загрузка файла обновления в информационную базу 1С через Конфигуратор и хранилище
Содержание
Чтобы загрузить обновление в базу 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С, иначе конфигурацию загрузить не получится.
Резервная копия
Перед загрузкой обновления сделайте выгрузку базы — без неё откатить неудачное объединение невозможно.
- В Конфигураторе:
Администрирование → Выгрузить информационную базу, сохраните файл.dt. - Дополнительно сохраните текущую конфигурацию:
Конфигурация → Сохранить конфигурацию в файл(файл.cf). Он пригодится как эталон для сравнения после обновления. - Для клиент-серверной базы на большом объёме данных выгрузка
.dtможет идти часами. Там надёжнее штатный бэкап средствами СУБД (MS SQL или PostgreSQL), который делает администратор сервера.
Файловую базу можно просто скопировать целиком — папку с файлом 1Cv8.1CD. Но только когда все пользователи вышли, иначе копия может оказаться повреждённой.
2. Подключение к хранилищу конфигурации перед обновлением
Если в базе ведётся групповая разработка, конфигурация подключена к хранилищу. Тогда обновлять её «мимо» хранилища нельзя: изменения не попадут к другим разработчикам, а следующее получение из хранилища затрёт вашу работу.
Проверить подключение просто: в меню Конфигурация → Хранилище конфигурации активны команды захвата и помещения, а в дереве объектов рядом с объектами видны значки блокировки.
Если база ещё не подключена
- Откройте
Конфигурация → Хранилище конфигурации → Подключиться к хранилищу. - Укажите путь к хранилищу: каталог (
\\server\repo) или адрес сервера хранилища (tcp://server/repo). - Введите имя и пароль пользователя хранилища. Это отдельная учётная запись, не пользователь базы.
- Согласитесь получить конфигурацию из хранилища. Локальная конфигурация будет заменена версией из хранилища.
Что захватить
Для обновления типовой конфигурации на поддержке нужно захватить всю конфигурацию: выделите корень дерева, вызовите Захватить в хранилище и включите флаг «Захватывать рекурсивно». Обновление меняет сотни объектов, и захват по одному не сработает.
Пока корень захвачен вами, остальные разработчики не смогут поместить свои изменения. Договоритесь о «окне» для обновления и попросите коллег заранее поместить всё, что у них захвачено.
Перед захватом обязательно выполните Конфигурация → Хранилище конфигурации → Обновить конфигурацию из хранилища, чтобы работать с последней версией.
3. Загрузка обновления в базу 1С через Конфигуратор
Сама загрузка обновления одинакова для обычной базы и для базы с хранилищем. Разница только в финальном шаге.
Запуск обновления
- Откройте базу в режиме Конфигуратора под пользователем с правами администратора.
- Если основная конфигурация ещё не открыта, откройте её:
Конфигурация → Открыть конфигурацию. - Выберите
Конфигурация → Поддержка → Обновить конфигурацию. - В окне выбора источника есть два варианта:
- «Поиск доступных обновлений» — Конфигуратор сам просмотрит каталог шаблонов и покажет подходящие релизы;
- «Выбор файла обновления» — укажите путь к
1cv8.cfuвручную, если дистрибутив распакован в другое место.
- Выберите релиз и нажмите «Готово». Конфигуратор покажет описание изменений — закройте его и продолжайте.
Два сценария дальше
| Состояние базы | Что произойдёт | Что делать |
|---|---|---|
| Типовая, на поддержке без возможности изменения | Обновление применяется сразу, без окна сравнения | Подтвердить и перейти к обновлению базы данных |
| На поддержке с возможностью изменения, есть доработки | Открывается окно сравнения и объединения | Разобрать конфликты (см. раздел 4) и нажать «Выполнить» |
| Снята с поддержки | Через Обновить конфигурацию загрузить .cfu нельзя | Использовать Сравнить, объединить с конфигурацией из файла и .cf нового релиза |
Обновление конфигурации базы данных
После объединения изменилась только основная конфигурация. Данные пока живут по старой структуре. Чтобы применить изменения:
- Выберите
Конфигурация → Обновить конфигурацию базы данныхили нажмитеF7. - Конфигуратор покажет список изменений структуры. Нажмите «Принять».
- Дождитесь окончания реструктуризации. На большой базе это может занять от нескольких минут до часа.
Обновление структуры базы требует монопольного доступа: все пользователи должны выйти. Если кто-то работает, сеансы придётся завершить — несохранённые документы у них пропадут. Делайте это вечером или в выходной, предупредив людей заранее.
Для базы с хранилищем
После объединения и проверки, что конфигурация собирается без ошибок (Конфигурация → Проверка конфигурации), поместите изменения: Конфигурация → Хранилище конфигурации → Поместить изменения объектов в хранилище. В комментарии укажите номер релиза — по нему потом легко найти версию в истории. Остальные разработчики получат обновление через Обновить конфигурацию из хранилища в своих копиях.
Пакетный режим из командной строки
Если обновлять нужно несколько одинаковых баз, удобен запуск без интерфейса:
"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С:Предприятие под администратором.
- Программа обнаружит новую версию и запустит обработчики обновления данных. Не прерывайте их, даже если кажется, что всё зависло.
- После основного этапа часть обработчиков продолжает работу в фоне. Её ход виден в
Администрирование → Обслуживание → Результаты обновления и дополнительная обработка данных.
Пока фоновая обработка не завершена, некоторые отчёты могут показывать неполные данные. Это нормально.
Что проверить руками
- ✅ Номер версии в
Справка → О программесовпадает с релизом из дистрибутива. - ✅ Открываются и проводятся 2-3 основных документа: реализация, поступление, банковская выписка.
- ✅ Формируется оборотно-сальдовая ведомость, суммы совпадают с данными до обновления.
- ✅ Работают свои печатные формы, внешние обработки и обмены.
- ✅ Нет ошибок в журнале регистрации (
Администрирование → Обслуживание → Журнал регистрации, отбор по уровню «Ошибка»).
Тестирование и исправление
Если после обновления появились странные ошибки ссылок или «битые» объекты, запустите в Конфигураторе Администрирование → Тестирование и исправление. Начните с режима «Проверка логической целостности» без исправления — так вы увидите масштаб проблемы, ничего не меняя. Эта операция тоже требует монопольного доступа.
Тестовая копия
Для баз с большим числом доработок разумно сначала загрузить обновление в копию: разверните .dt в отдельную базу, проведите объединение и проверку там, а в рабочую переносите уже готовый .cf. Рабочая база при этом простаивает минимальное время.
6. Ошибки при загрузке обновления и как их исправить
Ещё две ситуации встречаются реже, но отнимают больше всего времени.
Обновление прервалось посреди реструктуризации. Например, отключилось питание или упал сервер. Не пытайтесь запустить обновление повторно поверх. Восстановите базу из выгрузки .dt или бэкапа СУБД и начните заново.
После обновления пропала доработка. Сравните текущую конфигурацию с сохранённым до обновления .cf: Конфигурация → Сравнить конфигурации. Найдите объект, скопируйте свой код из старой версии и перенесите вручную. Именно для этого и нужен .cf, сохранённый на этапе подготовки.