Администрирование · 12 мин
Как обновить доработанную конфигурацию 1С без потери доработок
Как обновить доработанную конфигурацию 1С без потери изменений: подготовка, сравнение и объединение, настройка правил, проверка результата и типичные ошибки.
Доработанная конфигурация 1С снимается с полной поддержки поставщика, поэтому штатное автоматическое обновление становится недоступным или опасным: платформа либо откажется обновляться, либо предложит загрузить типовую конфигурацию и потерять все изменения. Обновление такой базы выполняется вручную через механизм «Сравнение и объединение конфигураций» в конфигураторе, где для каждого изменённого объекта выбирается правило объединения.
Главный риск при обновлении доработанной конфигурации — не сам процесс, а потеря доработок: изменённые модули, формы, печатные макеты и добавленные объекты могут быть перезаписаны типовыми версиями, если неправильно настроить правила объединения. Второй риск — пропуск важных изменений поставщика: если слепо взять «свои» версии всех объектов, база формально обновится по номеру релиза, но фактически останется старой, что позже вызовет ошибки при обменах и отчётности.
Обновление доработанной конфигурации — задача средней сложности. Если доработки точечные (несколько печатных форм, пара отчётов через расширения), справится внимательный администратор. Если изменены десятки типовых модулей и документооборот, разумнее привлечь специалиста, который знает конкретные доработки. Ниже — полный порядок действий от подготовки до проверки результата.
Подготовка: резервная копия и анализ доработок
Первое действие перед любым обновлением — резервная копия. Для файловой базы достаточно скопировать каталог с файлом 1Cv8.1CD при остановленной работе пользователей или сделать выгрузку через «Конфигуратор → Администрирование → Выгрузить информационную базу». Для клиент-серверной базы надёжнее средствами СУБД (например, pg_dump для PostgreSQL или backup в MS SQL), потому что выгрузка в dt больших баз идёт долго и не всегда корректно восстанавливается.
Второй шаг — инвентаризация доработок. Откройте «Конфигурация → Поддержка → Настройка поддержки» и посмотрите, какие объекты стоят на замке (изменены) и какие сняты с поддержки полностью. Полезно составить список: какие объекты менялись, зачем, есть ли описание изменений от разработчика. Если доработки делались давно и документации нет, сравните текущую конфигурацию с типовой того же релиза — так вы увидите реальный объём отличий.
Третий шаг — определить целевой релиз. Загрузите дистрибутив обновления с портала 1С: обратите внимание на файл 1cv8.htm или ReadMe в комплекте поставки: там указано, с каких релизов возможен переход. Если ваша база сильно отстала, обновление придётся выполнять в несколько шагов через промежуточные релизы — пропускать обязательные промежуточные версии нельзя, иначе обработчики обновления данных отработают некорректно.
Способы обновления: через поддержку, cf-файл или расширения
Основной способ — обновление через механизм поддержки: «Конфигурация → Поддержка → Обновить конфигурацию». В диалоге выбирают «Поиск доступных обновлений» (если настроен интернет-доступ) или «Выбор файла обновления» и указывают файл 1cv8.cfu из дистрибутива. CFU — это файл обновления, который содержит только изменения между релизами и применим строго к определённой версии.
Альтернатива — полная загрузка конфигурации из cf-файла через «Загрузить конфигурацию из файла», но этот способ затрёт все доработки без вопросов, поэтому для доработанных конфигураций он подходит только как источник для ручного сравнения: загружают cf в пустую базу и используют её как эталон при объединении.
Третий путь — стратегический: постепенно переносить доработки в расширения конфигурации. Расширения не снимают объекты с поддержки и не требуют объединения при обновлении: типовая конфигурация обновляется автоматически, а расширение остаётся работать поверх неё. Если доработки позволяют (дополнительные печатные формы, отчёты, обработки, переопределение процедур через аннотации «ИзменениеИКонтроль»), перевод их в расширение сильно упрощает все будущие обновления.
Сравнение вариантов
Подходит для любых доработок, включая изменённые типовые модули. Требует ручной настройки правил объединения и тестирования.
Лучший долгосрочный вариант: типовая обновляется автоматически. Ограничение — не все изменения реализуемы расширением (например, изменение структуры типовых реквизитов).
Только если доработки не нужны или будут внесены заново. Все изменения теряются без предупреждения.
Сравнение и объединение: настройка правил
После выбора файла обновления конфигуратор построит дерево сравнения: в нём видны все отличия рабочей конфигурации от нового релиза поставщика. Объекты, изменённые и вами, и поставщиком, — самые конфликтные: для них нужно решить, чью версию взять или как объединить. Именно здесь происходит основная работа при обновлении доработанной конфигурации.
Для каждого объекта доступны режимы: «Взять из новой конфигурации поставщика», «Объединить с приоритетом новой конфигурации», «Объединить с приоритетом основной конфигурации» или снятие флажка (объект не обновляется). Общая логика такая: объекты, которые вы не трогали, должны обновляться полностью; объекты, которые меняли только вы, — оставаться вашими; объекты, изменённые с обеих сторон, — объединяться с ручной правкой модулей.
Для модулей с двусторонними изменениями конфигуратор показывает построчное сравнение текста. Ваша задача — перенести свои вставки в новый типовой код, а не наоборот: приоритет отдают версии поставщика, а доработки аккуратно добавляют в неё. Так вы сохраните и исправления поставщика, и свою логику. Помечайте свои вставки комментариями с префиксом (например, «// Доработка: ...»), чтобы при следующем обновлении сразу видеть их границы.
- 1Сделайте копию базы и работайте только в ней
- 2Запустите Конфигуратор → Конфигурация → Поддержка → Обновить конфигурацию
- 3Укажите файл CFU нужного релиза и дождитесь построения дерева сравнения
- 4Снимите флажки с объектов, изменённых только вами (ваши доработки не трогаем)
- 5Для объектов с двусторонними изменениями задайте «Объединить с приоритетом поставщика» и вручную перенесите свои вставки в модулях
- 6Проверьте, что добавленные вами объекты (новые справочники, документы, подписки) не конфликтуют с новыми типовыми
- 7Нажмите «Выполнить», затем обновите конфигурацию базы данных (F7) и дождитесь окончания обработчиков обновления
- 8Запустите базу в пользовательском режиме и проверьте ключевые операции
Обновление конфигурации базы данных и обработчики
После объединения конфигурация ещё не применена к данным. Нажмите F7 («Обновить конфигурацию базы данных») — платформа выполнит реструктуризацию таблиц и запустит обработчики обновления, которые переносят данные в новую структуру. На больших базах это может занять от нескольких минут до нескольких часов; прерывать процесс нельзя, поэтому заранее выгоните пользователей и обеспечьте бесперебойное питание сервера.
Если обновление выполняется в несколько шагов через промежуточные релизы, после каждого шага нужно полностью завершить обновление конфигурации базы данных и запустить базу в режиме предприятия: часть обработчиков (отложенные) выполняется именно при запуске. Проверить статус можно в разделе «Администрирование → Обслуживание → Результаты обновления программы» (в типовых конфигурациях на БСП). Только после сообщения об успешном завершении переходите к следующему релизу.
Проверка результата и тестирование
Формальное завершение обновления не гарантирует работоспособность. Минимальный комплект проверок: запуск базы под полными правами и под типовым пользователем, проведение ключевых документов, формирование регламентированных отчётов, работа доработанных механизмов, обмены с другими системами, печать документов. Особое внимание — тем местам, где были двусторонние изменения: именно там чаще всего теряются доработки или ломается типовая логика.
Полезно прогнать встроенную проверку конфигурации: «Конфигурация → Проверка конфигурации» с включёнными проверками логической целостности и поиска некорректных ссылок. Для клиент-серверных баз дополнительно выполните тестирование и исправление (chdbfl для файловых баз) только при наличии подозрений на повреждения — штатно после корректного обновления это не требуется.
Если обнаружилась ошибка, оцените её природу: потерянная доработка (придётся переносить заново из копии старой конфигурации), ошибка обработчика обновления (смотрите журнал регистрации, часто помогает повторный запуск) или конфликт с расширением (обновите или отключите расширения — они тоже могут сломаться на новом релизе). Только после полного успешного теста на копии повторите процедуру на рабочей базе.
Как проверить результат
Соответствует целевому релизу в сведениях о конфигурации
Номер старый или обновление завершилось с ошибками в журнале
Все свои функции, печатные формы и отчёты работают как раньше
Доработка исчезла или выдаёт ошибку — значит, объект был перезаписан типовым
Статус «Обновление завершено успешно», отложенные обработчики выполнены
Есть незавершённые или завершённые с ошибкой обработчики
Синхронизации проходят без ошибок
Ошибки форматов обмена — вероятно, не обновлена связанная подсистема или расширение
Типичные ошибки и как их избежать
Самая дорогая ошибка — обновление без копии и без теста. Даже опытные специалисты периодически сталкиваются с неожиданными конфликтами, и откат возможен только из резервной копии. Вторая частая ошибка — массовое снятие флажков «чтобы ничего не сломать»: база получает новый номер релиза, но типовые объекты остаются старыми, что приводит к ошибкам в отчётности и обменах, которые всплывают через недели.
Третья группа ошибок связана с окружением: забытые расширения конфигурации (после обновления их нужно проверить и при необходимости адаптировать), старая версия платформы (новый релиз может требовать более свежую платформу — требование указано в файле поставки), обновление при работающих пользователях (реструктуризация завершится ошибкой блокировок). Также нельзя пропускать обязательные промежуточные релизы, указанные поставщиком.
Заведите простой журнал доработок: объект, что изменено, зачем, кем и когда. При следующем обновлении он сэкономит часы на анализе отличий и снизит риск случайно потерять чужую доработку, смысл которой уже никто не помнит.
Часто задаваемые вопросы
Можно ли обновить доработанную конфигурацию автоматически через интернет?
Нет. Автоматическое обновление доступно только для конфигураций на полной поддержке без изменений. Если хотя бы один объект изменён, потребуется ручное объединение в конфигураторе. Исключение — доработки, вынесенные в расширения: тогда типовая часть обновляется автоматически.
Что делать, если доработки делал сторонний программист и описания нет?
Сравните текущую конфигурацию с типовой конфигурацией того же релиза через «Сравнить с конфигурацией поставщика» — получите точный список изменённых объектов. Для модулей откройте построчное сравнение: вставки обычно видны по отличиям в тексте. Этот список и будет вашей картой доработок.
Потеряются ли данные при обновлении конфигурации?
При корректном обновлении данные не теряются: обработчики поставщика переносят их в новую структуру. Риск существует при прерывании реструктуризации, пропуске промежуточных релизов и ошибках в обработчиках. Поэтому обязательны резервная копия и тест на копии базы.
Обязательно ли обновлять платформу вместе с конфигурацией?
Не всегда, но новый релиз конфигурации может требовать минимальную версию платформы — она указана в файле поставки обновления. Если требование есть, сначала обновите платформу на всех серверах и клиентах, иначе база не запустится или будет работать с ошибками.
Как упростить будущие обновления доработанной конфигурации?
Переносите доработки в расширения конфигурации там, где это возможно, минимизируйте изменения типовых объектов, помечайте свои вставки комментариями с префиксом и ведите журнал изменений. Чем меньше объектов снято с поддержки, тем ближе обновление к автоматическому.
Что делать, если после обновления перестала работать доработка?
Откройте копию старой базы, найдите доработанный объект и сравните его модуль с текущим. Перенесите свои изменения в новый типовой код вручную. Если откат невозможен и доработка критична, восстановите резервную копию в отдельную базу и возьмите код оттуда.
Что важно запомнить
Доработанная конфигурация обновляется вручную через сравнение и объединение с файлом поставщика. Безопасность обеспечивают три вещи: резервная копия до начала, тестирование на копии базы и аккуратная настройка правил объединения для доработанных объектов. Долгосрочное решение — перенос доработок в расширения, чтобы вернуть конфигурацию на полную поддержку.