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