При сопровождении и доработке программных продуктов на платформе «1С:Предприятие» разработчики часто сталкиваются с ситуацией, когда типовое решение необходимо кастомизировать под нужды бизнеса. При этом важно сохранить возможность относительно простого и полуавтоматического обновления конфигурации в будущем. В этой статье мы подробно разберем, как правильно изменять объекты в конфигурации, находящейся на поддержке, почему не стоит полностью снимать базу с поддержки, как использовать для этих целей современные механизмы расширений и какими способами можно вернуть «замочки» обратно на объекты метаданных.
Рассмотрим стандартную ситуацию. В окне «Настройка поддержки» вы видите статус «Находится на поддержке с возможностью изменения», однако при попытке открыть форму или модуль конкретного объекта (например, документа или справочника) система выводит предупреждение, а рядом с объектом в дереве метаданных отображается пиктограмма желтого замка. Это означает, что для всей конфигурации в целом включена возможность изменения, но для конкретных объектов установлены правила, запрещающие редактирование. Это штатное поведение платформы «1С:Предприятие», призванное защитить типовые объекты от случайного изменения разработчиком.
Для решения этой задачи проанализируем ситуацию и разберем по шагам, как получить доступ к редактированию без ущерба для будущих обновлений.
Если вам необходимо внести изменения непосредственно в основную конфигурацию, ни в коем случае не следует полностью снимать всю базу с поддержки или включать редактирование для всех объектов массово (как иногда ошибочно советуют на форумах). Наша задача — сохранить максимальное количество объектов на полной поддержке поставщика. Выполним следующие действия по шагам:
После выполнения этих действий выбранный вами объект станет доступен для редактирования (значок замка сменится на значок «ручки» или «зеленого кубика» с шестеренкой), в то время как все остальные объекты конфигурации останутся нетронутыми и закрытыми для изменений. Это гарантирует, что при последующих обновлениях системы вам придется вручную сопоставлять изменения только для этого конкретного объекта, а все остальные обновятся автоматически.
Ранее среди разработчиков бытовало мнение, что возможности механизмов расширения сильно ограничены. В частности, на старых версиях платформы существовало ограничение, не позволяющее добавлять новые типы данных (например, новые документы или справочники) через расширения. Однако на сегодняшний день это утверждение полностью устарело.
Начиная с версии платформы «1С:Предприятие» 8.3.11 и выше, механизм расширений претерпел значительные изменения. Теперь вы можете беспрепятственно создавать собственные кастомные объекты метаданных прямо в слое расширения:
&Перед, &После или &Вместо для изменения логики работы типовых процедур и функций.Главное условие использования: режим совместимости основной конфигурации должен быть установлен в значение не ниже версии 8.3.11. Поскольку все современные типовые решения (такие как «Бухгалтерия предприятия 3.0», «ERP Управление предприятием», «Управление торговлей 11» и др.) давно работают на актуальных режимах совместимости, создание новых объектов через расширения является наиболее приоритетным, безопасным и правильным подходом к разработке.
Использование расширений позволяет оставить основную конфигурацию полностью на замке (на 100% типовой), что обеспечивает автоматическое обновление базы в один клик даже через облачные сервисы (например, 1С:Фреш).
Рано или поздно возникает необходимость вернуть конфигурацию или отдельные её объекты на полную поддержку поставщика (вернуть «замочки»). Например, когда доработанный вами функционал появился в новом релизе от фирмы «1С», или если вы решили перенести все свои доработки в расширение конфигурации, чтобы сделать основную базу снова полностью типовой. Рассмотрим три основных сценария возврата «замка».
Если вам больше не нужны внесенные изменения, и вы хотите сделать конфигурацию абсолютно типовой, выполните следующие действия:
.cf (файл конфигурации).1Cv8.cf.Если вам необходимо сохранить разработанный функционал, но при этом очистить основную конфигурацию и вернуть её на замок, воспользуйтесь следующим алгоритмом:
cf текущего релиза в основную конфигурацию).Если в процессе разработки вы случайно сняли замок с какого-то объекта, но сам объект фактически не редактировался, или вы хотите вернуть его в исходное типовое состояние, не затрагивая другие ваши доработки в основной конфигурации, выполните следующие шаги:
Таким образом, мы детально разобрали все возможные варианты управления поддержкой в среде «1С:Предприятие 8». Всегда отдавайте предпочтение использованию расширений, а при необходимости внесения изменений непосредственно в метаданные — используйте точечное изменение правил поддержки, минимизируя область редактирования типового кода.