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

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

Как создать поставку конфигурации в 1С

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

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

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

Работа ведётся в Конфигураторе через меню «Конфигурация → Поставка конфигурации». Ниже разобран полный цикл: от подготовки конфигурации до проверки обновления на тестовой базе, а также типичные ошибки, из-за которых поставка «не встаёт» у клиента.

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

Поставка — это комплект файлов, который платформа 1С использует для установки и обновления конфигурации в режиме поддержки. В комплект входят файл конфигурации (.cf), файлы обновления с предыдущих версий, манифест поставки (1cv8.mft) и служебные описания.

Без поставки обновить конфигурацию у клиента можно только вручную: выгрузить .cf, загрузить его через «Загрузить конфигурацию из файла» и разобраться с режимом объединения. Это работает для разовых случаев, но не масштабируется: при снятой с поддержки конфигурации каждое обновление превращается в ручную работу с риском потери доработок клиента.

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

Подготовка конфигурации к поставке

Перед созданием поставки конфигурация должна находиться в консистентном состоянии. Откройте Конфигуратор под пользователем с полными правами и выполните проверку конфигурации: «Конфигурация → Проверка конфигурации». Ошибки компиляции модулей и битые ссылки на объекты нужно исправить до сборки — иначе поставка соберётся, но не встанет у клиента.

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

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

Настройка параметров поставки

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

Основные поля: «Поставщик» — имя вашей организации или разработчика; «Краткое имя конфигурации» и «Имя» — идентификатор, по которому платформа связывает поставку с установленной конфигурацией; «Версия» — номер версии в формате, например, 1.0.1.1. Имя и поставщик должны совпадать у всех версий поставки, иначе обновление не распознается как продолжение линейки.

В настройке поставки также указываются версии, с которых возможно обновление на текущую. Если вы выпускаете версию 1.0.3, а у клиентов стоят 1.0.1 и 1.0.2, перечислите обе — тогда платформа сможет обновить любую из них напрямую.

Создание файлов поставки и обновления

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

Отметьте нужные опции: «Файл поставки конфигурации» — полный комплект для новой установки; «Файл обновления конфигурации» — комплект для обновления с указанных предыдущих версий. Для файла обновления платформа потребует путь к файлам поставки предыдущих версий, чтобы построить дельту обновления.

Порядок создания поставки
  1. 1
    Проверьте конфигурацию на ошибки и обновите конфигурацию базы данных разработчика
  2. 2
    Откройте «Конфигурация → Поставка конфигурации → Настройка поставки» и задайте поставщика, имя и версию
  3. 3
    Укажите предыдущие версии, с которых возможно обновление
  4. 4
    Выберите «Создать файлы поставки и обновления конфигурации» и укажите каталог
  5. 5
    Отметьте нужные типы файлов: поставка, обновление или оба
  6. 6
    Дождитесь сборки и проверьте содержимое каталога: .cf, .cfu, 1cv8.mft

После сборки в каталоге появятся файлы: 1cv8.cf (полная конфигурация), 1cv8.cfu (файл обновления) и 1cv8.mft (манифест с описанием комплекта). Весь каталог целиком и передаётся клиенту — отдельные файлы без манифеста платформа как поставку не воспринимает.

Установка и обновление поставки у клиента

На стороне клиента поставка применяется через Конфигуратор: «Конфигурация → Поддержка → Настройка поддержки → Обновить конфигурацию» (или «Конфигурация → Поддержка → Обновить конфигурацию» в зависимости от состояния поддержки). В диалоге выбирается «Поиск доступных обновлений» с указанием каталога комплекта поставки либо файл поставки вручную.

Если конфигурация у клиента ещё не на поддержке вашего решения, сначала выполняется постановка: «Настройка поддержки → Включить возможность изменения» не требуется; вместо этого загружается поставка через «Загрузить конфигурацию из файла» с последующей постановкой на поддержку, либо используется сравнение и объединение с файлом поставки с включённым режимом поддержки.

Маршрут решения

Как выбрать способ передачи решения

Нужно разово передать доработку в одну базуВыгрузите файл .cf и загрузите его у клиента вручную
Решение тиражируется и будет регулярно обновлятьсяСоздавайте полноценную поставку с файлами обновления
Доработки небольшие и у клиента типовая конфигурация на поддержке вендораРассмотрите расширение конфигурации вместо собственной поставки
У клиента уже стоит ваша конфигурация на поддержкеПередавайте только файл обновления .cfu с манифестом

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

Проверка результата и типичные ошибки

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

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

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

Версия и поставщик в настройке поддержки
Норма

Отображается новая версия и ваш поставщик

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

Старая версия или конфигурация снята с поддержки

Запуск в режиме Предприятие
Норма

База открывается без ошибок обновления

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

Ошибки инициализации, требование монопольного доступа

Окно реструктуризации при обновлении
Норма

Только добавление новых объектов и реквизитов

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

Удаление реквизитов или таблиц с данными

Повторная сборка поставки следующей версии
Норма

Обновление распознаёт текущую версию как предыдущую

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

Платформа сообщает, что обновление не предназначено для этой конфигурации

Типичные ошибки
01
Смена имени конфигурации или поставщика между версиями — обновление перестаёт распознаваться как продолжение линейки
02
Сборка обновления без указания всех актуальных предыдущих версий — клиенты со старых версий не могут обновиться напрямую
03
Передача клиенту только файла .cfu без манифеста 1cv8.mft — платформа не видит комплект поставки
04
Применение обновления сразу на рабочей базе без копии — при ошибке реструктуризации данные теряются безвозвратно
05
Несовпадение версии платформы у разработчика и клиента — обновление отклоняется на этапе загрузки

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

Альтернативы поставке: выгрузка .cf и расширения

Поставка — не единственный способ доставить доработки. Выгрузка .cf подходит для разовой передачи и не требует настройки поставки, но не сохраняет историю версий. Расширение конфигурации (.cfe) позволяет добавлять и переопределять объекты поверх типовой конфигурации, не снимая её с поддержки вендора — для большинства внедренческих задач это предпочтительный вариант.

Сравнение способов доставки доработок

Поставка конфигурации

Полный контроль над решением и штатное обновление у клиента; требует дисциплины версионирования и заменяет поддержку вендора

Файл .cf

Быстро и просто для разовой передачи; обновление только ручное, истории версий нет

Расширение конфигурации (.cfe)

Сохраняет типовую поддержку и просто обновляется; не подходит для глубокой переработки структуры данных

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

Чем файл поставки отличается от файла обновления?

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

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

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

Почему платформа пишет, что файл обновления не предназначен для этой конфигурации?

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

Нужно ли монопольное access к базе при обновлении через поставку?

Да. Загрузка обновления и реструктуризация выполняются в монопольном режиме: все пользователи должны выйти из базы, а фоновые задания — завершиться. В клиент-серверном варианте удобно блокировать сеансы через консоль кластера.

Как откатить обновление, если после него база не работает?

Штатного отката нет — восстановление возможно только из резервной копии, сделанной до обновления. Поэтому копия базы перед применением поставки обязательна, а само обновление сначала проверяется на тестовой копии.

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

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

Итог

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

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