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

  • файл конфигурации (cf), содержащий дистрибутив конфигурации;
  • файл информационной базы (1cd), содержащий готовую к работе, но пустую базу данных (или заполненную некоторыми обязательными начальными данными);
  • файл информационной базы, содержащий демонстрационные данные, соответствующие им файлы выгрузки информационной базы (dt).
Для создания конфигурации, которая может быть использована в качестве конфигурации поставщика, необходимо подготовить специальные варианты этих файлов. Основой для них является файл дистрибутива конфигурации (cf), подготовка которого будет описана. В конце раздела будет рассмотрен вопрос создания файлов других форматов с помощью файла конфигурации.

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

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

  • изменения разрешены;
  • изменения не рекомендуются;
  • изменения запрещены.
Эти варианты определяют допустимые правила поддержки, которые будут устанавливаться пользователем. Более подробно вопрос описан в разделе "Введение в поставку и поддержку конфигураций".

Для объектов так же можно задать правила поставки модулей. Для этого используется флажок "Включать тексты модулей объекта". В случае отмены поставки текстов модулей пользователь не будет иметь возможности просматривать и изменять тексты программ на встроенном языке "1С:Предприятия", что может являться как элементом защиты интеллектуальной собственности поставщика, так и элементом поддержки логической целостности конфигурации. 

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

Например, изменение типа реквизита справочника со строки на ссылку на другой справочник требует "двухпроходного обновления". Сначала требуется добавить новый реквизит типа ссылки, заполнить его на основе значения старого реквизита, и только потом можно удалить старый реквизит, а новый переименовать. Такую процедуру нельзя выполнить в рамках одного изменения структуры базы данных с предшествующим и / или последующим выполнением специальной обработки. Требуется подготовить промежуточную версию конфигурации, в которой новый реквизит будет добавлен, а старый еще не удален, и написать соответствующие обработки. Процедуру обновления конфигурации в этом случае, конечно, следует подробно описать в документации, но всегда существует вероятность ошибочных действий со стороны пользователя. Использование флажка "Файл поставки может использоваться для обновления" позволяет поставщику подстраховаться от ошибок пользователя в процессе обновления. Общая схема может быть примерно такой:

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

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

Механизм поставки конфигураций предлагает определенную схему размещения на диске файлов поставки и поддержки разных версий. В диалоге "Создание файлов поставки и обновления конфигурации" нажав кнопку "Каталог файлов поставки" можно задать корневой каталог для размещения создаваемых файлов. Файлы поставки и обновления будут по умолчанию располагаться в подкаталогах, имеющих имена, соответствующие свойству "Версия" конфигурации. Использование этой схемы позволит упростить подготовку обновлений для новых версий конфигурации, как это будет описано ниже. Следует иметь ввиду, что корневой каталог не сохраняется внутри самой конфигурации и будет изменен при переносе файла информационной базы "1cd" на другой компьютер.

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


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

При включении флажка "Создать файл обновления конфигурации" следует указать один или несколько файлов предыдущих версий, для которых и будет подготовлено обновление. Следует напомнить что, как было описано в разделе "Введение в поставку и поддержку конфигураций", файлы обновления не являются кумулятивными, то есть создание обновления с версии "4" до версии "6" не позволит с помощью этого файла произвести обновление с версии "5", если только она не была указана при создании. Для выбора файлов предыдущих версий можно пользоваться как кнопкой "Добавить" и прямым выбором файла, так и кнопкой "Добавить из предыдущих версий", которая сама найдет и предложит для выбора файлы, если они были размещены на диске в соответствии с описанной выше стандартной структурой каталогов. С помощью команды "Добавить" можно указать и файлы других конфигураций. После чего обновление может быть выполнено и для них, однако это должны быть именно файлы поставки, а не произвольные файлы конфигурации.


Создание файлов поставки других форматов


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

Открыв в режиме конфигуратора файл информационной базы, содержащий необходимые данные, следует выполнить команду "Конфигурация\Загрузить конфигурацию из файла...", согласиться на замену текущей конфигурации и выполнить обновление конфигурации базы данных. Полученную в результате информационную базу можно использовать для поставки. Для подготовки файла выгрузки конфигурации (dt) следует в ее среде выполнить стандартную команду "Администрирование\Выгрузить информационную базу".