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

Обновлено: 04.07.2024

Если Вы внесли свои модификации в конфигурацию, то их следует сохранять при обновлении конфигурации Элементарная Торговля.

Исчерпывающей информации по этому процессу данная страница не даст.

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

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

Обычно это три-четыре оригинальных пункта, которые следует добавить к инструкции, приведенной ниже.

Итак, первое - сделайте полную копию базы данных.

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

Затем выбрать файл последней версии конфигурации Элементарная Торговля с расширением CF.

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

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

Остальные объекты, которые модифицировали не с вашей стороны следует оставить с признаком "заменять". Что бы они собственно и обновились.

Главное - после обновления - проверьте, что все "доработки", выполненные для Вас работают уже в обновленной бзе данных.

В случае нетривиальных и множественных модификаций этой инструкции недостаточно.

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

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

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

Для сопоставления объектов при объединении конфигурации в 1С:Предприятии 8 используются свойство "Имя" объекта метаданных и его внутренний идентификатор. Однако в различных вариантах сравнения алгоритм сопоставления объектов разный. Прежде чем подробно описать различные варианты, сначала опишем правила изменения внутреннего идентификатора. Идентификатор в пределах одной конфигурации никогда не изменяется. Идентификатор не изменяется при выгрузке конфигурации в cf или dt файлы (включая файлы поставки cf и обновления cfu ). Идентификатор не изменяется при использовании механизма групповой разработки (в процессе перемещений между конфигурацией и хранилищем). Идентификатор всегда изменяется при копировании объекта, в том числе в процессе объединения конфигураций. Поясним на примере. Создаем новую конфигурацию. Выполняем команду " Конфигурация - Сравнить, объединить с конфигурацией из файла. ". Программа обнаружит что текущая конфигурация пустая и предложит выполнить полную загрузку (аналогично команде " Конфигурация - Загрузить конфигурацию из файла "). Если согласится на предложенный вариант, то в результате все объекты сохранят свои идентификаторы. Если же отказаться и выполнить обычное объединение, то все объекты идентификаторы поменяют, хотя логически получатся две одинаковые конфигурации.

Теперь рассмотрим алгоритмы сопоставления объектов. Существуют три варианта.

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

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

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

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

Влияние сопоставления объектов на скорость сравнения конфигураций

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

  1. Среди сопоставленных объектов нет пар с различными идентификаторами.
  2. Среди несопоставленных объектов нет возможных пар с одинаковыми идентификаторами.

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

Замечания по методике использования механизма

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

Удаление объектов поставщика

Рассмотрим варианты удаления объекта поставщика.

Удаление пользователем

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

Удаление поставщиком

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

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

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

Как устранить эти ошибки, интересно, и из за чего они.

ОпределяемыйТип.ВерсионируемыеДанныеОбъект: Недопустимый тип
ЖурналДокументов.Взаимодействия.Команда.ВзаимодействияПоПредмету: Недопустимый тип

Эпитафия: "Я просто нажал выполнить.". P.I.P конфигурации и базе.

посмотри что там не так с типами.

дальше переходи ко второй ошибке. и так далее, пока не дойдешь до конца списка.

(17) ничего страшного, там есть кнопка вернуться к конфигурации базы данных.
(14) Ну а как нужно?
Галки стоят только на добавляемых объектах из конфигурации же. Как нужно было?
(15) Расшифровываю: конфигурации объединены неверно, база на основе этой конфигурации - неработоспособна.
(офф) погуглите как-нибудь на досуге про типы "ОпределяемыйТип", которые появились в 8.3
(20) похоже где-то стоит тип просто ДокументСсылка, и через это документы из самописки подключаются в типовой механизм.

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

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

(23) Да сейчас, приду в себя после выходных.
Запущу все как нужно будет.
(21) Мда, как бы это выявить?!
То есть получается что если я даже просто перетащу
документ в базу, уже будут коллизии. Буду пробовать!

Обнаружены неразрешимые ссылки:
Документ.Заявка.Движения
Документ.Заявка.Форма.ФормаДокумента.Форма
Документ.Заявка.Макет.ЗаявкаИсполнителю.Макет

Механизм сравнения и объединения конфигураций 1С 8.3 помогает разработчикам 1С тщательно произвести сравнение конфигураций или их расширений, а также понять правила объединения. Нередко этот режим используют для сопоставления конфигураций и без их объединений. Также он используется в работе сразу несколькими разработчиками, что помогает объединить все доработки.

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

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

2. Сравнение конфигураций 1С 8.3

Перед началом любых действий с конфигуратором 1C рекомендуется выгрузить информационную базу 1C в файл. В конфигураторе 1C необходимо выбрать меню «Администрирование → Выгрузить информационную базу» (рис.1).



Рис 1. Выгрузка ИБ.

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



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

В первом столбце табличного поля будут указаны цветовые отметки:

● зеленый цвет – им отмечены те объекты 1С 8.3, у которых настройки объединения отличны от настроек по умолчанию;

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

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

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

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

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



Рис 3. Специальное окно.

В выпадающем списке фильтра указаны варианты сравнений, с помощью которых мы можем установить режим просмотра изменений:

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

● показать присутствующие только в основной конфигурации;

● показать присутствующие только в файле;

Изначально установлен фильтр – показать отличия в конфигурациях. Чтобы отобразить измененные объекты, нужно выбрать фильтр – показать измененные. В специальном окне сопоставления нам нужно проанализировать все объекты, которые были изменены. Также предусмотрена настройка сопоставления модулей объектов, в контекстном меню → «Показать различия в модулях» (рис. 4).



Рис 4. Выбор контекстного меню



Рис 5. Модули текущего объекта.

Чтобы отменить сопоставление модулей объекта в контекстном меню выбираем → «Отменить соответствие объектов».

У объектов, участвующих в объединении, предусмотрена возможность выбора режима объединения (рис.6):

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

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



Рис 6. Выбор режима.


Рис 7. Приоритет осн. конф.



Рис 8. Приоритет конф. из файла

3. Анализ сходств и различий

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

● отчет о сравнении метаданных 1С (рис. 9.1, 9.2);

● показать различия в макетах (рис. 10).



Рис.9.1 Вывод отчета.



Рис.9.2 Вывод отчета.



Рис. 10. Различие в макетах.

4. Правила объединения

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



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

В текущем окне можно включить данные объекты 1С 8.3 в состав объединения или пропустить их:

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

● продолжить – объединение происходит без выведенных объектов.

По завершению процедуры объединения необходимо обновить информационную базу 1С.

Читайте также: