Расширение конфигурации 1С
Расширение конфигурации 1С - это специальный тип конфигурации, не существующий автономно от основной конфигурации, но позволяющий расширять, дополнять и переопределять функционал и структуру данных основной конфигурации.
Расширение конфигурации может быть сохранено в файл в формате *.cfe, или же выгружен в структуру файлов *.xml. Структура расширения конфигурации и основной конфигурации идентична.
Расширение является дополнительным модулем, подключаемым к основной конфигурации, позволяющим значительно расширить возможности решения без снятия основной конфигурации с поддержки. Расширения не могут видеть друг друга в Конфигураторе, но могут взаимодействовать друг с другом на уровне 1С:Предприятия.
Расширение добавляется через конфигуратор, либо подключается в пользовательском режиме. Возможности расширения имеют определенные ограничения, зависящие от используемой версии платформы, а также режима совместимости конфигурации
При работе с расширениями есть ряд рекомендаций как лучше всего расширять функционал типовой конфигурации:
- При захвате форм никогда не захватывать, не добавлять и не изменять реквизиты формы. Все изменения в реквизитах форм выполнять программно с использованием библиотеки форм ЛарджСпейс.
- При расширении кода использовать &Перед и &После, если необходимо выполнить независимые от основного кода действия
- При расширении типовой процедуры или функции использовать аннотацию &ИзменениеИКонтроль (это упрощает в дальнейшем адаптацию метода под новые изменения)
- Использовать аннотацию &Вместо только для тех случаев, когда нужно в определенных ситуациях выполнить собственный код. В процедуре, расширенной с помощью &Вместо, обязательно должен присутствовать метод ПродолжитьВызов(). Также данную аннотацию можно использовать для замера производительности или для сохранения данных до выполнения метода с последующим восстановлением после выполнения.
- Изменение текстов запросов динамических списков выполнять только программным путем с использованием библиотеки форм ЛарджСпейс.
- Как можно меньше изменять типовые процедуры и функции, отдавая предпочтения собственной реализации.