Расширение конфигурации очень похоже на обычную конфигурацию. Оно также представляется в виде дерева объектов. Для работы с расширением используются те же приемы работы, что и с обычной конфигурацией.
Использование расширений позволяет значительно упростить адаптацию типового приложения к потребностям конкретного внедрения, конкретного заказчика.
Часто заказчик хочет что-то добавить или что-то изменить в типовой конфигурации «под себя». Стратегия, предлагаемая расширениями, заключается в том, что изменять типовую конфигурацию не нужно. Все изменения выполняются в расширении, которое, по сути, тоже является конфигурацией.
После этого, в режиме «1С:Предприятие», расширение просто подключается к типовой конфигурации. Платформа автоматически объединяет расширение с типовой конфигурацией. В результате заказчик работает с измененным, по его желаниям, типовым решением.
Когда поставщик выпускает новую версию типовой конфигурации, выполняется ее автоматическое обновление, поскольку режим поддержки типовой конфигурации не менялся. Она осталась на полной поддержке поставщика. А при запуске обновленного приложения платформа снова автоматически объединит измененную типовую конфигурацию с расширением. И заказчик продолжит работать с измененным, по его желаниям, типовым решением.
Расширения незаменимы тогда, когда приложение работает в режиме разделения данных (см. «Механизм разделения данных»).
Например, в модели сервиса (см. «1С:Облачная подсистема Фреш»). Один из абонентов хочет иметь пару дополнительных отчетов. В то время как остальные абоненты хотят работать с исходной типовой конфигурацией.
Тогда именно для этого абонента можно разработать расширение, в котором и реализовать все его пожелания. Абонент подключит себе это расширение и будет работать с измененной конфигурацией. В то время как для остальных абонентов никаких изменений не произойдет. Потому что все расширения подключаются и запускаются в разрезе текущих значений разделителей. При этом существует возможность применить расширение и для всех областей разделенной информационной базы.
Другая ситуация - это доработки типовой конфигурации под конкретного заказчика у него на внедрении. Или же доработки типовой конфигурации, которые выполняют для себя IT специалисты заказчика собственными силами. Если все эти доработки выполнить в расширении, то типовая конфигурация останется на полной поддержке, что значительно упростит ее дальнейшее сопровождение.
Подробнее о расширении — см. «Расширение конфигурации».
В проекте расширения конфигурации содержится одно расширение. Такой проект желательно связать с проектом конфигурации (свойство Базовый проект). Тогда контекст конфигурации будет доступен вам при разработке этого расширения, а при запуске конфигурации будет применяться и это расширение.
Если вы импортируете конфигурацию из информационной базы, то сразу можете импортировать и все расширения, которые есть в базе. Будет создан один проект для конфигурации, а также свой отдельный проект для каждого расширения. Причем проекты расширений сразу будут связаны с проектом конфигурации.
Но можно импортировать из базы только одно или несколько расширений. И связать их с проектом другой конфигурации. Или вовсе не связывать, а разрабатывать независимо.
Чтобы создать новый проект для разработки расширения, в панели Навигатор нажмите в контекстном меню пустой области.
1C:EDT автоматически заполнит все необходимые поля диалога, так что можно просто нажать Готово. Но обычно все же разработчики задают собственное имя расширения, позволяющее идентифицировать разрабатываемое расширение среди других приложений «1С:Предприятия», а также его префикс.
Также можно сразу задать базовый проект — это облегчит разработку и отладку расширения. Базовый проект — это один из проектов в рабочей области, содержащий конфигурацию, для работы с которой создается расширение и вместе с которой оно будет запускаться и отлаживаться. Контекст базового проекта будет доступен при разработке расширения. Если указан базовый проект, то имя проекта расширения формируется автоматически по принципу: <имя базового проекта>.<имя проекта расширения>. Таким образом, все проекты расширений будут находиться рядом с базовым проектом;
Если вы не указали базовый проект сразу, можете сделать это позже, в редакторе проекта расширения конфигурации.
Можно импортировать расширения из информационной базы двумя способами:
Если расширение перестало применяться к конфигурации по причине того, что конфигурация изменилась, некоторые проблемы применения можно исправить автоматически, с помощью механизма быстрого исправления, который есть в редакторе встроенного языка.
В настоящий момент он может исправить только одну категорию ошибок, но его возможности будут развиваться.
Если в конфигурации изменилась сигнатура расширяемого метода, можно нажать на значок ошибки в вертикальной линейке редактора встроенного языка. Быстрое исправление предложит вам автоматически заменить сигнатуру расширяющего метода.
Чтобы изменить свойства проекта расширения, нажмите Открыть редактор проекта в контекстном меню проекта.
В панели Навигатор нажмите Открыть редактор проекта в контекстном меню проекта.