132 документа
← К списку

Глава 36. Механизм сравнения и объединения конфигураций

страница

Глава 36. Механизм сравнения и объединения конфигураций

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

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

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

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

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

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

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

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

Объекты, которым «не досталось пары», могут быть либо новыми, либо удаленными, либо это объекты, относящиеся к одной категории, но называемые в разных конфигурациях по-разному. Для этих объектов соответствие можно установить интерактивно (см. здесь).

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

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

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

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

36.3. Запуск режима сравнения и объединения конфигураций

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

Загружаемую конфигурацию, которую можно будет сравнить и объединить с основной, необходимо предварительно сохранить в файл (см. здесь).

Для загрузки второй конфигурации нужно выбрать пункт Конфигурация``‑ Сравнить, объединить с конфигурацией из файла…. Появится стандартный диалог Открыть файл конфигурации, в котором нужно найти и открыть файл с расширением *.``cf загружаемой конфигурации.

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

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

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

36.4. Сравнение конфигураций

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

Выбрать сравниваемые конфигурации можно с помощью меню Конфигурация``‑ Сравнить конфигурации.

На экран выводится диалог:

Рис. 714. Сравнение конфигураций

Диалог содержит два раздела выбора сравниваемых конфигураций. Приемы работы в разделах одинаковые. В качестве сравниваемых конфигураций могут быть выбраны:

● основная конфигурация,

● конфигурация поставщика (если текущая конфигурация находится на поддержке),

● конфигурация базы данных,

● версия конфигурации хранилища (если основная конфигурация подключена к хранилищу конфигурации),

● расширение конфигурации,

● расширение конфигурации, сохраненное в базе данных;

● версия расширение конфигурации из хранилища (если расширение конфигурации подключено к хранилищу конфигурации);

● конфигурация или расширение конфигурации, размещенные в файле.

Если в качесте одной из сравниваемых конфигураций выбран файл, то в поле диалога предоставляется поле для выбора файла с конфигурацией (расширение .``cf) или расширением конфигурации (расширение .``cfe).

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

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

Если сравниваемые конфигурации не являются потомками друг друга и поэтому для них не может быть произведена установка соответствия по внутренним идентификаторам, нужно установить флажок Установить соответствие по именам объектов. Для начала сравнения нажать кнопку ОК. Конфигуратор произведет сравнение указанных конфигураций и выведет результат сравнения в окно Сравнение конфигураций. Приемы работы в окне аналогичны приемам работы, описанным в разделе «Сравнение и объединение конфигураций», с тем лишь отличием, что в режиме сравнения можно только просмотреть выбранные объекты и получить отчет о различиях.

36.5. Окно «Сравнение и объединение конфигураций»

После окончания процедуры сравнения на экран выводится окно Объединение конфигураций. Оно позволяет:

● ознакомиться с тем, какие объекты в двух конфигурациях отличаются;

● выбрать объекты, по которым необходимо детально изучить различия;

● вызвать указанные объекты для просмотра и редактирования;

● задать, какие из объектов включить в объединение;

● установить соответствия объектов;

● установить режимы объединения конфигураций (для всей конфигурации или по каждому объекту);

● установить порядок подчиненных объектов (для всей конфигурации или по каждому объекту);

● сформировать отчет о различиях в конфигурациях;

● запустить процесс объединения конфигураций.

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

Рис. 715. Сравнение и объединение конфигурации

Признаком отличия (статус соответствия) объектов является цвет фона строк. Под табличным полем приведены возможные статусы.

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

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

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

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

● Добавить настройки… ‑ настройки из файла дополняют текущие настройки объединения, установленные в окне. При этом файл, из которого добавляются настройки, не будет использоваться для сохранения (в том числе автоматического) настроек.

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

● Сохранить настройки как… ‑ аналогична команде Сохранить настройки, но предлагает изменить файл, в который будет выполняться сохранение настроек.

● Установить настройки по умолчанию ‑ сбрасываются текущие настройки окна и для окна сравнения/объединения устанавливаются настройки по умолчанию. Именно эти настройки применяются при открытии диалога.

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

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

● Установить режим для всех открывает диалог установки режима объединения (см. здесь) и установку порядка (см. здесь) всех объектов.

Рис. 716. Установка режимов для всех объектов

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

● Отчет о сравнении позволяет получить отчет о сравнении двух конфигураций с нужной степенью подробности.

● Параметры открывает форму для настройки параметров сравнения/объединения (см. здесь).

Флажок Сохранять настройки автоматически управляет автоматическим сохранением настроек окна сравнения/объединения перед выполнением собственно объединения (нажатие кнопки Выполнить).

Перед закрытием окна сравнения/объединения будет задан вопрос о необходимости сохранения настроек в файл, если в закрываемом окне существуют настройки, отличные от настроек по умолчанию и они не сохранены в файл.

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

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

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

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

Рис. 717. Настройка сравнения конфигураций

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

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

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

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

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

36.6.2. Группа «Объекты основной конфигурации»

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

Расстановка пометок удаления объектов поставщика по умолчанию производится по следующим правилам. Если пользователь изменял объект поставщика по сравнению с предыдущей версией конфигурации поставщика, то объект по умолчанию не помечается на удаление; если объект идентичен объекту поставщика предыдущей версии, то он на удаление помечается. Если объект был помечен на удаление (автоматически или вручную), то при нажатии кнопки Выполнить происходит контроль ссылочной целостности. При обнаружении неразрешимых ссылок на удаляемый объект будет выдано окно показа таких ссылок, но, в отличие от неразрешимых ссылок, образующихся в результате отказа от копирования какого-либо объекта конфигурации поставщика (или любой другой конфигурации, участвующей в объединении), возможности продолжить объединение (и удаление объекта) в этом случае нет.

36.6.3. Группа «Объекты загружаемой конфигурации»

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

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

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

36.7. Редактирование объектов

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

Для редактирования свойств объекта следует указать нужный объект в колонке основной конфигурации и в палитре свойств исправить значение. Если редактируемый объект представляет собой форму, макет, интерфейс или другой «сложный» объект, его можно открыть для редактирования с помощью выбора пункта Открыть форму (макет/интерфейс) из контекстного меню. Объекты основной конфигурации также можно выбрать для редактирования в окне Конфигурация.

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

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

36.8. Особенности редактирования при групповой разработке и поддержке

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

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

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

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

36.9. Установка соответствия объектов

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

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

Рис. 718. Основное окно сравнения/объединения конфигураций

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

Для установки соответствия нужно выбрать объект и в контекстном меню выбрать пункт Установить соответствие объектов. На экран выводится список объектов, с которыми допускается устанавливать соответствие. В список включаются объекты, совпадающие по виду, и для которых соответствие еще не установлено. Нужно выбрать объект и нажать кнопку ОК.

36.10.Особенности сравнения и объединения

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

Режим объединения можно установить для каждого объединяемого объекта. Существует два вида режима:

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

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

Для некоторых объектов (реквизитов объектов) выбор режима объединения может отсутствовать или иметь ограниченный выбор вариантов объединения.

36.10.2. Текстовые документы (включая исходные тексты)

Тексты объединяются следующим образом:

Текст

Приоритет

Результат

Удаленное (имеется в основной конфигурации, отсутствует в загружаемой)

С приоритетом основной

Остается в тексте

Новое (имеется в загружаемой конфигурации и отсутствует в основной)

Добавляется

Измененное

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

Удаленное

С приоритетом
загружаемой

Превращается в комментарии

Новое

Добавляется

Измененное

Измененное в основной конфигурации превращается в комментарии, а из загружаемой конфигурации ‑ добавляется

Для модуля с исходным текстом выбор приоритета можно проиллюстрировать следующим примером.

Текст модуля основной конфигурации:

Копировать в буфер обмена

Процедура УточнитьСтатус(Элемент) // Вставить содержимое обработчика Сообщить("Сообщение из основной конфигурации"); КонецПроцедуры

Текст модуля загружаемой конфигурации:

Копировать в буфер обмена

Процедура УточнитьСтатус(Элемент) // Вставить содержимое обработчика Сообщить("Сообщение из загружаемой конфигурации"); КонецПроцедуры

Результат при объединении с приоритетом основной конфигурации:

Копировать в буфер обмена

Процедура УточнитьСтатус(Элемент) // Вставить содержимое обработчика //{{MRG[ < > ] Сообщить("Сообщение из основной конфигурации"); //{{MRG[ < > ] //{{MRG[ < > ] // Сообщить("Сообщение из загружаемой конфигурации"); //{{MRG[ < > ] КонецПроцедуры

Результат при объединении с приоритетом загружаемой конфигурации:

Копировать в буфер обмена

Процедура УточнитьСтатус(Элемент) // Вставить содержимое обработчика //{{MRG[ < > ] Сообщить("Сообщение из загружаемой конфигурации"); //{{MRG[ < > ] //{{MRG[ < > ] // Сообщить("Сообщение из основной конфигурации"); //{{MRG[ < > ] КонецПроцедуры

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

36.10.3. Управляемые формы

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

● тексты модулей сравниваются по именам процедур;

● элементы формы сравниваются по типу элемента и его имени;

● параметры формы сравниваются по имени;

● команды сравниваются по имени;

● реквизиты сравниваются по именам;

● для командного интерфейса сравнение выполняется по виду команды (автоматическая или реализованная разработчиком) и имени команды.

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

Режим объединения формы можно задавать как в целом для всей формы (сама форма и модуль формы) ‑ для обычной и управляемой формы, так и отдельно для формы и ее модуля ‑ только для управляемой формы:

Рис. 719. Настройка объединения формы

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

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

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

● Команда контекстного меню Показать различия в модулях:

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

● Настройка внешней программы: Объединение двух файлов;

● Результаты работы: игнорируется.

● Команда контекстного меню Показать различия в модулях без учета структуры:

● Настройка конфигуратора: Показать различия без учета структуры;

● Настройка внешней программы: Сравнение двух файлов;

● Результаты работы: игнорируется.

● Команда контекстного меню Настройка объединения модулей:

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

● Настройка внешней программы: Объединение двух файлов;

● Результаты работы: используется в качестве результата объединения.

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

36.10.4. Предопределенных данных

При сравнении предопределенных данных сопоставление элементов производится только по внутреннему идентификатору.

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

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

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

36.10.5. Расширений конфигурации

Операция сравнения и объединения расширения поддерживается для:

● расширения конфигурации, сохраненного в файл (*.``cfe);

● расширения конфигурации, сохраненного в информационной базе.

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

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

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

При объединении свойств объектов следует учитывать следующие особенности:

● Свойство Тип объекта отображается, но недоступно для настройки.

● Для объектов с установленным признаком контролируемости, объединение выполняется следующим образом:

● Для пары «собственный ‑ заимствованный»: значения объединяются, признак контролируемости не используется.

● Для пары «заимствованный ‑ собственный»: значения объединяются, признак контролируемости не изменяется.

● Для пары «заимствованный ‑ заимствованный»: значения объединяются, признак контролируемости получается из конфигурации, с которой выполняется объединение.

● Сохраненная форма считается единым объектом, и действия с ней зависят от режима объединения:

● Объединение выполняется с приоритетом расширения конфигурации ‑ сохраненная форма не изменяется.

● Объединение выполняется с приоритетом файла ‑ сохраненная форма получается из файла.

36.10.6. Типы данных

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

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

● Если в обеих конфигурациях у объекта простой тип (не составной), то результатом будет тип из приоритетной конфигурации.

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

При объединениии двух одинаковых типов, отличающихся только квалификаторами, используются следующие правила:

● Для типа Дата используются квалификаторы из приоритетной конфигурации.

● Для типа Строка используется следующее правило:

● Если у обоих квалификаторов установлена фиксированная длина строки, то результирующий квалификатор будет иметь максимальную длину.

● Если у обоих квалификаторов установлена переменная длина строки, то результирующий квалификатор будет иметь максимальную длину.

● Если один из типов является строкой неограниченной дины, то результирующий тип получается из приоритетной конфигурации.

● В остальных случаях результирующий квалификатор получается из приоритетной конфигурации.

● Для типа Число:

● Если у обоих квалификаторов совпадает значение точности и одинаковое значение свойства Неотрицательное, то результирующий квалификатор будет иметь максимальное значение длины.

● В остальных случаях результирующий квалификатор получается из приоритетной конфигурации.

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

Рис. 720. Вызов настройки объединения типа

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

Рис. 721. Настройка объединения типов

Имеется возможность указать фильтр для отображаемого списка (поле Фильтр). Под списком типов, которые участвуют в объединении, отображается результат объединения для каждого типа. Чтобы увидеть результат объединения ‑ следует встать курсором на соответствующую строку в диалоге.

36.10.7. Состав планов обмена, подсистем, функциональных опций

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

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

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

Рис. 722. Вызов настройки объединения состава

После нажатия будет открыт диалог объединения состава.

Рис. 723. Настройка объединения состава

Настроить отображение информации можно с помощью поля Фильтр. Результат настройки объединения для каждой строки списка можно увидеть под списком, предварительно встав на нужную строку.

36.10.8. Других объектов

Для объектов, значения свойств которых определяются простым указанием в палитре свойств (например, Синоним, Комментарий), зависимость результата объединения от приоритета и наличия значений, представлена в таблице:

Значение в основной

Значение в
загружаемой

Приоритет конфигурации

Результат (значение выбирается из…)

Задано

Задано

Приоритет основной

Основной

Задано

Не задано

Основной

Не задано

Задано

Загружаемой

Задано

Задано

Приоритет загружаемой

Загружаемой

Задано

Не задано

Основной

Не задано

Задано

Загружаемой

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

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

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

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

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

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

Для видов объектов, которые могут иметь неограниченное число подчиненных объектов (например, подчиненные объекты Реквизиты, Формы, Макеты, Табличные части справочников и документов), в некоторых случаях важен порядок следования объектов в каждой такой группе.

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

Для указания порядка следует выбрать любой подчиненный объект и в третьей колонке выбрать вариант установки порядка: Порядок из основной конфигурации или Порядок из файла.

Выбор порядка действует на все подчиненные объекты данного вида.

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

36.12.Просмотр различий

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

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

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

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

Для выборочного сравнения модулей предназначен режим Объединение модулей (см. ниже).

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

На экран выводится окно сравнения.

Рис. 724. Объединение макетов

Сравнение табличных документов производится по ячейкам. Если ячейки различны (любые свойства, кроме свойства Параметр расшифровки), то различие показывается цветом. Пояснение цвета показывается внизу окна сравнения.

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

Рис. 725. Сравнение справочной информации

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

36.13.Сравнение и объединение модулей

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

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

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

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

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

Состав табличного поля соответствует установленному фильтру (реквизит Фильтр).

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

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

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

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

На рис. 727 видно, что метод ДобавитьХарактеристику() имеет разное содержание в основной конфигурации и в конфигурации из файла. В нижней части формы отображается результат объединения:

Рис. 727. Объединение модулей

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

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

● Для каждого модуля (основная конфигурация, конфигурация из файла и результат объединения) отображаются номера строк.

● Нажатие левой кнопки мыши, в том случае, если курсор указывает на колонку с номером строки, приводит к тому, что система делает попытку отобразить указанную строку в каждом из трех модулей.

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

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

Установка порядка следования объектов модуля определяется в соответствии со значением реквизита Порядок.

Для просмотра результата сравнения модулей без учета структуры нужно щелкнуть пункт Действия``‑ Показать различия в модулях без учета структуры. На экран будет выведено окно Различия между. Подробнее о просмотре различий см. здесь.

Для просмотра предварительного результата объединения модулей следует выбрать пункт Действия``‑ Показать результат объединения.

После установки соответствия, определения порядка и режима объединения для сохранения настройки объединения модулей следует нажать кнопку ОК. Для отказа ‑ кнопку Отмена.

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

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

36.14.Отбор объектов и запуск процесса объединения

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

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

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

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

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

Рис. 728. Неразрешимые ссылки

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

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

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

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

36.15.Загрузка конфигурации из файла

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

Для загрузки изменений необходимо выбрать пункт Конфигурация``‑ Загрузить конфигурацию из файла главного меню программы.

На экран будет выдан стандартный диалог открытия файла, при помощи которого следует найти и открыть новый файл конфигурации (по умолчанию 1``Cv8.``cf).

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

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