Часто в процессе разработки конфигураций на платформе 1С возникает необходимость переместить созданный функционал из основной конфигурации в расширение. Разберем детально, как это сделать и какие подводные камни стоит учитывать при выполнении такой задачи.
Для того чтобы перенести объект (например, справочник, документ или обработку) из основной конфигурации в расширение, мы можем воспользоваться стандартным механизмом платформы:
После этой операции объект появится в расширении. Важно понимать, что при копировании GUID (глобальный уникальный идентификатор) объекта изменится. Для платформы это будет абсолютно новая сущность, даже если внешне объект выглядит идентично.
Прежде чем приступать к удалению объекта из основной конфигурации, необходимо проанализировать возможные последствия:
XML или JSON), удалить старый объект, создать новый в расширении и загрузить данные обратно.Не всегда перенос объектов в расширение является лучшим решением. Рассмотрим стратегии разработки:
1. Разработка в основной конфигурации
Если возможность внесения изменений в основную конфигурацию открыта (конфигурация снята с поддержки или позволяет модификацию), создание новых объектов непосредственно там — зачастую более надежный путь. Это позволяет использовать штатный инструмент СравнениеИОбъединение при обновлении на новые релизы от поставщика. Вы будете видеть все конфликты кода в едином окне.
2. Использование расширений
Расширения отлично подходят для:
Если вы решили использовать расширения для модификации типовых процедур, помните: при каждом обновлении релиза от поставщика вам необходимо проверять работоспособность расширения. Изменения в коде ядра (в основной конфигурации) могут привести к тому, что вызовы из вашего расширения станут неактуальными или вызовут ошибки исполнения. В случае правок непосредственно в основной конфигурации процесс обновления требует большего внимания, но дает прозрачную картину изменений.
В завершение, если конфигурация уже активно дорабатывается и вы не планируете отказ от собственного кода, взвесьте все затраты на перенос данных и переписывание ссылок. Иногда проще и безопаснее оставить доработки там, где они были созданы изначально, обеспечив при этом качественную документацию для последующих обновлений.