Рассмотрим частую ситуацию: в типовой конфигурации 1С добавлены пара новых справочников, изменен один документ (новые справочники добавлены в качестве реквизитов) и эти реквизиты выведены на форму. Возникает закономерный вопрос: не слетят ли эти доработки при обычном обновлении? Проанализируем возможные риски и разберем проверенные способы сохранения пользовательских изменений, чтобы процесс обновления проходил максимально гладко.
Выясним причину возможных проблем при стандартном объединении конфигураций. Поведение системы сильно зависит от того, как именно реализованы доработки:
Рассмотрим наиболее надежный и рекомендуемый 1С способ — использование механизма расширений. Начиная с версии платформы 8.3.11 (и особенно в версиях 8.3.13 и выше), появилась возможность добавлять в расширения собственные объекты метаданных: справочники, документы и новые реквизиты. Это позволяет оставить основную конфигурацию на полной поддержке и обновлять ее "в один клик".
Разберем по шагам правильный алгоритм работы с расширениями:
МойПрефикс_НовыйРеквизит), чтобы избежать совпадений с будущими объектами поставщика.Посмотрим на пример еще более безопасного внедрения в интерфейс. Визуальное редактирование заимствованных форм даже в расширениях иногда может приводить к конфликтам, если поставщик кардинально перерисует форму. Более стабильный метод — программное создание элементов управления.
Добавлять новые поля на форму следует в модуле формы, используя обработчик события ПриСозданииНаСервере. Для этого в платформе предусмотрен метод ИзменитьРеквизиты() и динамическое создание элементов типа ПолеФормы. При таком подходе типовая форма будет обновляться без проблем, а ваши уникальные элементы будут дорисовываться кодом каждый раз при ее открытии.
Если вы по каким-то причинам не используете расширения и ведете разработку в основной конфигурации, рассмотрим процесс обновления через заранее подготовленный (объединенный разработчиком) файл .cf. Главное правило: не используйте пункт меню "Сравнить, объединить с конфигурацией из файла...". Этот метод обновит только основную конфигурацию, но не затронет конфигурацию поставщика, что гарантированно сломает все будущие обновления.
Чтобы обновление прошло правильно и обновилась конфигурация поставщика, выполните следующие действия:
.cf в качестве источника обновления.Проанализируем процесс объединения модулей при обновлении. Чтобы облегчить визуальный поиск своих доработок в дереве метаданных, заведите собственную подсистему (с префиксом вашей компании) и включите в нее все свои новые справочники и документы. В окне сравнения и объединения вы сможете использовать фильтр по подсистемам, мгновенно исключая новые объекты из сравнения.
При объединении измененных объектов воспользуйтесь встроенным фильтром. Включите режим "Показывать дважды измененные свойства" (иконка или фильтр в окне объединения). Это позволит не выписывать на листочек все измененные вами объекты, а сразу увидеть конфликты: где изменения внесли и вы, и поставщик в новом релизе.
Приоритеты при конфликтах в коде:
Если алгоритм был изменен обеими сторонами, безопасным подходом является установка правила "Взять из новой конфигурации поставщика". Затем, открыв результат объединения (через шестеренку настройки объединения модулей), вручную перенесите свои доработанные строки кода в нужные места. Это гарантирует, что важные исправления ошибок и новые функции от разработчиков 1С не будут случайно затерты вашим старым кодом.