Операцию сравнения и объединения конфигураций вы можете вызвать прямой командой (например, Сравнить/объединить в контекстном меню проекта) либо опосредованно, выполняя слияние веток Git'а. Если это трехстороннее сравнение без конфликтных изменений, 1C:EDT объединит конфигурации автоматически. Трехстороннее сравнение, например, очень часто выполняется в Git'е.
Во всех остальных случаях после сравнения 1C:EDT автоматически установит настройки объединения конфигураций и откроет редактор сравнения и объединения. Это нужно для того, чтобы вы могли подтвердить или изменить настройки объединения, установленные автоматически.
В этом разделе описываются правила, в соответствии с которыми 1C:EDT устанавливает эти настройки.
В редакторе сравнения и объединения 1C:EDT показывает конфигурацию в виде, который очень похож на то представление, которое она имеет в панели Навигатор. Разница заключается в том, что в редакторе дерево конфигурации более подробное. Например, оно содержит в себе все те свойства объектов, которые при работе в панели Навигатор показываются в отдельной панели Свойства (на рисунке у узла Конфигурация есть дочерний узел Свойства).
Настройка объединения представляет собой совокупность флажка (в первой колонке слева) и режима объединения (в последней колонке). Такая настройка есть у каждого узла в дереве (у каждой строки).
Флажок отображается для всех узлов, но не во всех узлах вы можете его изменить. Например, если сравниваемые значения одинаковые, флажок будет сброшен и установить его нельзя.
Режим объединения отображается не для всех узлов, а только:
Каждый флажок имеет три состояния:
Состояние установлен частично возможно только для тех узлов, у которых есть потомки. Оно устанавливается автоматически, его нельзя установить в явном виде, кликая по флажку.
Клик по флажку, который находится в состоянии установлен частично , переводит его в состояние снят
.
При установке или снятии флажка у всех дочерних узлов также устанавливаются или снимаются флажки. При этом родительским узлам устанавливается состояние, соответствующее текущей расстановке флажков у детей.
Существует четыре режима объединения:
1C:EDT автоматически устанавливает флажки
в состояние
снят
и не позволяет изменять их в следующих случаях:
Если ни одно из этих правил не сработало, то дальше 1C:EDT действует следующим образом:
Есть исключение, которое касается настроек поддержки. Если при объединении конфигураций есть конфликтные изменения в настройках поддержки, настройки поддержки объединяются всегда с режимом объединения Взять справа;
Если попытаться сформулировать перечисленные правила в двух словах, то получится, что при двустороннем сравнении флажки объединения устанавливаются таким образом, чтобы все изменения были перенесены в главный источник. При трехстороннем сравнении дополнительно к этому флажки не устанавливаются в тех случаях, когда изменения есть только в главном источнике, чтобы случайно не "обнулить" их.
Поэтому в подавляющем большинстве случаев ваша задача будет заключаться не в том, чтобы установить флажки там, где они не установлены, а в том, чтобы проконтролировать конфликтные изменения модулей и, возможно, снять флажки у тех узлов, которые вы не хотите переносить в главный источник.