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

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

страница

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

29.11.Режим объединения

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

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

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

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

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

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

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

Текст

Приоритет

Результат

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

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

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

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

Добавляется

Измененное

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

Удаленное

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

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

Новое

Добавляется

Измененное

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Задано

Задано

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

Основной

Задано

Не задано

Основной

Не задано

Задано

Загружаемой

Задано

Задано

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

Загружаемой

Задано

Не задано

Основной

Не задано

Задано

Загружаемой

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Правила объединения предопределенных данных см. здесь.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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