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