Заметки из Зазеркалья

22.01.2016

Улучшение сравнения и объединения конфигураций

Реализовано в версии 8.3.8.1652.

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

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

XML файл настроек объединения конфигураций

Настройки объединения конфигураций (или настройки обновления конфигурации на поддержке) вы можете сохранять теперь в xml файл. Также вам доступна и обратная операция – загрузка этих настроек из файла.

Сохранять настройки вы можете вручную (командой Сохранить настройки объединения в файл…), или автоматически.

При этом в файл сохраняются:

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

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

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

Во-вторых, командой Добавить настройки из файла…. Эта команда загружает настройки из файла, а те настройки, которых нет в файле, не сбрасываются.

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

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

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

Интерфейс сравнения, объединения

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

Все команды мы собрали в подменю Действия, а самые востребованные из них вынесли в командную панель.

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

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

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

Интерфейс объединения модулей

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

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

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

Пакетный режим конфигуратора

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

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

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

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

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

Теги: разработка  8.3.8