К статье
Практический материал

Администрирование · 12 мин

Как обновить доработанную конфигурацию 1С без потери доработок

Как обновить доработанную конфигурацию 1С без потери изменений: подготовка, сравнение и объединение, настройка правил, проверка результата и типичные ошибки.

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

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

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

Подготовка: резервная копия и анализ доработок

Первое действие перед любым обновлением — резервная копия. Для файловой базы достаточно скопировать каталог с файлом 1Cv8.1CD при остановленной работе пользователей или сделать выгрузку через «Конфигуратор → Администрирование → Выгрузить информационную базу». Для клиент-серверной базы надёжнее средствами СУБД (например, pg_dump для PostgreSQL или backup в MS SQL), потому что выгрузка в dt больших баз идёт долго и не всегда корректно восстанавливается.

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

Третий шаг — определить целевой релиз. Загрузите дистрибутив обновления с портала 1С: обратите внимание на файл 1cv8.htm или ReadMe в комплекте поставки: там указано, с каких релизов возможен переход. Если ваша база сильно отстала, обновление придётся выполнять в несколько шагов через промежуточные релизы — пропускать обязательные промежуточные версии нельзя, иначе обработчики обновления данных отработают некорректно.

Способы обновления: через поддержку, cf-файл или расширения

Основной способ — обновление через механизм поддержки: «Конфигурация → Поддержка → Обновить конфигурацию». В диалоге выбирают «Поиск доступных обновлений» (если настроен интернет-доступ) или «Выбор файла обновления» и указывают файл 1cv8.cfu из дистрибутива. CFU — это файл обновления, который содержит только изменения между релизами и применим строго к определённой версии.

Альтернатива — полная загрузка конфигурации из cf-файла через «Загрузить конфигурацию из файла», но этот способ затрёт все доработки без вопросов, поэтому для доработанных конфигураций он подходит только как источник для ручного сравнения: загружают cf в пустую базу и используют её как эталон при объединении.

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

Сравнение вариантов

Обновление через CFU с объединением

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

Перенос доработок в расширение

Лучший долгосрочный вариант: типовая обновляется автоматически. Ограничение — не все изменения реализуемы расширением (например, изменение структуры типовых реквизитов).

Загрузка полного CF

Только если доработки не нужны или будут внесены заново. Все изменения теряются без предупреждения.

Сравнение и объединение: настройка правил

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

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

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

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

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

После объединения конфигурация ещё не применена к данным. Нажмите F7 («Обновить конфигурацию базы данных») — платформа выполнит реструктуризацию таблиц и запустит обработчики обновления, которые переносят данные в новую структуру. На больших базах это может занять от нескольких минут до нескольких часов; прерывать процесс нельзя, поэтому заранее выгоните пользователей и обеспечьте бесперебойное питание сервера.

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

Проверка результата и тестирование

Формальное завершение обновления не гарантирует работоспособность. Минимальный комплект проверок: запуск базы под полными правами и под типовым пользователем, проведение ключевых документов, формирование регламентированных отчётов, работа доработанных механизмов, обмены с другими системами, печать документов. Особое внимание — тем местам, где были двусторонние изменения: именно там чаще всего теряются доработки или ломается типовая логика.

Полезно прогнать встроенную проверку конфигурации: «Конфигурация → Проверка конфигурации» с включёнными проверками логической целостности и поиска некорректных ссылок. Для клиент-серверных баз дополнительно выполните тестирование и исправление (chdbfl для файловых баз) только при наличии подозрений на повреждения — штатно после корректного обновления это не требуется.

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

Контрольные точки

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

Номер версии конфигурации
Норма

Соответствует целевому релизу в сведениях о конфигурации

Тревожный признак

Номер старый или обновление завершилось с ошибками в журнале

Доработанные механизмы
Норма

Все свои функции, печатные формы и отчёты работают как раньше

Тревожный признак

Доработка исчезла или выдаёт ошибку — значит, объект был перезаписан типовым

Результаты обновления (БСП)
Норма

Статус «Обновление завершено успешно», отложенные обработчики выполнены

Тревожный признак

Есть незавершённые или завершённые с ошибкой обработчики

Обмены и интеграции
Норма

Синхронизации проходят без ошибок

Тревожный признак

Ошибки форматов обмена — вероятно, не обновлена связанная подсистема или расширение

Типичные ошибки и как их избежать

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

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

Типичные ошибки
01
Обновление рабочей базы без копии — при сбое данные теряются без возможности отката
02
Снятие флажков со всех изменённых объектов — релиз обновляется формально, типовые исправления не применяются
03
Приоритет «своей» версии для модулей с двусторонними изменениями — теряются исправления поставщика и легальность отчётности
04
Игнорирование расширений — после обновления они могут конфликтовать с новым типовым кодом
05
Пропуск промежуточных релизов — обработчики обновления данных отрабатывают некорректно
06
Обновление при активных сеансах — ошибки блокировок на этапе реструктуризации
Заведите простой журнал доработок: объект, что изменено, зачем, кем и когда. При следующем обновлении он сэкономит часы на анализе отличий и снизит риск случайно потерять чужую доработку, смысл которой уже никто не помнит.
ПЗ
Практическое замечание

Часто задаваемые вопросы

Можно ли обновить доработанную конфигурацию автоматически через интернет?

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

Что делать, если доработки делал сторонний программист и описания нет?

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

Потеряются ли данные при обновлении конфигурации?

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

Обязательно ли обновлять платформу вместе с конфигурацией?

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

Как упростить будущие обновления доработанной конфигурации?

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

Что делать, если после обновления перестала работать доработка?

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

Итог

Что важно запомнить

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