Обновление доработанной типовой 1С без потери своих правок

· 9 мин

Содержание

Измененную конфигурацию 1С обновляют в Конфигураторе через Конфигурация → Поддержка → Обновить конфигурацию, выбирая полный файл поставки .cf нового релиза. Программа сравнит три версии — старую типовую, вашу доработанную и новую типовую — и покажет, где ваши правки пересекаются с изменениями фирмы 1С. Эти места вы разбираете вручную, затем применяете результат и запускаете обновление структуры базы.

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

Что проверить в базе перед обновлением

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

Версия и режим поддержки

Откройте Конфигуратор и зайдите в Конфигурация → Поддержка → Настройка поддержки. В окне видно:

  • 📌 версию конфигурации поставщика — от неё зависит, с какого релиза можно обновляться;
  • 📌 режим для корня конфигурации и отдельных объектов;
  • 📌 включена ли вообще возможность изменения.

Режимов три, и от них зависит весь дальнейший путь:

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

Если корень конфигурации снят с поддержки, команда «Обновить конфигурацию» не сработает. Такую базу обновляют через Конфигурация → Сравнить, объединить с конфигурацией из файла, а это сравнение двух версий вместо трёх и заметно больше ручной работы.

Список своих доработок

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

Отдельно сохраните конфигурацию поставщика: Конфигурация → Конфигурация поставщика → Сохранить в файл. Этот .cf пригодится, если обновление придётся откатывать или разбирать заново.

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

Без резервной копии к обновлению доработанной базы не приступайте. Для файловой базы — Администрирование → Выгрузить информационную базу в файл .dt. Для клиент-серверной — дополнительно полная копия средствами СУБД. Плюс сохраните основную конфигурацию: Конфигурация → Сохранить конфигурацию в файл.

Если подключено хранилище

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

Как обновлять вашу базу?

Какой файл обновления нужен: .cf или .cfu

Дистрибутив обновления скачивают из раздела обновлений портала 1С:ИТС. Это архив с программой установки setup.exe. Запуск устанавливает шаблоны в каталог %APPDATA%\1C\1cv8\tmplts — по умолчанию, если путь не меняли при установке.

В папке релиза лежат два файла:

  • 📄 1cv8.cfu — файл обновления. Применяется только к определённым предыдущим версиям, список указан в описании релиза.
  • 📄 1cv8.cf — полная поставка конфигурации. Подходит для обновления доработанной базы.

Для измененной конфигурации берите .cf. С ним Конфигуратор получает полную новую типовую конфигурацию и может корректно построить сравнение трёх версий.

Проверьте цепочку релизов

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

При большом отставании выгоднее сначала дойти до релиза, на котором закончился крупный переход (например, смена версии БСП), а не идти мелкими шагами. Какие релизы ключевые, видно в описании «Новое в версии».

Как сравнить старую, свою и новую конфигурации

Запустите Конфигурация → Поддержка → Обновить конфигурацию, выберите «Выбор файла обновления» и укажите 1cv8.cf нового релиза. Конфигуратор покажет версию поставщика из файла и спросит, обновлять ли. После подтверждения откроется окно сравнения и объединения.

Как читать окно сравнения

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

  • 🟢 изменён только поставщиком — новое приходит без конфликта;
  • 🔵 изменён только вами — ваши правки остаются;
  • 🔴 изменён и вами, и поставщиком — это «двойные изменения», их и нужно разбирать.

В фильтре окна включите отображение только дважды измененных свойств. Список сократится с тысяч объектов до десятков — именно с ними работа.

Что смотреть в первую очередь

  1. Общие модули и модули объектов, где вы правили процедуры.
  2. Формы документов и справочников с добавленными реквизитами и кнопками.
  3. Макеты печатных форм.
  4. Роли, если меняли права.
  5. Состав подсистем и командный интерфейс.

Объекты, которые поставщик удалил или переименовал

Отдельная ловушка — типовые объекты, которые в новом релизе убраны или переименованы. Если ваш код ссылается на такой реквизит, общий модуль или процедуру, сравнение конфликта не покажет: ваш модуль не менялся поставщиком. Ошибка всплывёт только при проверке конфигурации или при работе пользователя.

Поэтому после сравнения пройдитесь по своему списку доработок и найдите в них обращения к типовым объектам. Поиск по имени в новой конфигурации (Ctrl+Shift+F — глобальный поиск по модулям) быстро покажет, существует ли объект в релизе.

Объединение и разбор конфликтов

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

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

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

Модули: объединение по процедурам

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

Практический приём: свои вставки в типовой код отмечайте комментариями-маркерами вида // +ИмяРазработчика 2026-10-07 и // -ИмяРазработчика. При объединении такие блоки находятся поиском за секунды, а не по памяти.

// +Иванов доработка: контроль лимита
Если Объект.СуммаДокумента > ЛимитПоКонтрагенту Тогда
	Отказ = Истина;
КонецЕсли;
// -Иванов

Формы

Формы объединяются хуже модулей. Если вы добавили на типовую форму поле или кнопку, а поставщик переделал её состав, проще взять форму поставщика и добавить свои элементы заново. Номера и порядок элементов после объединения проверяйте глазами: автоматика иногда ставит новый элемент не в ту группу.

Не нажимайте «Выполнить», пока не просмотрели все объекты с красной пометкой. После нажатия откатить объединение кнопкой нельзя — только восстановлением конфигурации из сохранённого файла.

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

После объединения в Конфигураторе изменилась только основная конфигурация. Чтобы изменения дошли до данных, выполните Конфигурация → Обновить конфигурацию базы данных (клавиша F7).

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

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

Первый запуск в режиме 1С:Предприятие

После F7 откройте базу в пользовательском режиме под администратором. Типовые конфигурации на БСП запустят обработчики обновления: перенос и пересчёт данных под новый релиз. Часть обработчиков выполняется сразу, часть — в фоне, отложенно.

Ход отложенной обработки смотрите в Администрирование → Обслуживание → Результаты обновления и дополнительная обработка данных. Пока она не завершена, некоторые отчёты могут показывать неполные данные.

Проверка на копии и перенос в рабочую базу

Обновлять измененную конфигурацию сразу в рабочей базе — лишний риск. Правильнее так:

  1. Разверните копию рабочей базы из свежего .dt.
  2. Проведите обновление на копии: сравнение, объединение, F7, первый запуск.
  3. Запишите, какие объекты конфликтовали и какой режим объединения вы выбрали для каждого.
  4. Проверьте ключевые сценарии.
  5. Повторите те же действия на рабочей базе в согласованное окно.

Что проверять на копии

Проверка после обновления
Выполнено: 0 / 7

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

Если на копии всё сломалось

Восстановите копию из .dt и пройдите объединение заново, выбрав для проблемных объектов другой режим. Рабочая база при этом не пострадала — ради этого копия и нужна.

Как сократить работу при следующих обновлениях

Каждый релиз доработанной базы — это новый проход сравнения. Время на него растёт с числом правок в типовых объектах. Три приёма сокращают работу:

  • 🧩 Расширения конфигурации . Доступны с платформы 8.3.6. Новые реквизиты, формы, печатные формы и обработчики событий выносятся в расширение .cfe, а основная конфигурация остаётся на полной поддержке и обновляется как типовая.
  • 🧩 Минимум правок в типовом коде. Если без правки модуля не обойтись, вставляйте вызов своей процедуры из отдельного общего модуля, а не пишите логику внутри типовой процедуры. Конфликт тогда занимает одну строку.
  • 🧩 Новые объекты вместо изменённых. Свой справочник или документ, добавленный в конфигурацию, не конфликтует с поставщиком никогда.

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

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

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