Как обновить доработанную конфигурацию 1С и не потерять свои изменения
Содержание
Изменённую конфигурацию 1С обновляют только в Конфигураторе: Конфигурация → Поддержка → Обновить конфигурацию, затем в окне сравнения и объединения решают по каждому объекту, чья версия важнее — ваша или поставщика. Автоматическое обновление
из пользовательского режима здесь не подходит: оно не умеет объединять доработки с новым релизом.
Порядок общий для платформы 8.3 и всех типовых решений — Бухгалтерии, ЗУП, УТ, КА. Отличается только объём доработок и, значит, время на разбор окна объединения. На базу с десятком правок уходит час, на сильно переписанную — рабочий день и больше.
1. Подготовка базы перед обновлением изменённой конфигурации
Начинайте не с файла обновления, а с инвентаризации того, что у вас изменено. Без этого окно объединения превращается в лотерею.
Что сделать до старта:
- 💾 Выгрузите базу целиком:
Администрирование → Выгрузить информационную базув Конфигураторе. Получится файл.dt— это единственный надёжный откат. - 📄 Сохраните текущую конфигурацию:
Конфигурация → Сохранить конфигурацию в файл. Файл.cfпригодится, чтобы потом сравнить «что было» и «что стало». - 🔍 Посмотрите список доработок:
Конфигурация → Сравнить конфигурации, слева — конфигурация поставщика, справа — основная. Отчёт по различиям сохраните в файл или распечатайте. - 🔖 Узнайте номер текущего релиза: в Конфигураторе
Конфигурация → Открыть конфигурацию, свойства корня дерева, поле «Версия». Или в режиме предприятия — менюО программе. - 🧪 Разверните тестовую копию из выгруженного
.dtи проводите обновление сначала там.
Выгрузка .dt, обновление структуры базы данных и загрузка .dt требуют монопольного доступа. Пользователей придётся выгнать из базы, а их несохранённые данные пропадут. Планируйте работу на вечер или выходной.
Не обновляйте рабочую базу, не проверив процедуру на копии. Именно на копии выясняется, какие объекты дважды изменены и сколько времени уйдёт на их разбор.
Проверьте режим поддержки
Откройте Конфигурация → Поддержка → Настройка поддержки. В верхней части окна видно, включена ли возможность изменения. Если конфигурация снята с поддержки полностью, штатное обновление не сработает — этот случай разобран в разделе про сбои.
Сколько релизов нужно пройти
Релизы нельзя перепрыгивать произвольно. В описании каждого обновления указано, с каких версий на него можно перейти. Если вы отстали на десяток релизов, составьте цепочку заранее: каждое звено — отдельное объединение.
| Отставание | Как действовать |
|---|---|
| 1–2 релиза | Обычное обновление по одному файлу |
| 3–10 релизов | Цепочка через промежуточные релизы, указанные в описании |
| Больше года | Цепочка или переход сразу на свежий .cf с ручным переносом доработок |
2. Где взять файл обновления и как загрузить его в Конфигуратор
Обновления распространяются в двух видах:
- 📦
.cfu— файл обновления. Применяется только к определённым версиям конфигурации поставщика. - 📦
.cf— полный дистрибутив конфигурации. Подходит для обновления с любой версии, но сравнение идёт дольше.
Дистрибутив обычно приходит как установщик. Запустите setup.exe — он распакует файлы в каталог шаблонов. По умолчанию это %APPDATA%\1C\1cv8\tmplts, внутри подпапки по поставщику, конфигурации и релизу.
- Откройте базу в Конфигураторе и откройте конфигурацию.
- Выберите
Конфигурация → Поддержка → Обновить конфигурацию. - Укажите способ: поиск доступных обновлений в каталоге шаблонов или выбор файла вручную.
- Если ищете в каталоге — Конфигуратор покажет список релизов, которые применимы к вашей версии. Выберите нужный.
- Если выбираете файл — укажите путь к
.cfuили.cf. - Прочитайте описание обновления, которое откроется следующим окном, и нажмите «Продолжить обновление».
Когда .cfu отказывается применяться, возьмите полный .cf того же релиза. Он содержит конфигурацию целиком и не зависит от того, с какой версии вы обновляетесь.
3. Окно сравнения и объединения: что отмечать
После загрузки Конфигуратор сравнит три версии: старую конфигурацию поставщика, вашу основную и новую от поставщика. Результат — дерево объектов с флажками. Отмеченное будет взято из нового релиза, неотмеченное останется как есть.
Как читать дерево
Объекты делятся на три группы:
- ✅ Изменены только поставщиком. Вы их не трогали — смело берите из обновления.
- 🔒 Изменены только вами. Поставщик их не менял — ваши правки сохранятся сами.
- ⚠️ Изменены и вами, и поставщиком — дважды изменённые. Вся ручная работа здесь.
Включите фильтр «Показывать только дважды измененные свойства» в верхней части окна. Список сократится с тысяч строк до нескольких десятков.
Режимы объединения
Для каждого дважды изменённого объекта в колонке режима выберите один из вариантов:
| Режим | Что получится | Когда выбирать |
|---|---|---|
| Взять из новой конфигурации поставщика | Ваши правки в объекте пропадут | Доработка устарела или её проще повторить |
| Объединить с приоритетом основной конфигурации | Сливаются обе версии, при конфликте побеждает ваша | Ваша логика критична |
| Объединить с приоритетом новой конфигурации поставщика | Сливаются обе версии, при конфликте побеждает поставщик | Правки мелкие, новая логика важнее |
| Флажок снят | Объект останется в вашей редакции целиком | Только если вы понимаете, что новый код не нужен |
Снятый флажок у дважды изменённого объекта — частая причина ошибок после обновления. Новый код поставщика в других модулях вызывает процедуры, которых в вашей старой редакции нет.
Модули: разбор по процедурам
Для модуля нажмите правой кнопкой и откройте сравнение текстов. Различия подсвечены построчно. В платформе 8.3 можно настроить объединение по процедурам: для каждого метода указать, брать версию поставщика, свою или объединять построчно.
Практичный порядок:
- Процедуры, которые вы не меняли, берите от поставщика.
- Процедуры, в которые вы вставили пару строк, берите от поставщика и после объединения вставьте строки заново.
- Процедуры, переписанные целиком, оставляйте свои и вручную сверяйте с новой версией поставщика.
Формы и макеты
Формы объединяются хуже модулей: элементы, группы и их порядок сливаются непредсказуемо. Надёжнее взять форму поставщика и повторить свои изменения руками по сохранённому отчёту о различиях. Макеты печатных форм — так же.
Правила поддержки для новых объектов
Перед объединением Конфигуратор спросит, какие правила поддержки назначить объектам, которые появились в новом релизе. Выбирайте «Объекты поставщика не редактируются». Так в следующий раз дважды изменённых объектов будет меньше.
4. Обновление через расширения конфигурации
Расширения появились в платформе 8.3.6 и сильно упрощают жизнь. Если все доработки лежат в расширениях, основная конфигурация остаётся типовой, и её можно обновлять без окна объединения — хоть из режима предприятия.
Но расширение тоже может сломаться. Оно опирается на заимствованные объекты: справочники, документы, процедуры модулей. Если поставщик переименовал реквизит или удалил процедуру, расширение перестанет применяться.
После обновления основной конфигурации:
- Откройте
Конфигурация → Расширения конфигурации. - Для каждого расширения выполните проверку применимости. Ошибки покажут, какой заимствованный объект не найден.
- Исправьте расширение: переименуйте заимствованный реквизит, перенесите перехват на новую процедуру.
- Обновите конфигурацию базы данных для расширения — это отдельный шаг, загрузки
.cfeдля этого мало.
В режиме предприятия список расширений находится в Администрирование → Печатные формы, отчеты и обработки → Расширения. Там видно, какие расширения подключены и не выдают ли они ошибок.
Хороший момент перенести часть доработок из основной конфигурации в расширения — сразу после очередного обновления. Каждый перенесённый объект сокращает будущий разбор.
5. Завершение: обновление конфигурации базы данных
Пока вы работали в окне объединения, менялась только основная конфигурация в Конфигураторе. Сама база данных ещё старая.
- Нажмите «Выполнить» в окне сравнения.
- Запустите
Конфигурация → Проверка конфигурации, включите синтаксический контроль модулей и поиск неиспользуемых процедур. Исправьте ошибки до того, как пойдёте дальше. - Выберите
Конфигурация → Обновить конфигурацию базы данных(F7). - Прочитайте окно «Реорганизация информации»: там видно, какие таблицы будут изменены. Если в списке есть удаление реквизита с данными — остановитесь и выясните почему.
- Нажмите «Принять».
- Запустите базу в режиме 1С:Предприятие под администратором.
При первом запуске типовая конфигурация выполнит обработчики обновления. Не прерывайте их: на большой базе это может занять от десятков минут до нескольких часов. Часть обработчиков работает в фоне уже после входа пользователей. Их состояние смотрите в Администрирование → Обслуживание, в блоке результатов обновления программы.
Если вы проходите цепочку релизов, выполняйте шаги 1–6 на каждом звене. Первый запуск в режиме предприятия между звеньями обязателен, иначе обработчики промежуточных релизов не отработают.
После проверки на копии повторите ту же процедуру на рабочей базе и выгрузите ещё один .dt — уже обновлённый.
6. Тестирование после слияния: что проверить
Обновление «прошло без ошибок» — не значит «всё работает». Ошибки в доработках проявляются при открытии конкретных форм и проведении конкретных документов.
Последний пункт стоит пояснить. Сформируйте оборотно-сальдовую ведомость за прошлый закрытый период до обновления и после. Цифры должны совпасть до рубля. Расхождение значит, что обработчики обновления или ваш объединённый код изменили движения.
Попросите двух-трёх ключевых пользователей поработать на тестовой копии час-другой. Они найдут сломанную кнопку быстрее любого списка.
7. Сбои при обновлении изменённой конфигурации и что делать
Когда лучше не объединять, а перенести доработки заново
Если дважды изменённых объектов больше сотни, а отставание — несколько лет, объединение может занять больше времени, чем перенос. Тогда честнее поставить свежую типовую конфигурацию из .cf на копию базы и перенести доработки руками — желательно сразу в расширения. Решение принимайте по списку различий из подготовительного этапа.