Версия для печати Поиск
Главная Заметки из Зазеркалья

07.04.2014 Развитие сравнения/объединения модулей

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

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

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

Редактирование результата объединения в окне настройки объединения модулей

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

А в окне настройки объединения модулей теперь всегда показывается результат будущего объединения. И вы можете сразу же изменить будущий текст модуля так, как этого требует логика вашего приложения:

Использование внешней программы

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

Для самых распространённых программ в конфигураторе 1С:Предприятия уже содержатся параметры командной строки для их запуска в различных режимах:

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

Преимущества использования внешних программ

В процессе сравнения/объединения конфигураций существуют три основные операции:

  1. Показ различий без учета структуры (сравнение двух файлов);
  2. Объединение двух конфигураций (объединение двух файлов);
  3. Обновление конфигурации, находящейся на поддержке (трехстороннее объединение).

Для п.п. 1 и 2 использование внешних программ имеет только «вкусовые» преимущества. Кому-то больше нравится работать с той или иной программой, нежели со встроенным в платформу инструментом.

Однако в п.3 использование внешних программ позволяет значительно сократить ваше участие в обновлении конфигурации.

В случае 1С:Предприятия в трёхстороннем объединении участвуют: основная конфигурация, старая конфигурация поставщика и новая конфигурация поставщика. Алгоритм, который используют внешние программы для такого объединения, отличается от алгоритма, используемого встроенными инструментами платформы. Файл, являющийся общим предком (старая конфигурация поставщика), они сравнивают с двумя другими файлами (основной конфигурацией и новой конфигурацией поставщика). Из основной конфигурации и новой конфигурации поставщика они берут изменения, если эти изменения не пересекаются. А если они пересекаются, то это конфликт, который вы должны разрешить вручную.

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

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

Показ различий в модулях

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

Если после этого в окне сравнения/объединения выбрать какой-нибудь модуль и выполнить команду Показать различия в модулях без учета структуры ..., то для выполнения этой операции будет использована выбранная вами внешняя программа:

Настройка объединения модулей

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

Если после этого в окне сравнения/объединения выбрать какой-нибудь модуль и выполнить команду Настройка объединения ... (или нажать на шестерёнку, что то же самое), то для выполнения этой операции будет использована выбранная вами внешняя программа:

Обновление конфигурации на поддержке

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

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