В статье рассматриваются основы механизма расширений – зачем они нужны, какие подводные камни при их использовании, и примеры использования.
Содержание
Что такое расширения 1С простыми словами?
По сути, расширение – это особый вид конфигурации, который предназначен для использования “поверх” основной конфигурации (ее в этом случае называют расширяемой). Расширение использует объекты основной конфигурации, а потому самостоятельно работать не может. Можно в этом плане сравнить расширения 1С с плагинами для браузеров или надстройками в MS Office.
Расширения нужны для доработки прикладного решения без внесения изменений в основную конфигурацию. Это позволяет не снимать с поддержки типовые решения и упрощает процесс обновления.
Какие бывают расширения?
1С предусматривает 3 вида расширений, исходя из их назначения.
- Исправление – данное назначение следует использовать для исправления ошибок в конфигурации. Следует понимать, что расширения 1С с таким назначением рассчитаны на конкретную версию конфигурации, и могут перестать работать после обновления. В базе может быть подключено несколько расширений – исправлений, но важно следить, чтобы не было конфликтов между такими расширениями. В некоторых типовых решениях 1С реализован механизм автоматической установки исправлений (патчей).
- Адаптация – как следует из названия, такие расширения предназначены для доработки конфигурации под условия конкретного заказчика. Рекомендуется обходиться минимальным количеством одновременно подключенных расширений с таким назначением. Если адаптацию выполняет одна команда разработчиков, лучше стараться обойтись одним расширением. Если же это невозможно, то рекомендуется делить расширения – адаптации по максимально крупным блокам.
- Дополнение – расширения с таким назначением следует применять для разработки новой функциональности, которая минимально связана с конкретными версиями прикладных решений. Такие расширения не должны учитывать наличие в системе расширений с другими назначениями, должны корректно работать после обновления версии конфигурации. Таких расширений в базе данных может быть подключено неограниченное количество. Предполагается, что дополнения – наиболее независимый от других конфигураций вид расширений, вплоть до того, что такое расширение можно применять на самых различных конфигурациях с разной структурой.
Список выше пронумерован не просто так. Расширения применяются к расширяемой конфигурации последовательно. Сперва подключаются исправления, затем добавляются расширения для адаптации, и в последнюю очередь – дополнения.
Разработка расширений
Приемы работы с расширениями во многом схожи с разработкой конфигураций. Точно также можно добавлять и редактировать объекты в дереве метаданных, модули, формы.
Но отличительной особенностью является возможность заимствования объектов из расширяемой конфигурации. В этом случае разработчик может переопределить поведение объекта, его внешний вид, добавить новую функциональность. Добавить объект в расширение можно при помощи контекстного меню:
Проверка возможности применения расширения
До запуска в пользовательском режиме можно проверить совместимость расширения и расширяемой конфигурации.
Это можно сделать в конфигураторе в окне “Расширения конфигурации” – как для текущего выделенного расширения, так и для всех подключенных расширений одновременно.
Также проверку можно выполнить в пользовательском режиме при помощи стандартной обработки “Управление расширениями конфигурации”.
Менее часто используемые способы проверки – средствами встроенного языка и при пакетном запуске конфигуратора.
Подводные камни при использовании расширений 1С
При разработке и подключении расширений следует учитывать возможность расширений работать в безопасном режиме и защиту от опасных действий. Кроме того, при обновлениях или внесении доработок в основную конфигурацию, нужно проверять работоспособность расширений. Также, следует обновлять заимствованные объекты, если они были изменены в расширяемой конфигурации.
Помимо перечисленного, при работе с расширениями следует учитывать режим совместимости конфигурации и самого расширения. Расширения на настоящий момент имеют некоторые ограничения – т.е. поддерживаются не все объекты, есть ограничения на определяемые типы и др. С каждой новой версией платформы часть ограничений уходит в прошлое, становятся доступны новые возможности и функциональность, поэтому особое внимание следует обращать на версию платформы, для которой предназначено расширение.
Примеры использования расширений
Исправления ошибок конфигураций, находящихся на поддержке, до выхода очередного обновления.
Доработка конфигурации под потребности клиента – например, изменение алгоритма проведения документов, изменение прав доступа пользователей, изменение проверки реквизитов у справочников, и т.п.
Создание универсального расширения, не привязанного к конфигурации – например, с набором отчетов и обработок для разработчика, подсистема с http- или веб-сервисами, и др.