В чём разница
Прямая доработка правит объекты самой конфигурации: формы, модули, документы. Расширение оформляет изменения отдельным слоем: оно заимствует объекты типовой и добавляет свои, не трогая оригинал. При запуске платформа накладывает расширение на конфигурацию — для пользователя это единая программа.
Ключевое следствие: типовая конфигурация с расширением остаётся «на замке» — обновления поставщика ставятся штатно. Доработанная конфигурация требует возможности изменения или снятия с поддержки, и каждый релиз превращается в проект по сравнению и объединению.
Что выбирать и когда
- Новые реквизиты, печатные формы, обработчики событий, дополнительные проверки — расширение покрывает штатно.
- Изменение логики типового механизма, которое расширение не перехватывает, — кандидат на доработку, но сначала проверяют обходные пути.
- Новый блок функциональности целиком — подсистема в расширении или отдельная разработка.
- Доработка типовой оправдана, когда расширение задачу физически не решает — и это отдельное, осознанное решение.
Ограничения расширений
Расширение не всесильно: не всякий объект можно заимствовать, не каждый метод перехватить нужным образом, а часть сценариев (например, изменение некоторых движений документов) решается в расширении сложнее или нерешаема. Это не догма, а инженерный компромисс — границы проверяются под конкретную задачу.
Цена владения
Расширение дороже в разработке там, где приходится обходить ограничения механизма, но дешевле во владении: обновления не ломаются, откат — снять отметку активности. Доработка проще в отдельных правках, но каждое обновление конфигурации требует ручной сверки — и это регулярная статья расходов, а не разовая.