Объединение с помощью внешней программы не настроено 1с
В платформе 8.3.18 произошли значительные изменения, связанные с механизмом расширений. Например, теперь при помощи расширений можно изменять типы реквизитов из основной конфигурации!
Этот функционал давно ожидался всеми разработчиками, использующими расширения при внедрениях.
Этот функционал давно ожидался всеми разработчиками, использующими расширения при внедрениях, так как он сильно увеличивает их возможности при доработках.
Раньше можно было только менять логику дорабатываемой конфигурации, корректировать программный код в модулях, добавлять новые объекты (справочники, документы) в расширении. А вот изменять существующие реквизиты – нельзя. Теперь такая возможность появилась.
Какие преимущества это дает?
- К примеру, когда не хватает типовой длины строкового поля, ее можно можно увеличить с помощью расширения – то есть, не снимая конфигурацию с поддержки.
- Можно увеличить длину числового реквизита в документе, когда разработчики типовой задали недостаточную длину для хранения данных конкретного предприятия.
- Также можно в реквизит составного типа добавить еще один тип данных при помощи расширения. Например, разработчик типовой предполагает, что в реквизите можно указывать только документы «Заказ клиента» и «Реализация». А на проекте для реализации требований заказчика нужно добавить в этот реквизит еще «Заказ поставщику». Это можно теперь сделать при помощи расширения, что очень удобно.
Работа с расширением типов реквизитов детально рассмотрена в этой серии видеоуроков — с практическими примерами и описаниями ограничений.
Кроме того, разобраны и другие полезные возможности расширений:
- Объединение расширений с cfe-файлом из командной строки
- Работа платформы при отключенных расширениях — когда при старте сеанса были подключены не все расширения, изменяющие структуру хранения данных
- Новая логика проверки применимости расширения, использующего аннотацию ИзменениеИКонтроль
- И другие полезные «фишки»…
Общая длительность видео – полтора часа. Приятного просмотра! :)
Видео 1 – Вступление
Ключевые моменты видео:
00:00 – Узнаем, какие темы разбираются в занятии.
Видео 2 – Объединение расширений
Ключевые моменты видео:
00:00 – При помощи какой команды пакетного режима запуска конфигуратора можно выполнять сравнение расширения с файлом на диске?
00:45 – Где на сайте ИТС найти описание параметров командной строки
04:05 – Как вручную в конфигураторе выполнить объединение расширения с файлом на диске
05:10 – Какие параметры нужно указывать в командной строке
06:40 – Почему при объединении расширения из командной строки возникает ошибка “Каталог не обнаружен”
07:50 – Как работает сохранение настроек объединения в файл
12:50 – В каких случаях на практике можно применять объединение расширения с файлом на диске
Видео 3 – Расширение типов реквизитов
Ключевые моменты видео:
00:00 – Как убедиться, что в платформе 8.3.17 и ранее нельзя изменить тип реквизита при помощи расширения
01:20 – Как установить признак контролируемого или проверяемого свойства в расширении
Видео 4 – Расширение строковых реквизитов
Ключевые моменты видео:
00:00 – Как в платформе 8.3.18 увеличить длину строкового реквизита при помощи расширения
01:20 – Какие изменения произошли в панели свойств объекта расширения
03:20 – Можно ли уменьшить длину строкового реквизита при помощи расширения
04:20 – Происходит ли потеря данных при уменьшении длины строкового реквизита с помощью расширения
Видео 5 – Расширение числовых реквизитов
Ключевые моменты видео:
00:00 – Как в платформе 8.3.18 изменить длину и точность числового реквизита при помощи расширения
01:50 – Можно ли уменьшить длину и точность числового реквизита при помощи расширения
Видео 6 – Изменение длины кода
Ключевые моменты видео:
00:00 – Можно ли изменить длину кода и наименования справочника при помощи расширения
01:20 – Как в расширении установить признак контролируемого или проверяемого свойства для длины кода и наименования справочника
02:20 – Можно ли изменить длину номера документа при помощи расширения
Видео 7 – Формирование результирующего типа
Ключевые моменты видео:
00:00 – Почему нельзя уменьшить длину строкового реквизита при помощи расширения
00:50 – Каким образом при расширении типа реквизитов получается составной тип данных
03:20 – Как при помощи расширения добавить дополнительные типы в тип данных реквизита из основной конфигурации
04:20 – Как платформа обеспечивает сохранность данных при расширении типов реквизитов
Видео 8 – Примеры расширения типа
Ключевые моменты видео:
00:00 – Какой тип данных в результате будет иметь реквизит, если его тип изменяет одновременно несколько расширений
02:15 – Как ведет себя платформа при отключении расширения, изменяющего тип данных реквизита основной конфигурации
04:30 – Как при помощи консоли запросов проверить результирующую длину строки реквизита
06:00 – Как воспроизвести пример потери данных при изменении типа данных в расширении
Видео 9 – Свойство Тип
Ключевые моменты видео:
00:00 – Как сделать в расширении свойство Тип одновременно и контролируемым, и модифицируемым
01:30 – Что означает признак контролируемости свойства при расширении типа данных реквизита
02:50 – Каким образом формируется всплывающая подсказка для свойства Тип
Видео 10 – Ограничения составного типа
Ключевые моменты видео:
00:00 – Какие типы данных нельзя включать в составной тип
02:00 – Почему при помощи расширения нельзя изменить тип строкового реквизита на ХранилищеЗначения
Видео 11 – Ограничения расширений
Ключевые моменты видео:
00:00 – Можно ли расширить тип данных для общего реквизита
00:50 – Можно ли при помощи расширения изменить тип реквизита, ссылающегося на внешний источник данных
02:50 – Можно ли расширить тип данных определяемого типа
04:30 – Какие ограничения существуют при работе с планом видов характеристик
Видео 12 – Типовые конфигурации
Ключевые моменты видео:
00:00 – Можно ли в типовой конфигурации УТ 11 воспользоваться расширением типов данных
01:20 – Какой режим совместимости необходим для расширения типов данных
02:20 – Как использование определяемых типов усложняет использование расширения типов
Видео 13 – Отключенные расширения
Ключевые моменты видео:
00:00 – Как ведет себя система, когда при старте сеанса подключены не все расширения, изменяющие структуру хранения данных
01:00 – Как работают предыдущие версии платформы в таком случае
03:40 – Какие изменения произошли в платформе 8.3.18
04:10 – Какие особенности существуют при работе со справочниками, документами, планами обмена
10:40 – Какие особенности существуют при работе с табличными частями
15:50 – Какие особенности существуют при работе с регистрами
Видео 14 – Изменение и контроль
Ключевые моменты видео:
Раньше сравнение и объединение программных модулей могло быть довольно трудоёмкой операцией, если приходилось объединять два модуля, в каждом из которых есть разные изменения относительно исходной конфигурации. Перед объединением можно было посмотреть различия в модулях, но внести изменения в получившийся код можно было только после объединения модулей. При большом количестве изменений в модулях такой подход отнимал очень много времени и мог приводить к ошибкам.
Чтобы облегчить сравнение и объединение модулей, мы добавили в платформу две новые возможности. Во-первых - возможность редактировать результат объединения модулей сразу же в том окне, в котором отображаются их отличия. Во-вторых - возможность использовать для сравнения и объединения модулей не средства платформы 1С:Предприятие, а одну из специализированных сторонних программ.
Редактирование результата объединения в окне настройки объединения модулей
Прежде всего мы немного изменили окно объединения конфигураций. Появилась дополнительная колонка, в которой пиктограммой отображается возможность настройки объединения для данного свойства.
А в окне настройки объединения модулей теперь всегда показывается результат будущего объединения. И вы можете сразу же изменить будущий текст модуля так, как этого требует логика вашего приложения:
Использование внешней программы
Существует целый ряд сторонних специализированных программ, с помощью которых можно выполнять объединение модулей. Если вам недостаточно встроенных возможностей 1С:Предприятия, или если вы привыкли использовать одну из сторонних программ, вы можете подключить её в настройках конфигуратора и использовать для сравнения, настройки объединения и собственно объединения модулей конфигурации.
Для самых распространённых программ в конфигураторе 1С:Предприятия уже содержатся параметры командной строки для их запуска в различных режимах:
При желании вы можете использовать и другие программы, которые поддерживают запуск из командной строки. Их параметры вам нужно будет добавить в настройки конфигуратора самостоятельно.
Преимущества использования внешних программ
В процессе сравнения/объединения конфигураций существуют три основные операции:
- Показ различий без учета структуры (сравнение двух файлов);
- Объединение двух конфигураций (объединение двух файлов);
- Обновление конфигурации, находящейся на поддержке (трехстороннее объединение).
Для п.п. 1 и 2 использование внешних программ имеет только «вкусовые» преимущества. Кому-то больше нравится работать с той или иной программой, нежели со встроенным в платформу инструментом.
Однако в п.3 использование внешних программ позволяет значительно сократить ваше участие в обновлении конфигурации.
В случае 1С:Предприятия в трёхстороннем объединении участвуют: основная конфигурация, старая конфигурация поставщика и новая конфигурация поставщика. Алгоритм, который используют внешние программы для такого объединения, отличается от алгоритма, используемого встроенными инструментами платформы. Файл, являющийся общим предком (старая конфигурация поставщика), они сравнивают с двумя другими файлами (основной конфигурацией и новой конфигурацией поставщика). Из основной конфигурации и новой конфигурации поставщика они берут изменения, если эти изменения не пересекаются. А если они пересекаются, то это конфликт, который вы должны разрешить вручную.
Благодаря такому подходу значительно сокращается необходимость ручной правки объединённого кода. Кроме этого внешние программы анализируют код без разбивки на отдельные процедуры и умеют автоматически обрабатывать ситуации, когда меняется только имя процедуры или функции.
В конфигураторе для каждой операции сравнения/объединения существует отдельная настройка. Ниже мы расскажем об этом более подробно.
Показ различий в модулях
С помощью внешней программы вы можете просматривать различия в модулях. Для этого в настройках конфигуратора эта программа должна быть выбрана в свойстве Показать различия без учета структуры:
Если после этого в окне сравнения/объединения выбрать какой-нибудь модуль и выполнить команду Показать различия в модулях без учета структуры . то для выполнения этой операции будет использована выбранная вами внешняя программа:
Настройка объединения модулей
Внешнюю программу вы можете использовать для настройки объединения модулей. Для этого в настройках конфигуратора эта программа должна быть выбрана в свойстве Настройка объединения двух конфигураций:
Если после этого в окне сравнения/объединения выбрать какой-нибудь модуль и выполнить команду Настройка объединения . (или нажать на шестерёнку, что то же самое), то для выполнения этой операции будет использована выбранная вами внешняя программа:
Обновление конфигурации на поддержке
Ещё одна операция, которую можно выполнять с помощью внешней программы - обновление конфигурации, находящейся на поддержке. Для этого в настройках конфигуратора эта программа должна быть выбрана в группе свойств Обновление конфигурации на поддержке:
Если после этого выполнить команду Конфигурация - Поддержка - Обновить конфигурацию, или попытаться настроить объединение модулей, для которых установлен режим объединения с помощью внешней программы, то для выполнения этих операций будет использована выбранная вами внешняя программа:
Одна из важнейших задач, с которой встречаются программисты 1С - обновление конфигураций. Во многих фирмах-франчах знакомство начинающего разработчика/консультанта/сервис-инженера с 1С начинается с обновления программных продуктов. Как правило, новичкам дают задачи по обновлению типовых конфигураций, либо платформ 1С. Обычно, обновление типовых решений не доставляет много хлопот - скачал апдейтник, прокликал несколько раз "далее" - "далее" - "ок" и все готово. Практически тоже самое можно сказать и про обновление платформы - скачал актуальную версию, установил и готово - можно работать. Бывают, конечно, особенности, связанные с нелицензионным ПО, старым железом, однако это все решается на уровне системного администратора, либо сервис-инженера.
Самое интересное начинается при обновлении нетиповой конфигурации. Особенно проблематично обновлять базу, которую не приходилось дорабатывать лично.
Итак, в текущей заметке будет продемонстрировано несколько навыков и инструментов по обновлению нетиповых конфигураций.
Всё описанное тестировалось на платформе 8.3.18.1289 и более поздних версиях.
Доработка типовых конфигураций
В дальнейшем я буду рассматривать некоторые внешние программы для сравнения/объединения программного кода. Для оптимального использования таких инструментов, необходимо поддерживать обновляемую конфигурацию в соответствующем виде - производить доработки в строго определенном формате и использовать один шаблон. Речь пойдет, конечно же, о расширениях.
Всем известно, что в платформе 8.3 появился такой удобный и разнообразный инструмент - расширение конфигурации. Здесь я не буду вдаваться в подробности устройства данного механизма, лишь покажу, как его использовать для дальнейшего без проблемного обновления базы.
Очевидно, что самый сложный этап в обновлении конфигурации - сравнение программных модулей и анализ произведенных доработок. Поэтому использование расширений очевидно - необходимо по максимуму перенести программный код из основной конфигурации в конфигурацию расширений. Для этого существует несколько аннотаций: &Перед, &После, &Вместо и &Вместо (с контролем). В рамках нашей концепции рекомендуется использовать лишь две из них: &Перед и &После. Переносимый в расширения код должен компилироваться и правильно отрабатывать после каждого обновления. Код прописанный До или После типового метода обычно не подвергается критическим ошибкам - он носит, по большей части, дополняющий характер. Например, это может быть добавление своих реквизитов на форму в процедуре "ПриСозданииНаСервере" (Рисунок 1)
Рисунок 1 - Программное добавление реквизитов и элементов на форму
Таким образом возможно максимально разгрузить доработанные модули в основной конфигурации. Использование аннотаций "&Вместо" считается не сильно эффективным, так как при малейшем изменении модуля поставщиком, расширение придется переписывать из-за несоответствия расширяемой процедуры. Инъекции кода и программное переопределение типовой логики лучше производить в основной конфигурации - далее мы увидим, почему так удобнее.
Следующее - доработка форм. Любое редактирование управляемой формы, опять-таки, строго рекомендуется выполнять программно. Во-первых, при ручном редактировании формы в основной конфигурации (используя редактор форм) все настройки будут успешно стерты и по умолчанию взяты из новой конфигурации поставщика (из нового релиза). Производить редактирование формы в расширении тоже не самая удачная идея - теряется визуальное отличие между типовыми и нетиповыми доработками. Поэтому при настройке форм, пользуемся схемой, описанной выше. Все, что можно поместить в расширение по аннотации &Перед, &После - переносим, все остальное (программное изменение логики формы, инъекции кода) оставляем в основной конфигурации.
Последнее - добавление новых объектов, реквизитов. Любое добавление новых объектов необходимо производить только в основной конфигурации. Объясняется такое решение несколькими причинами. Во-первых, при добавлении новых справочников, планов видов характеристик, документов - любых ссылочных объектов, не исключён шанс, что в будущем они могут участвовать в качестве типов реквизитов. Назначить ссылочный тип из расширения объекту основной конфигурации не получится, поэтому целесообразно не создавать новые объекты в расширении. Второе - невозможно использовать конструктор запросов и контекстную подсказку одновременно и для объектов расширения и для объектов основной конфигурации. Для всех объектов конструктор запросов доступен только в пользовательском режиме. И, самое главное для нас - объекты, добавленные в основную конфигурацию не нужно анализировать при обновлении базы. Они не удаляются и не модифицируются. Однако стоит понимать, что связи, используемые в типовых объектах с нетиповыми (назначение типовому регистру нетиповой регистратор, настройка владельца, изменение состава определяемого типа) при накатывании нового релиза - затрутся. Их придется анализировать вручную.
Встроенные средства сравнения/объединения
Обзорно пройдемся по основным этапам сравнения/объединения платформы 1С 8.3. При возникновении окна сравнения, мы должны проанализировать объекты, подвергшиеся изменениям. Устанавливаем фильтр "Показывать только дважды измененные свойства" для понимания, в какие фрагменты кода были внесены изменения нами (сторонними разработчиками) и поставщиком. Далее, можем воспользоваться настройкой объединения модулей, кликнув по шестерёнке (Рисунок 2)
Рисунок 2 - Окно сравнения конфигураций
Перейдя к настройке объединения модулей, видим окно двустороннего сравнения модулей (Рисунок 3)
Рисунок 3 - Штатное двустороннее сравнение модулей
В целом, инструмент помогает произвести анализ выполненных доработок, переходя к каждому измененному методу данного модуля. Слева мы видим дорабатываемую нами конфигурацию (Основная конфигурация), справа - конфигурацию поставщика (новый релиз). Если наша база не сильно доработана, и все программные изменения находятся в расширениях, то такой возможности сравнения будет достаточно для обновления почти типовой конфигурации.
Но давайте рассмотрим недостатки штатного механизма сравнения. Первое - ручное исправление коллизий. Инструмент не может автоматически анализировать доработки. Даже добавленный "сбоку" код должен обрабатываться программистом. Конечно, есть возможность выбора режима обновления - "Объединить с приоритетом основной конфигурации", либо "с приоритетом новой конфигурации поставщика", однако данная возможность не совсем удобна в использовании, к тому же, оставляет лишние комментарии только сбивающие с толку в дальнейшем (хотя, возможно, это дело привычки). Второе - необходимо переключаться на новую процедуру(функцию) после каждой обработки текущей. Отнимает много времени анализ больших и длинных методов, особенно, когда правки в них были не критические. Третье, и самое важное - отсутствие трехстороннего сравнения/объединения. Часто бывает просто необходимо посмотреть на старую конфигурацию поставщика. Необходимо проанализировать типовую старую логику работы метода, сравнить ее с текущей (доработанной), либо сравнить старую типовую логику работы механизма с новой логикой (появившейся в новом релизе). Такая возможность отсутствует в штатных средствах сравнения.
Давайте обзорно рассмотрим некоторые сторонние инструменты сравнения фрагментов кода, используемые при обновлениях 1С.
Perforce P4Merge
Одна из сторонних программ сравнения/объединения, которую считаю дольно удачной, при обновлении нетиповой конфигурации - Perforce P4Merge. Вообще, как можно заметить, платформа предлагает некоторые сторонние программы (Сервис -> Параметры -> Сравнение/Объединение) (Рисунок 4)
Рисунок 4 - Выбор внешней программы
Из всех указанных утилит, больше всего мне приглянулась Perforce P4Merge. Её достоинства заключаются в следующем:
- Удобный и наглядный интерфейс
- Возможность автоматического поиска коллизий
- Трехстороннее сравнение
Для начала покажу, как добавить внешний инструмент сравнения. Скачиваем и устанавливаем Perforce P4Merge (Гуглится довольно быстро). В окне выбора внешней программы позиционируемся на Perforce P4Merge и нажимаем "Изменить" (Рисунок 4). Далее выбираем исполняемый файл с соответствующим названием (Рисунок 5)
Рисунок 5 - Выбор p4merge
Теперь остается в окне "Режим объединения и порядок подчиненных объектов" выбрать Perforce P4Merge и применить настройки.
Далее, в окне сравнения/объединения у нас появится возможность "Объединить с помощью внешней программы" (Рисунок 6)
Рисунок 6 - Объединение с помощью внешней программы
Кратко покажу работу с Perforce P4Merge. После того, как мы нажмем на "шестерёнку" - откроется окно трехстороннего сравнения (Рисунок 7)
Рисунок 7 - Интерфейс объединения "Perforce P4Merge"
В целом интерфейс интуитивно понятен. Первое окно - Основная конфигурация, второе - Старая конфигурация поставщика(до обновления), и третье - Новая конфигурация поставщика (накатываемый релиз). Программа выделяет красной рамкой только те части кода, которые различаются во всех трёх окнах. Так, например, в старой конфигурации в запросе присутствовал фрагмент внутреннего соединения с таблицей "ВТСотрудникиПериодДанных" по двум условиям. В основной конфигурации видно, что второе условие было закомментировано. В новой же конфигурации поставщика вообще отсутствует данное соединение, поэтому конфликт и выделен - решение по объединению должен принимать разработчик. Все остальные моменты практически обрабатываются на автомате. Если изменения есть только в новой конфигурации поставщика, то они и будут применены. Если изменения есть только в основной конфигурации (инъекции кода), то они будут учтены системой. И если фрагмент кода будет изменен в основной конфе, старая и новая конфигурации поставщика совпадают, то будут вынесены правки из основной конфигурации. Вверху, по красным стрелочкам, удобно обходить все конфликты и обрабатывать их используя соответствующие пиктограммы (Квадрат, Сектор, Круг). Кликая по пиктограммам удобно выбирать фрагмент вставки изменения - из основной, из старой, из новой, либо сразу из всех конфигураций (все три фигуры подсвечены).
Программа поможет сократить время при анализе километровых модулей программного кода, а также эффективно справится с объединением доработок.
Kdiff3
Помимо Perforce P4Merge существует ещё ряд внешних программ, имеющих удобный интерфейс трёхстороннего сравнения/объединения, например, Kdiff3. Данный инструмент скачивается и подключается аналогично вышеописанному. Кратко разберем интерфейс Kdiff3.
При открытии окна сравнения конфигураций, выбираем пункт объединения с помощью внешней программы. Интерфейс в целом схож с Perforce P4Merge, однако есть ряд своих особенностей (Рисунок 8)
Рисунок 8 - Интерфейс объединения "Kdiff3"
Слева находится старая конфигурация поставщика, затем основная конфигурация и справа - новая конфигурация поставщика. Разумеется, порядок следования окон можно изменить, на рисунке представлен вид по умолчанию. Программа позволяет перемещаться в модулях по проблемным фрагментам кода - по частям, измененным в основной конфигурации и в новой конфигурации поставщика. Для выбора объединения вверху окна используются кнопки "A" "B" и "C". На этом принципиальные отличия Kdiff3 от Perforce P4Merge по большей части заканчиваются. По своему опыту могу сказать, что удобнее и нагляднее работать с Perforce P4Merge, однако тут уж дело вкуса.
Заключение
В текущей публикации были рассмотрены некоторые этапы по доработке обновляемых конфигураций, а также показаны внешние инструменты трехстороннего сравнения/объединения. Существует множество других программ, позволяющих корректно сравнивать модули при обновлении, но здесь я решил рассмотреть две наиболее часто используемых. Удобство описанных приложений объясняется в простоте их установки и применения - наглядном анализе доработок, используя трехстороннее сравнение. На компьютер, где находится база возможно установить сразу несколько внешних программ и использовать их поочередно, переключаясь по шестерёнке в окне объединения конфигураций (Рисунок 6).
Посыл заметки - применение расширений, для уменьшения разгрузки программных модулей и использование внешних программных средств, для более удобного сравнения/объединения.
Механизм сравнения и объединения конфигураций позволяет сравнивать между собой два прикладных решения и объединять их полностью или выборочно по результатам сравнения, например:
- когда одно прикладное решение разрабатывается несколькими независимыми разработчиками, или
- когда в исходную конфигурацию нужно загрузить сделанные изменения.
Механизм сравнения и объединения конфигураций обеспечивает сравнение:
- общих свойств объектов прикладного решения (справочников, документов и т.д.);
- отдельных реквизитов, табличных частей объектов прикладного решения;
- форм (сравниваются тексты модулей, тексты описаний и макеты).
Все результаты сравнения можно просмотреть в детальном виде.
Вызов механизма сравнения и объединения конфигураций осуществляется с помощью меню "Конфигурация":
Установка соответствия объектов в 1С
При запуске режима сравнения система анализирует сравниваемые конфигурации и устанавливает соответствие между их объектами, исходя из имен:
В случаях, когда
- одинаковые объекты прикладного решения будут иметь различные имена или наоборот,
- различные объекты будут называться одинаково
разработчик имеет возможность отказаться от соответствий, установленных по умолчанию, и установить их вручную.
Сначала отменяем автоматические соответствия:
Затем устанавливаем вручную:
Сравнение конфигураций 1С
Алгоритмы сопоставления объектов сравниваемых конфигураций:
- Сравнение произвольных конфигураций:
- Выполняется сопоставление по имени объекта.
- Если для каких-то объектов пару найти не удалось, выполняется сопоставление по идентификатору.
- Сравнение родственных конфигураций. Имеются ввиду конфигурации, про которые можно точно утверждать, что они являются различными версиями одной и той же конфигурации (примеры - сравнение основной конфигурации с конфигурацией базы данных или с конфигурацией хранилища).
- Выполняется сопоставление только по идентификатору объекта. Имя объекта не используется.
- Сравнение с конфигурацией поставщика.
- Выполняется сопоставление по идентификаторам, но при этом идентификаторы не обязательно должны быть одинаковы.
Его особенность связана с наличием двух вариантов поддержки:
- с включенной возможностью изменений;
- без возможности изменений.
В первом случае используется управляемое объединение конфигураций, и при этом новые объекты получают новые идентификаторы. Вместе с тем, сопоставлять объекты по именам в этом случае нельзя, поскольку изменение пользователем имени не должно приводить к потере связи с объектом поставщика. В связи с этим используется следующая техника. Для каждого объекта поставщика запоминается пара идентификаторов объектов (в конфигурации поставщика и в конфигурации на поддержке). И сопоставление выполняется только по этим парам. Для обеспечения логической целостности поддержки конфигурации единожды созданная пара никогда не изменятся. Если в новой версии поставщика появился новый объект, то пользователь при обновлении может просто его скопировать, а может сопоставить с каким-то своим объектом. Но в дальнейшем эту связь изменить будет нельзя.
Во втором случае обновление выполняется путем загрузки новой версии конфигурации поставщика, то есть идентификаторы объектов при этом не изменяются.
В качестве сравниваемых конфигураций могут выступать:
- основная конфигурация;
- конфигурация базы данных;
- конфигурация, сохраненная во внешнем файле;
- конфигурация поставщика.
Таким образом, например, возможно сравнение двух конфигураций, сохраненных во внешних файлах, или сравнение основной конфигурации с конфигурацией поставщика.
Результат сравнения конфигураций отображается в специальном окне. При этом разработчик имеет возможность настроить состав информации, отображаемой в этом окне и установить отображение:
- всех объектов прикладного решения;
- только отличающихся объектов;
- только измененных объектов;
- присутствующих только в какой-либо одной конфигурации;
- только неизмененных объектов.
Для каждого отличающегося объекта можно просмотреть детальную информацию об отличиях.
Кроме того, информация об отличиях может быть получена в виде отчета (текстовый или табличный документ).
Объединение конфигураций 1С
Для выполнения объединения конфигураций следует отметить те объекты прикладного решения, которые будут участвовать в объединении и установить режим объединения конфигураций в поле "Режим объединения и порядок подчиненных объектов" (или через контекстное меню).
Установка режима объединения конфигураций возможна:
- для всей конфигурации в целом;
- для каждого элемента прикладного решения в отдельности.
Особенности сравнения (объединения) конфигураций 1С:
- При объединении с приоритетом загружаемой конфигурации текст модулей, измененный в основной конфигурации, будет закомментирован, а текст из загружаемой конфигурации будет добавлен.
- При выполнении сравнения, объединения с конфигурацией из файла, в режиме "Взять из файла" измененный объект будет замещен полностью.
При сравнении и объединении конфигурации, в которой используются несколько языков, можно указать выборочное сравнение по языкам.
- новые всегда добавляются;
- совпадающие по именам заменяются, если приоритет у загружаемой, иначе не изменяются.
- объекты текущей конфигурации, которым не сопоставлены объекты загружаемой конфигурации будут удалены;
- при сброшенном флаге, вне зависимости от приоритета объединения, объекты текущей конфигурации, которым не сопоставлены объекты загружаемой конфигурации, будут оставлены в результате объединения.
Сохранение (загрузка) настроек объединения конфигураций
Настройки объединения конфигураций (или настройки обновления конфигурации на поддержке) можно:
- сохранять в xml файл;
- загружать из xml файла;
- добавлять из xml файла.
Пакетный режим запуска конфигуратора также поддерживает использование настроек при объединении и обновлении конфигураций. Таким образом при объединении конфигураций, содержащих большое количество изменений, когда объединение выполняется регулярно, существует возможность полностью автоматизировать операции сборки конфигураций.
Использование для сравнения и объединения модулей конфигурации 1С внешней программы
Существует целый ряд сторонних специализированных программ, с помощью которых (после их подключения в настройках конфигуратора) можно выполнять сравнение, настройки объединения и собственно объединение модулей конфигурации.
В конфигураторе 1С:Предприятия уже содержатся параметры командной строки для запуска самых распространённых программ:
При желании можно использовать и другие программы, которые поддерживают запуск из командной строки. Их параметры нужно добавить в настройки конфигуратора самостоятельно.
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Установка сравнением и объединением подразумевает анализ разницы для каждого объекта в конфигурации 1С. При этом они сопоставляются сначала по имени, а только потом по идентификатору.
В типовых конфигурациях 1С возможны случаи, когда старый объект переименовывается, а на место него добавляется новый объект с тем же именем. При установке сравнением/объединением старый объект может некорректно сопоставиться по имени с добавленным новым, а переименованный объект отобразится как добавленный. Это может привести к потере данных и возникновению ошибок.
Установка конфигурации сравнением/объединением требует снятия с поддержки перед началом установки и постановки на поддержку после окончания. И зачастую такой процесс занимает больше времени.
Таким образом, рекомендуется всегда в первую очередь использовать установку загрузкой, а вариант со сравнением/объединением применять только в качестве резервного, когда загрузка по каким-либо причинам не удалась или неприменима.
Метод установка конфигурации 1С сравнением/объединением
Для установки конфигурации 1С сравнением/объединением нужно выполнить следующие действия в режиме Конфигуратор:
1. Снять конфигурацию с поддержки. Подробнее об этом в материале «Снятие с поддержки».
2. Выбрать пункт меню «Конфигурация > Сравнить, объединить с конфигурацией из файла…»:
Пункт меню для сравнения/объединения с конфигурацией
3. Выбрать необходимый файл конфигурации (с расширением .cf) и дождаться окончания процесса сравнения.
4. В появившемся окне с деревом объектов нажать на кнопку «Настройки», установить галочку «Разрешить удаление объектов основной конфигурации», затем нажать на кнопку «ОК».
Расположение кнопки настройки
Установка настройки, разрешающей удаление объектов
5. Дважды нажать на верхнюю галочку в дереве объектов, что должно привести к снятию и последующей установке всех галочек.
Установка всех галочек в дереве
Выполнение объединения
7. Обновить конфигурацию базы данных, нажав клавишу F7 или кнопку на панели инструментов.
Кнопка обновления конфигурации БД
8. Подождать появления окна со списком измененных объектов и нажать в нем на кнопку «Принять».
Окно со списком изменений в метаданных
После того, как будут приняты изменения, обязательно нужно запустить ИБ в режиме 1С:Предприятие и выполнить необходимые действия из материала «Обязательные действия в режиме 1С:Предприятие после установки конфигурации».
Кнопка запуска отладки для выполнения обязательных действий в режиме 1С:Предприятие
12 статей про обновление 1С
Типовую программу 1С легко обновить самостоятельно через конфигуратор или интернет. Ещё один способ — использовать cfu-файл. Если пропущено много релизов, вам сэкономят время промежуточные конфигурации.
После обновления не забывайте запустить особые процедуры.
Бывает выгоднее отдать обновление нетиповой 1С на аутсорсинг.
Что нового для вашей 1С?
Рассылка осуществляется в день выхода обновления. Никакой рекламы, только полезная информация. Посмотрите пример →
Читайте также: