Справочный материал

Файл настроек объединения

Описан XML-файл настроек объединения конфигураций в BAS: его структура, параметры, правила поддержки и вспомогательные элементы для объектов, свойств и модулей.. Общая информация. Элемент <Settings>. Вспомогательные элементы

Два структурированных листа с абстрактными блоками сходятся в один аккуратно собранный файл настроек с соединёнными уровнями схемы.

Общая информация

Элемент <Settings>

Вспомогательные элементы

 

Общая информация

При сохранении настроек объединения конфигураций в файл сохраняются:

  • Версия файла настроек и минимальная версия платформы, поддерживающая эту версию настроек.
  • Описание конфигураций:

    • Имя,
    • Версия,
    • Поставщик.
  • Параметры объединения:

    • Отношение основной и второй конфигурации,
    • Языки сравнения,
    • Признак разрешения удаления объектов основной конфигурации,
    • Режим копирования объектов.
  • Признаки участия объекта или свойства в объединении.
  • Установленные порядки подчиненных объектов.
  • Настройки объединения свойств, в частности:

    • Модулей,
    • Форм,
    • Макетов табличных документов.

Сохраняются только параметры, отличающиеся от значений по умолчанию.

Файл настроек является XML-файлом со следующей структурой:

<Settings…>
    <MainConfiguration>
        <Name/>
        <Version/>
        <Vendor/>
    </MainConfiguration>
    <SecondConfiguration>
        <Name/>
        <Version/>
        <Vendor/>
    </SecondConfiguration>
    <OldVendorConfiguration>
        <Name/>
        <Version/>
        <Vendor/>
    </OldVendorConfiguration>
    <SupportRules>
        // Настройки правил поддержки
    </SupportRules>
    <Parameters>
        // Параметры объединения
    </Parameters>
    <Conformities>
        // Настройки ручных соответствий объектов
    </Conformities>
    <Objects>
        // Настройки объединения объектов
    </Objects>
</Settings> 

Порядок расположения подчиненных элементу <Settings> указанных выше элементов важен, и его следует соблюдать при самостоятельном формировании файла. Каждый указанный выше элемент состоит из вложенных элементов (одного или нескольких) и может содержать атрибуты. Далее приведено описание структуры каждого элемента.

Пространство имен: http://bas-soft.eu/8.3/config/merge/settings.

Элемент <Settings>

Общее описание

Корневой элемент файла.

Элемент может содержать следующие атрибуты:

Version обязательный

Версия файла настроек.

Тип: String/Строка.

platformVersion необязательный

Минимальная версия платформы, с которой может использоваться файл настроек.

Атрибут записывается при сохранении настроек.

Тип: String/Строка.

Элемент <MainConfiguration>

Элемент определяет параметры основной конфигурации.

Необязательный элемент.

Элемент <Name> обязательный

Имя основной конфигурации.

Тип: String/Строка.

Элемент <Version> необязательный

Версия основной конфигурации.

Тип: String/Строка.

Элемент <Vendor> необязательный

Имя поставщика.

Тип: String/Строка.

Элемент <SecondConfiguration>

Описание второй конфигурации, участвующей в объединении.

Необязательный элемент.

Состав этого элемента аналогичен составу элемента <MainConfiguration>.

Элемент <OldVendorConfiguration>

Описание конфигурации поставщика, участвующей в объединении.

Необязательный элемент.

Состав этого элемента аналогичен составу элемента <MainConfiguration>.

Элемент <SupportRules>

Общее описание

Этот элемент содержит настройки правил поддержки.

Этот элемент не является обязательным.

Элемент имеет следующий состав:

<SupportRules>
    <NewObjects>
        <ChangesAllowedRule/>
        <ChangesNotRecommendedRule/>
    </NewObjects>    <DuplicateObjectsAndModifiedObjectsWithGetFromSecondConfigurationRule>
        <ChangesAllowedRule/>
        <ChangesNotRecommendedRule/>    </DuplicateObjectsAndModifiedObjectsWithGetFromSecondConfigurationRule>
    <ModifiedObjectsWithoutGetFromSecondConfigurationRule>
        <ChangesAllowedRule/>
        <ChangesNotRecommendedRule/>
    </ModifiedObjectsWithoutGetFromSecondConfigurationRule>
</SupportRules>

Элемент <NewObjects>

Этот элемент содержит правила поддержки для новых объектов поставщика.

Элемент <ChangesAllowedRule> необязательный

Указываются правила поддержки для объектов поставщика с правилом поставки Изменения разрешены. Элемент может принимать одно из следующих значений:

  • ObjectNotEditable – правило поддержки Объект поставщика не редактируется.
  • ObjectIsEditableSupportEnabled – правило поддержки Объект поставщика редактируется с сохранением поддержки.
  • ObjectNotSupported – правило поддержки Объект поставщика снят с поддержки.

Значение по умолчанию: ObjectNotEditable.

Элемент <ChangesNotRecommendedRule> необязательный

Указываются правила поддержки для объектов поставщика с правилом поставки Изменения не рекомендуются. Элемент может принимать одно из следующих значений:

  • ObjectNotEditable – правило поддержки Объект поставщика не редактируется.
  • ObjectIsEditableSupportEnabled – правило поддержки Объект поставщика редактируется с сохранением поддержки.
  • ObjectNotSupported – правило поддержки Объект поставщика снят с поддержки.

Значение по умолчанию: ObjectNotEditable.

Элемент <DuplicateObjectsAndModifiedObjectsWithGetFromSecondConfigurationRule>

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

Элемент <ChangesAllowedRule> необязательный

Указываются правила поддержки для объектов поставщика с правилом поставки Изменения разрешены. Элемент может принимать одно из следующих значений:

  • KeepCurrentRule – сохранить текущее правило поддержки (только для обновления конфигурации на поддержке).
  • ObjectNotEditable – правило поддержки Объект поставщика не редактируется.
  • ObjectIsEditableSupportEnabled – правило поддержки Объект поставщика редактируется с сохранением поддержки.
  • ObjectNotSupported – правило поддержки Объект поставщика снят с поддержки.

Значение по умолчанию:

  • При постановке на поддержку: ObjectNotEditable.
  • При обновлении поддержки: KeepCurrentRule.

Элемент <ChangesNotRecommendedRule> необязательный

Указываются правила поддержки для объектов поставщика с правилом поставки Изменения не рекомендуются. Элемент может принимать одно из следующих значений:

  • KeepCurrentRule – сохранить текущее правило поддержки (только для обновления конфигурации на поддержке).
  • ObjectNotEditable – правило поддержки Объект поставщика не редактируется.
  • ObjectIsEditableSupportEnabled – правило поддержки Объект поставщика редактируется с сохранением поддержки.
  • ObjectNotSupported – правило поддержки Объект поставщика снят с поддержки.

Значение по умолчанию:

  • При постановке на поддержку: ObjectNotEditable.
  • При обновлении поддержки: KeepCurrentRule.

Элемент <ModifiedObjectsWithoutGetFromSecondConfigurationRule>

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

Элемент <ChangesAllowedRule> необязательный

Указываются правила поддержки для объектов поставщика с правилом поставки Изменения разрешены. Элемент может принимать одно из следующих значений:

  • KeepCurrentRule – сохранить текущее правило поддержки (только для обновления конфигурации на поддержке).
  • ObjectNotEditable – правило поддержки Объект поставщика не редактируется.
  • ObjectIsEditableSupportEnabled – правило поддержки Объект поставщика редактируется с сохранением поддержки.
  • ObjectNotSupported – правило поддержки Объект поставщика снят с поддержки.

Значение по умолчанию:

  • При постановке на поддержку: ObjectIsEditableSupportEnabled.
  • При обновлении поддержки: KeepCurrentRule.

Элемент <ChangesNotRecommendedRule> необязательный

Указываются правила поддержки для объектов поставщика с правилом поставки Изменения не рекомендуются. Элемент может принимать одно из следующих значений:

  • KeepCurrentRule – сохранить текущее правило поддержки (только для обновления конфигурации на поддержке).
  • ObjectNotEditable – правило поддержки Объект поставщика не редактируется.
  • ObjectIsEditableSupportEnabled – правило поддержки Объект поставщика редактируется с сохранением поддержки.
  • ObjectNotSupported – правило поддержки Объект поставщика снят с поддержки.

Значение по умолчанию:

  • При постановке на поддержку: ObjectIsEditableSupportEnabled.
  • При обновлении поддержки: KeepCurrentRule.

Элемент <Parameters>

Общее описание

Этот элемент содержит параметры объединения и не является обязательным.

Элемент имеет следующий состав:

<Parameters>
    <ConfigurationsRelation/>
    <ComparisonLanguages>
        <Language/>
    </ComparisonLanguages>
    <AllowMainConfigurationObjectDeletion/>
    <CopyObjectsMode/>
</Parameters>

Элемент <ConfigurationsRelation> необязательный

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

  • ConfigurationsNotRelated – основная конфигурация не связана со второй;
  • SecondConfigurationIsDescendantOfMainConfiguration – вторая конфигурация является потомком основной;
  • MainConfigurationIsDescendantOfSecondConfiguration – основная конфигурация является потомком второй конфигурации.

Значение по умолчанию: ConfigurationsNotRelated.

Элемент <AllowMainConfigurationObjectDeletion> необязательный

Элемент указывает на возможность удаления объектов основной конфигурации.

Тип: Boolean/Булево.

Значение по умолчанию: False.

Элемент <CopyObjectsMode> необязательный

Элемент определяет режим копирования объектов загружаемой конфигурации. В этом случае внутренние идентификаторы объектов не сохраняются.

Тип: Boolean/Булево.

Значение по умолчанию: False.

Элемент <ComparisonLanguages>

Указывает, что используется выборочное сравнение по языкам. Коды языков, используемые для сравнения, описываются элементами Language.

Элемент <Conformities>

Этот элемент содержит перечень объектов, соответствие которых установлено вручную, и не является обязательным.

Элемент имеет следующий состав:

<Conformities>
    <Conformity/>
</Conformities>

Элемент <Conformity>

Элемент определяет пару сопоставленных объектов.

Элемент содержит следующие атрибуты:

fullName обязательный

Полное имя объекта основной конфигурации.

Тип: String/Строка.

fullNameInSecondConfiguration обязательный

Полное имя объекта второй конфигурации.

Тип: String/Строка.

Элемент <Objects>

Общее описание

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

Элемент имеет следующий состав:

<Objects>
    <Configuration>
        <MergeRule/>
        <MergeRuleForPropertiesChangedTwice/>
        <MergeRuleForPropertiesChangedOnce/>
        <ObjectOrder/>
        <Properties/>
    </Configuration>
    <Object>
        <MergeRule/>
        <MergeRuleForPropertiesChangedTwice/>
        <MergeRuleForPropertiesChangedOnce/>
        <ObjectOrder/>
        <Subsystem>
            <MergeRule/>
            <MergeRuleForPropertiesChangedTwice/>
            <MergeRuleForPropertiesChangedOnce/>
            <ObjectOrder/>
        </Subsystem>
        <Properties/>
    </Object>
</Objects>

Элемент <Configuration>

Описывает параметры объединения корневого конфигурационного элемента. В состав элемента должен входить хотя бы один из элементов <MergeRule>, <MergeRuleForPropertiesChangedTwice>, <MergeRuleForPropertiesChangedOnce>, <ObjectOrder>, <Properties>.

Элемент <MergeRule> необязательный

Описывает режим объединения корневого элемента.

Элемент <MergeRuleForPropertiesChangedTwice> необязательный

Описывает режим объединения дважды измененных свойств корневого элемента.

Элемент <MergeRuleForPropertiesChangedOnce> необязательный

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

Элемент <ObjectOrder> необязательный

Описывает порядок подчиненных объектов.

Элемент <Properties> необязательный

Настройки объединения свойств корневого объекта конфигурации.

Элемент <Object>

Описывает параметры объединения конкретного объекта конфигурации.

Элемент содержит следующие атрибуты:

fullName необязательный

Полное имя объекта в первой конфигурации.

При настройке объединения конфигураций следует указать один из атрибутов: fullName или fullNameInSecondConfiguration.

Тип: String/Строка.

fullNameInSecondConfiguration

Полное имя объекта во второй конфигурации.

При настройке объединения конфигураций следует указать один из атрибутов: fullName или fullNameInSecondConfiguration.

Тип: String/Строка.

В состав элемента должен входить хотя бы один из элементов <MergeRule>, <ObjectOrder>, <Properties>, <Subsystem>.

Если режим объединения не равен DoNotMerge и:

  • если объект есть только в основной конфигурации, объект будет удален;
  • если объект есть только во второй конфигурации, объект будет добавлен.

Элемент <MergeRule> необязательный

Описывает режим объединения объекта.

Элемент <MergeRuleForPropertiesChangedTwice> необязательный

Описывает режим объединения дважды измененных свойств объекта.

Элемент <MergeRuleForPropertiesChangedOnce> необязательный

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

Элемент <ObjectOrder> необязательный

Описывает порядок подчиненных объектов объекта.

Элемент <Subsystem>

Описывает параметры объединения объектов, входящих в состав подсистемы. Используется только для объектов, описывающих подсистему.

includeObjectsFromSubordinateSubsystems обязательный

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

Тип: Boolean/Булево.

configuration обязательный

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

Тип: String/Строка.

Возможные значения:

  • Main – взять из основной конфигурации. Используется по умолчанию.
  • Second – взять из второй конфигурации.

Элемент <MergeRule> необязательный

Описывает режим объединения объекта.

Элемент <MergeRuleForPropertiesChangedTwice> необязательный

Описывает режим объединения дважды измененных свойств объекта.

Элемент <MergeRuleForPropertiesChangedOnce> необязательный

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

Элемент <ObjectOrder> необязательный

Описывает порядок подчиненных объектов объекта.

Вспомогательные элементы

Элемент <Properties>

Общее описание

Элемент определяет параметры объединения свойств объекта конфигурации.

Элемент имеет следующий состав:

<Properties>
    <Property name="…">
        <MergeRule/>
        <MergeRuleForPropertiesChangedTwice/>
        <MergeRuleForPropertiesChangedOnce/>
        <Module>
            <Methods/>
            <Patch/>
        </Module>
        <FormModule>
            <MergeRule/>
            <MergeRuleForPropertiesChangedTwice/>
            <MergeRuleForPropertiesChangedOnce/>
            <Module/>
        </FormModule>
        <SpreadsheetDocument>
            <MergeRule/>
            <MergeRuleForPropertiesChangedTwice/>
            <MergeRuleForPropertiesChangedOnce/>
        </SpreadsheetDocument>
        <Types>
            <Type>
                <MergeRule/>
            </Type>
            …
        </Types>
        <Content>
            <Item>
                <MergeRule/>
            </Item>
            …
        </Content>
    <Property/>
</Properties>

Элемент <Property>

Элемент определяет параметры объединения конкретного свойства объекта конфигурации.

Элемент содержит следующие атрибуты:

name

Имя свойства объекта конфигурации. В зависимости от значения этого атрибута в состав элемента <Property> может входить один из следующих элементов: <Module>, <FormModule>, <SpreadsheetDocument>, <Types>, <Content>.

Тип: String/Строка.

В состав элемента входят следующие элементы:

Элемент <MergeRule>

Описывает режим объединения свойства.

Элемент <MergeRuleForPropertiesChangedTwice>

Описывает режим объединения дважды измененных свойств объекта.

Элемент <MergeRuleForPropertiesChangedOnce> необязательный

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

Элемент <Module>

Элемент описывает дополнительные параметры объединения модуля.

Элемент состоит из следующих элементов:

Элемент <Methods>

Элемент определяет параметры объединения модуля по процедурам.

Элемент <Patch>

Информация, предназначенная для автоматизированного внесения изменений в текст модуля на встроенном языке в универсальном формате (unidiff).

Элемент <FormModule>

Элемент описывает дополнительные параметры объединения модуля формы.

Элемент состоит из следующих элементов:

Элемент <MergeRule>

Описывает режим объединения модуля.

Элемент <MergeRuleForPropertiesChangedTwice>

Описывает режим объединения модуля, если форма изменялась дважды.

Элемент <MergeRuleForPropertiesChangedOnce>

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

Элемент <Module>

Содержит дополнительные параметры объединения модуля формы.

Элемент <SpreadsheetDocument>

Элемент определяет дополнительные параметры для объединения табличного документа.

Элемент состоит из следующих элементов:

Элемент <MergeRule>

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

  • Merge – объединить документы.
  • Unite – включить содержимое обоих табличных документов.

Элемент <MergeRuleForPropertiesChangedTwice>

Описывает режим объединения, если табличный документ изменен дважды.

Элемент <MergeRuleForPropertiesChangedOnce>

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

Элемент <Types>

Описание элемента

Элемент описывает дополнительные параметры объединения типов.

Элемент состоит из одного или нескольких элементов:

Элемент <Type>

Элемент определяет настройки объединения для конкретного типа.

Элемент <Type>

Элемент содержит следующие атрибуты:

name обязательный

Полное имя типа, для которого описывается правило объединения.

Тип: String/Строка.

В состав элемента должен входить один элемент <MergeRule>.

Элемент <MergeRule> обязательный

Описывает режим объединения объекта.

Элемент <Content>

Описание элемента

Элемент определяет дополнительные настройки объединения составов плана обмена, подсистем, функциональных опций.

Элемент состоит из одного или нескольких элементов:

Элемент <Item>

Элемент определяет параметры объединения для конкретного элемента состава вышеуказанных объектов.

Элемент <Item>

Элемент содержит следующие атрибуты:

name обязательный

Полное имя типа, для которого описывается правило объединения.

Тип: String/Строка.

В состав элемента должен входить один элемент <MergeRule>.

Элемент <MergeRule> обязательный

Описывает режим объединения объекта.

Элемент <Methods>

Общее описание

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

  • объединения процедур/функций (элемент <Method>). Таких элементов может быть один или несколько;
  • объединения раздела объявления переменных (элемент <VariableDeclarationArea>). Такой элемент может быть только один или отсутствовать;
  • объединения раздела основной программы (элемент <MainArea>). Такой элемент может быть только один или отсутствовать.

Элемент имеет следующий состав:

<Methods>
    <Method>
        <MergeRule/>
        <Patch/>
    <Method/>
    <VariableDeclarationArea>
        <Methods/>
        <Patch/>
    </VariableDeclarationArea>
    <MainArea>
        <Methods/>
        <Patch/>
    </MainArea>
</Methods>

Элемент <Method>

Элемент определяет настройки объединения конкретной процедуры или функции модуля на встроенном языке.

Элемент содержит следующие атрибуты:

name

Название метода в основной и второй конфигурациях, если не указан атрибут NameInSecondConfiguration.

Тип: String/Строка.

nameInSecondConfiguration

Название метода во второй конфигурации, если соответствие установлено вручную. Может отсутствовать.

Тип: String/Строка.

Особенности поведения:

  • если процедура есть в обоих файлах, будет выполнено объединение согласно режиму или использовано содержимое элемента <Patch>;
  • при наличии метода только в первом файле он будет удален, если режим объединения не равен DoNotMerge;
  • при наличии метода только во втором файле он будет добавлен, если режим объединения не равен DoNotMerge.

В состав элемента входят следующие элементы:

Элемент <MergeRule>

Описывает режим объединения метода.

Элемент <Patch>

Информация, предназначенная для автоматизированного внесения изменений в текст модуля на встроенном языке в универсальном формате (unidiff).

Элемент <VariableDeclarationArea>

Элемент определяет параметры объединения для раздела объявления переменных.

В состав элемента входят следующие элементы:

Элемент <MergeRule>

Описывает режим объединения раздела объявления переменных.

Элемент <Patch>

Информация, предназначенная для автоматизированного внесения изменений в текст модуля на встроенном языке в универсальном формате (unidiff).

Элемент <MainArea>

Элемент определяет параметры объединения для раздела основной программы.

В состав элемента входят следующие элементы:

Элемент <MergeRule>

Описывает режим объединения раздела основной программы.

Элемент <Patch>

Информация, предназначенная для автоматизированного внесения изменений в текст модуля на встроенном языке в универсальном формате (unidiff).

Элемент <MergeRule>

Элемент определяет режим объединения элемента. Может принимать одно из следующих значений:

  • DoNotMerge – не объединять.
  • GetFromSecondConfiguration – взять из второй конфигурации.
  • MergePrioritizingMainConfiguration – объединить с приоритетом основной конфигурации.
  • MergePrioritizingSecondConfiguration – объединить с приоритетом второй конфигурации.
  • MergeWithExternalTool – объединить с помощью внешней программы (поддерживается модулями).

Элемент <MergeRuleForPropertiesChangedTwice>

Описывает режим объединения дважды измененных свойств объекта. Может принимать одно из следующих значений:

  • DoNotMerge – не объединять.
  • GetFromSecondConfiguration – взять из второй конфигурации.
  • MergePrioritizingMainConfiguration – объединить с приоритетом основной конфигурации.
  • MergePrioritizingSecondConfiguration – объединить с приоритетом второй конфигурации.
  • MergeWithExternalTool – объединить с помощью внешней программы (поддерживается модулями).

Элемент <MergeRuleForPropertiesChangedOnce>

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

  • DoNotMerge – не объединять.
  • GetFromSecondConfiguration – взять из второй конфигурации.

Элемент <ObjectOrder>

Описывает порядок подчиненных объектов. Может принимать одно из следующих значений:

  • GetFromMainConfiguration – взять порядок из основной конфигурации.
  • GetFromSecondConfiguration – взять порядок из второй конфигурации.
Записаться по телефону