В процессе работы с конфигурациями 1С:Предприятия, особенно при внесении доработок или исправлений, часто возникает необходимость временно снять определенные объекты с полной поддержки поставщика. Это делается для того, чтобы иметь возможность модифицировать их код, формы или данные, не дожидаясь официальных обновлений или адаптируя систему под специфические требования бизнеса. Однако после того, как задача решена (например, ошибка исправлена в новой версии конфигурации поставщика, или доработки перенесены в расширение), возникает обратная задача – вернуть объект на полную поддержку ("поставить на замок"). Это позволяет ему получать все обновления от поставщика без необходимости ручного слияния, что значительно упрощает дальнейшее сопровождение системы.
В этой статье мы подробно рассмотрим, как выполнить возврат объекта конфигурации на полную поддержку (режим "Объект поставщика не редактируется"), разберем нюансы этого процесса, а также обсудим сложности, которые могут возникнуть при попытке массового возврата объектов на поддержку, и предложим возможные пути их решения.
Прежде чем перейти к пошаговым инструкциям, давайте выясним причину, по которой может потребоваться вернуть объект на полную поддержку. Как правило, это связано со следующими сценариями:
Исправление ошибок: Если в типовой конфигурации была обнаружена ошибка, и вы временно исправили ее самостоятельно, сняв соответствующий объект с поддержки (установив правило "Объект поставщика редактируется с сохранением поддержки"). После выхода новой версии конфигурации поставщика, где эта ошибка уже исправлена, ваш временный патч становится ненужным, и объект можно вернуть на поддержку, чтобы он получил типовые исправления.
Завершение доработок: Вы внесли специфические доработки в объект, используя режим "Объект поставщика редактируется с сохранением поддержки". По завершении проекта или этапа, когда доработки либо больше не актуальны, либо были перенесены в расширения конфигурации (рекомендуемый способ!), вы хотите вернуть объект в типовое состояние, чтобы он не создавал проблем при последующих обновлениях.
Необходимость синхронизации с типовой конфигурацией: В некоторых случаях, даже если объект не был сильно изменен, его статус поддержки мог быть изменен случайно или как часть более крупного процесса. Возврат на полную поддержку обеспечивает, что объект всегда будет соответствовать версии поставщика.
Задача заключается в том, чтобы объект снова стал полностью управляемым поставщиком, а вы могли получать обновления для него без необходимости ручного разрешения конфликтов, что обычно обозначается "замком" или правилом "Объект поставщика не редактируется".
Рассмотрим подробнее, как вернуть один конкретный объект конфигурации на полную поддержку, используя встроенные средства 1С:Предприятия. Этот процесс требует внимательности, особенно если объект был изменен.
Находим объект и его текущее правило поддержки.
Прежде всего, нам необходимо открыть конфигурацию в режиме Конфигуратор. Далее перейдем в меню Конфигурация -> Поддержка -> Настройка поддержки. В открывшемся окне Настройка поддержки мы увидим список всех объектов конфигурации и их текущие правила поддержки. Наша задача – найти нужный объект (например, документ, справочник, отчет), который мы хотим вернуть на полную поддержку. Обычно объекты, находящиеся не на полной поддержке, имеют особый значок или явно указанное правило "Объект поставщика редактируется с сохранением поддержки" или "Объект снят с поддержки".
Сравнение и объединение конфигураций.
В окне Настройка поддержки выберем пункт Сравнить, объединить. Откроется окно Сравнение и объединение конфигураций. Это ключевой инструмент для работы с поддержкой, который позволяет нам анализировать различия между нашей текущей конфигурацией и конфигурацией поставщика.
Ищем расхождения с конфигурацией поставщика.
В окне Сравнение и объединение конфигураций очень важно внимательно проанализировать все отличия нашего измененного объекта от типового объекта конфигурации поставщика. Если вы видите, что ваш объект или его части (например, реквизиты, формы, модули) отличаются от типового, это означает, что в него были внесены нетиповые изменения. Для того чтобы установить правило поддержки "Объект поставщика не редактируется" (то есть, "поставить на замок"), объект должен быть абсолютно идентичен версии поставщика.
Устраняем отличия (при необходимости).
Если наш объект имеет отличия от типового, для установки полного "замка" эти изменения необходимо устранить. Для этого в окне Сравнение и объединение конфигураций выберите для нашего объекта (или для тех его частей, которые были изменены) правило Взять из конфигурации поставщика. Это действие фактически означает, что мы отказываемся от всех наших нетиповых изменений в данном объекте и принимаем версию поставщика. Будьте предельно осторожны! Это приведет к потере всех ваших нетиповых доработок в этом объекте. Убедитесь, что вы готовы к этому, возможно, предварительно сохранив ваши доработки в другом месте (например, скопировав код модуля в текстовый файл, или перенеся реквизиты в расширение).
Если же объект не имел никаких отличий, но по какой-то причине был снят с поддержки, этот шаг можно пропустить, так как он уже идентичен типовому.
Выполняем объединение.
После того как мы выбрали правила для всех измененных частей объекта (в нашем случае – Взять из конфигурации поставщика, если были изменения), нажимаем кнопку Выполнить в окне Сравнение и объединение конфигураций. Конфигурация будет обновлена, и наш объект станет полностью идентичным объекту поставщика.
Повторное сравнение и установка правила "Не редактируется".
После успешного объединения (и устранения всех отличий), когда объект стал типовым, необходимо снова зайти в Конфигурация -> Поддержка -> Настройка поддержки -> Сравнить, объединить. Теперь, поскольку наш объект полностью соответствует объекту поставщика, в окне Сравнение и объединение конфигураций мы сможем установить для него правило Объект поставщика не редактируется. Выбираем это правило для нужного объекта и снова нажимаем Выполнить.
Проверяем результат.
После выполнения всех этих действий ваш документ (или другой объект) должен "встать на замок". Это означает, что его правило поддержки будет Объект поставщика не редактируется, что обычно символизируется характерным значком в виде желтого кубика (замка) в дереве метаданных конфигурации. Теперь этот объект будет автоматически обновляться вместе с конфигурацией поставщика, не требуя ручного слияния.
При работе с поддержкой конфигурации в 1С есть несколько нюансов, которые необходимо учитывать, чтобы избежать нежелательных последствий или разочарований.
Потеря нетиповых изменений.
Критически важно понимать, что при установке правила Объект поставщика не редактируется для объекта, который ранее был изменен, все внесенные вами нетиповые изменения будут безвозвратно утеряны, если вы выберете режим Взять из конфигурации поставщика. Перед выполнением этих действий всегда создавайте полную резервную копию информационной базы. Если доработки необходимо сохранить, рассмотрите возможность их переноса в расширения конфигурации или хотя бы скопируйте код и структуры в текстовый файл.
Ошибка "Данное правило невозможно установить для нескольких объектов или рекурсивно".
Как справедливо отмечено в исходной теме форума, это одно из главных препятствий при попытке вернуть на полную поддержку не сам корневой объект (например, весь документ), а его составные части (реквизиты, табличные части, формы, макеты и т.д.), которые были индивидуально изменены. Если вы сняли с поддержки только сам документ (корневой объект), но его реквизиты и формы остались на замке, то возврат на поддержку всего документа не вызовет этой ошибки, так как его содержимое уже соответствует типовому. Однако, если вы снимали с поддержки конкретные реквизиты или формы документа, то для каждого такого элемента придется индивидуально выполнять описанные выше шаги, устраняя отличия и устанавливая правило поддержки.
Функция "Изменить подчиненные" и ее ограничения.
В окне Настройка поддержки, при работе с деревом объектов конфигурации, доступна функция контекстного меню "Изменить подчиненные". Эта функция предназначена для массового изменения правил поддержки для группы объектов или для всех подчиненных элементов. Она удобна, например, для массовой смены правил с Объект поставщика не редактируется на Объект поставщика редактируется с сохранением поддержки (то есть, "снять с замка" много объектов). Однако, при попытке массово вернуть объекты на полную поддержку ("поставить на замок") с помощью этой функции, особенно если объекты или их подчиненные элементы имеют отличия от конфигурации поставщика, она может не сработать или вызвать ошибки, аналогичные "Данное правило невозможно установить для нескольких объектов или рекурсивно". Это происходит потому, что для установки правила Объект поставщика не редактируется каждый объект должен быть идентичен типовому, и система проверяет это для каждого элемента. Если же вы хотите массово поставить на поддержку объекты, которые не изменялись, но были сняты с поддержки (например, при общем снятии конфигурации с поддержки), тогда эта функция может быть полезна.
Сложности при массовом возврате на поддержку (например, 99% объектов ERP).
Как показывает практика и обсуждение на форуме, если вам нужно "вернуть замочки" для большого количества объектов (например, 99% объектов крупной конфигурации типа 1С:ERP), это становится крайне трудоемкой задачей, требующей ручного подхода к каждому измененному объекту. Представьте, что для каждого из этих 99% объектов нужно сначала устранить отличия (потеряв доработки), а затем вручную установить правило. Это может занять огромное количество времени и ресурсов. Именно в таких случаях приходится прибегать к альтернативным, более радикальным подходам.
Для ситуаций, когда необходимо вернуть на поддержку большое количество объектов, особенно если они были изменены и ручной перебор каждого объекта становится нереалистичным, стандартные механизмы могут быть неэффективны. Рассмотрим несколько альтернативных стратегий, которые часто используются программистами 1С.
Полное снятие с поддержки и объединение с типовой конфигурацией с последующим переносом доработок.
Этот метод предполагает временное полное снятие конфигурации с поддержки, чтобы затем "встать" на типовую конфигурацию заново, избирательно перенося необходимые доработки.
Шаг 1: Полностью снимаем конфигурацию с поддержки. Открываем конфигурацию в Конфигураторе, переходим в меню Конфигурация -> Поддержка -> Настройка поддержки. В окне Настройка поддержки нажимаем кнопку Включить возможность изменения. В появившемся окне Настройка правил поддержки для всех объектов выбираем правило Объект снят с поддержки или Объект редактируется с сохранением поддержки. Это позволит нам свободно работать с конфигурацией.
Шаг 2: Выполняем сравнение-объединение с типовым cf-файлом того же релиза. Теперь, когда наша конфигурация полностью снята с поддержки, мы можем загрузить актуальный cf-файл конфигурации поставщика того же релиза. Для этого используем меню Конфигурация -> Сравнить, объединить с конфигурацией из файла. В процессе сравнения и объединения мы тщательно выбираем правила объединения:
Взять из конфигурации поставщика. Эти объекты будут приведены к типовому виду и встанут на полную поддержку.Оставить в текущей конфигурации или Объединить, если система предлагает такую возможность для отдельных свойств. Здесь важно принять решение: если доработки нужны, мы их сохраняем. Если они устарели или есть в типовой, мы можем их удалить, выбрав Взять из конфигурации поставщика.Шаг 3 (опционально): Дополнительное сравнение для переноса изменений. Если в процессе шага 2 вы не смогли перенести все свои изменения (например, изменения в модулях, формах или макетах), или столкнулись со сложностями, можно выполнить дополнительное сравнение-объединение с исходной (до-объединения) конфигурацией, чтобы аккуратно перенести оставшиеся доработки. Этот шаг требует глубокого понимания конфликтов и тщательной работы с инструментом сравнения и объединения.
Этот подход позволяет "очистить" конфигурацию и вернуть ее на поддержку, сохраняя при этом нужные доработки.
Создание новой типовой базы и перенос доработок и данных.
Этот метод считается наиболее "чистым" и радикальным. Он гарантирует получение абсолютно типовой конфигурации, но требует значительных временных затрат и усилий по переносу данных и доработок.
Шаг 1: Создаем новую чистую базу данных с конфигурацией поставщика нужного релиза. Это будет наша новая, полностью типовая база.
Шаг 2: Аккуратно переносим в новую базу все ваши доработки. Этот этап может быть очень трудоемким. Для переноса доработок рекомендуется использовать современные методологии разработки:
Шаг 3: Переносим данные из старой базы в новую. Для этого используются различные механизмы:
Этот метод гарантирует полностью типовую базу без проблем с поддержкой в будущем, так как все доработки будут внесены "поверх" типовой конфигурации. Однако он очень трудоемок и требует высокой квалификации специалистов.
Чтобы минимизировать проблемы с поддержкой конфигурации и обновлениями в будущем, настоятельно рекомендуем использовать расширения конфигурации для большинства видов доработок. Расширения позволяют вносить изменения в функциональность системы (добавлять реквизиты, изменять формы, переопределять процедуры и функции) без изменения основной конфигурации. Это значительно упрощает процесс обновления: основная конфигурация остается на полной поддержке, а обновления накатываются автоматически. Расширения подключаются отдельно и не влияют на статус поддержки метаданных основной конфигурации, что является лучшей практикой при работе с типовыми решениями 1С.
Чтобы понять, находится ли ваша конфигурация на поддержке и какие объекты имеют измененный статус, обратите внимание на следующие признаки:
Значки в дереве метаданных. В режиме Конфигуратор, в дереве объектов конфигурации (например, Документы, Справочники, Отчеты), объекты на полной поддержке (с правилом Объект поставщика не редактируется) обычно имеют значок в виде желтого кубика (символ замка). Объекты, снятые с поддержки или измененные с сохранением поддержки, имеют другие значки, указывающие на их модифицированное состояние.
Окно "Настройка поддержки". Откройте меню Конфигурация -> Поддержка -> Настройка поддержки. В верхней части этого окна отображается общая информация о состоянии поддержки конфигурации. Если конфигурация находится на поддержке и является типовой, вы увидите информацию об этом, а также кнопку Включить возможность изменения. Если эта кнопка активна, это означает, что вы можете снять конфигурацию с поддержки или изменить правила для отдельных объектов.
Возврат объектов на полную поддержку – это важная процедура для поддержания актуальности и работоспособности информационной системы 1С:Предприятия. Следуя описанным шагам и учитывая особенности механизмов поддержки 1С, вы сможете эффективно управлять состоянием вашей конфигурации, минимизируя риски при обновлениях и обеспечивая стабильную работу системы. Всегда помните о необходимости создания резервных копий перед началом любых масштабных работ с конфигурацией.