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

Разработка и Конфигурация · 11 мин

Поставка конфигурации 1С 8.3: что это такое

Поставка конфигурации 1С 8.3 — что входит в комплект, чем отличается cf от cfu, как обновить базу через поддержку и какие ошибки допускают чаще всего.

Поставка конфигурации в 1С 8.3 — это комплект файлов, который фирма «1С» или франчайзи-разработчик передаёт пользователю для установки или обновления прикладного решения. В поставку входит файл конфигурации (cf), файлы обновления (cfu), шаблоны установки, файлы описания поставки и, как правило, документация. Без корректной поставки невозможно ни первичное развёртывание типовой базы, ни её дальнейшее обновление на официальную поддержку.

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

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

Что входит в комплект поставки конфигурации

Типовой комплект поставки формируется в конфигураторе через «Конфигурация → Поддержка → Настройка поддержки → Создать файлы поставки и обновления конфигурации». В результате создаётся набор файлов с определённым назначением.

Основные элементы комплекта:

  • 1cv8.cf — полный файл конфигурации, из которого создаётся новая база или выполняется полная загрузка;
  • 1cv8.cfu — файл обновления, содержащий только изменения между версиями;
  • 1cv8.cfe — файл расширения (если поставляется расширение, а не основная конфигурация);
  • файл описания поставки — содержит номер версии, имя поставщика, список версий, с которых возможно обновление;
  • файл манифеста (1cv8.mft) — описывает состав дистрибутива для шаблона установки;
  • дополнительные материалы: описание изменений, порядок перехода на новую версию, внешние отчёты и обработки.

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

Чем файл cf отличается от cfu и когда какой использовать

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

Параметр1cv8.cf1cv8.cfu
СодержимоеПолная конфигурацияТолько изменения между версиями
Создание новой базыДаНет
Обновление базы на поддержкеДа, через «Загрузить конфигурацию из файла» или сравнение/объединениеДа, штатно через «Обновить конфигурацию»
Требование к текущей версииНе требуетТолько с версий, указанных в описании поставки
Затрагивает данныеПри загрузке — только структура, данные сохраняются, но доработки затираютсяСохраняет доработки при правильном объединении

Практическое правило: если база стоит на поддержке и обновляется регулярно — используйте cfu. Если база снята с поддержки, обновление пропущено через несколько версий или поддержка «сломана» — потребуется полный cf и ручное сравнение/объединение с сохранением доработок.

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

Обновление через cfu

Подходит для баз на полной поддержке без пропущенных релизов. Быстро, штатно, минимальный риск. Не работает, если текущая версия не входит в список поддерживаемых.

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

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

Сравнение и объединение с cf

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

Как связаны поставка и поддержка конфигурации

Механизм поддержки — это «мост» между поставкой и информационной базой. Когда база создана из шаблона поставки, конфигуратор запоминает поставщика, имя конфигурации и текущую версию. При выходе новой поставки платформа может проверить совместимость и предложить обновление.

Посмотреть состояние поддержки можно в конфигураторе: «Конфигурация → Поддержка → Настройка поддержки». Там отображается поставщик, версия, а также режим поддержки для каждого объекта: «на поддержке», «изменён, на поддержке», «снят с поддержки».

Если конфигурация полностью снята с поддержки, штатное обновление через cfu становится невозможным: платформа не знает, от какой версии поставщика считать изменения. Восстановить поддержку можно только через сравнение/объединение с полным cf поставщика с включением режима поддержки.

Как обновить базу из поставки: порядок действий

Штатный сценарий обновления базы на поддержке выглядит так. Сначала убедитесь, что файловая или клиент-серверная база не используется пользователями — обновление конфигурации базы данных требует монопольного доступа. Затем сделайте выгрузку базы (dt) — это обязательная страховка.

Порядок действий
  1. 1
    Сделайте выгрузку информационной базы (Файл → Выгрузить информационную базу) и убедитесь, что файл dt создался и открывается на тестовой копии.
  2. 2
    Откройте конфигуратор в монопольном режиме: завершите сеансы пользователей.
  3. 3
    Откройте Конфигурация → Поддержка → Обновить конфигурацию и выберите источник: файл cfu/cf или поиск обновлений в каталогах.
  4. 4
    Если обновление через cfu недоступно, выберите полный cf и режим сравнения/объединения; отметьте объекты с доработками, которые нужно сохранить.
  5. 5
    После объединения выполните Конфигурация → Обновить конфигурацию базы данных и примите изменения структуры.
  6. 6
    Запустите базу в режиме предприятия под правами администратора — выполнятся обработчики обновления данных.
  7. 7
    Проверьте версию в сведениях о программе и работу ключевых документов и отчётов.

Обработчики обновления данных — критичный этап, который часто недооценивают. Изменение структуры метаданных и перенос данных в новые реквизиты выполняются именно ими. Если прервать базу на этом этапе, можно получить частично перенесённые данные.

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

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

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

Для клиентских баз, созданных из вашей поставки, вы становитесь поставщиком. Это значит, что обновления у клиентов будут применяться штатно, а вы сможете контролировать состав объектов и правила поставки — например, скрывать исходный код модулей (поставка без исходных текстов).

Храните все выпущенные версии поставки в архиве с понятной нумерацией. Если клиент пропустил несколько релизов, вы сможете сформировать cfu именно с его версии — для этого старая поставка должна быть под рукой. Пересобрать cfu для давно утерянной версии невозможно без её исходников.
ПЗ
Практическое замечание

Частые ошибки при работе с поставкой

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

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

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

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

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

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

Совпадает с версией установленной поставки

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

Осталась старая версия — обновление не применилось или не выполнено обновление конфигурации базы данных

Обработчики обновления
Норма

Все отложенные обработчики завершены, журнал без ошибок

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

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

Доработанные объекты
Норма

Свои изменения на месте, функционал работает

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

Доработки исчезли — при объединении был выбран режим замещения

Проведение ключевых документов и построение отчётов
Норма

Документы проводятся, отчёты формируются без ошибок

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

Ошибки обращения к реквизитам — структура данных не соответствует коду

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

Итог

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

Поставка конфигурации — это дистрибутив (cf, cfu, описание поставки), связывающий базу с поставщиком через механизм поддержки. Обновляйте базы на поддержке через cfu, доработанные — через сравнение/объединение с полным cf, всегда делайте выгрузку dt и проверяйте обновление на копии перед рабочей базой.

Частые вопросы

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

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

Чем поставка отличается от выгрузки базы в dt?

Файл dt — это полный снимок информационной базы вместе с данными, пользователями и настройками. Поставка — это только конфигурация (метаданные и код) без данных. Из dt восстанавливают конкретную базу, из поставки создают новые пустые базы или обновляют существующие.

Почему cfu не применяется с ошибкой о несоответствии версии?

Файл обновления содержит список версий, с которых возможен переход. Если ваша версия старше или база была обновлена нештатно, версия не совпадёт. Решения: установить промежуточные релизы последовательно или использовать полный cf со сравнением/объединением.

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

Да. При создании файлов поставки можно указать, какие модули поставляются без исходных текстов. В базе клиента такие модули будут работать, но их код нельзя просмотреть и изменить. Это стандартный способ защиты тиражных решений, но восстановить исходники из такой поставки невозможно — храните их отдельно.

Что делать, если обновление прервалось на этапе обновления конфигурации базы данных?

Не пытайтесь повторно запускать обновление вслепую. Сначала проверьте целостность базы (тестирование и исправление для файловой базы, средства СУБД для клиент-серверной). Если база ведёт себя некорректно — восстановите её из выгрузки dt, сделанной до обновления, и повторите процедуру, устранив причину прерывания.

Нужно ли обновлять платформу перед установкой новой поставки?

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