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