Создано расширение с общим модулем, в котором прописаны заготовки требуемых функций, этакий интерфейс.
Требуется создать несколько реализаций этого интерфейса, на различные конфигурации.
Пробую использовать директиву &Вместо, чтобы переопределить метод интерфейса во втором расширении, но система его не видит.
Попробовал разные методы, выяснил, что даже если во втором расширении объявить метод, аналогичный тому, что в первом расширении, ничего не произойдет. Ни ошибок, ни исключений... Как будто его и нет. Если же убрать метод из первого расширения, то метод из второго работает отлично.

Собственно, вопрос: можно ли расширять расширения =)
---
Насколько я понимаю, расширения работают не так. Отвечая на последний вопрос из (1): нельзя.
Перехват и последовательность вызова построена вокруг расширяемого метода расширяемой конфигурации. И все расширения, независимо от порядка их подключения, являются расширяющими конфигурациями. Так что изначальная идея сработает только в том случае, если модуль-интерфейс добавлять непосредственно в конфигурацию, в расширениях переопределять методы этого модуля.
---
вообще если читать описание расширений то порядок расширений идет от последнего т.е. сначала выполняется расш.2 потом Расш.1 потом код основной. Может проблема в этом
---
Не выполняется код второго расширения, при наличии альтернативы в первом.
---
Правильно , сначала выполняется код из расширения 2 , потом код из расширения 1 . попробуйте выводить сообщение из расширений например Сообщить ("Это расширение 2") Сообщить("это расширение1")
---
Я именно так и делаю =) И если в первом расширении есть вызываемая процедура, то срабатывает именно она, независимо от того как я ее переопределяю во втором расширении.
---
Посмотри https://wonderland.v8.1c.ru/blog/rasshirenie-moduley/?sphrase_id=12248
Обрати внимание на Реализовано в версии 8.3.9.1818
---
оттуда же:
Но при работе приложения, естественно и очевидно, существует некоторая последовательность вызова подключенных расширений. Эта последовательность известна и сейчас мы о ней расскажем. Но расскажем мы не для того, чтобы на её основе вы создавали взаимозависимые расширения, или расширения, подразумевающие единственную жёстко определённую последовательность подключения. А для того, чтобы вы могли разбирать возникающие проблемы и отлаживать программный код.

Уверены, что порядок подключения никогда не нарушится или что-то не поменяется на стороне 1С?
---
Насколько я знаю, при работе расширений система динамически генерирует контент. В моем случая я в расширении_1 описываю функцию НекаяФункция(), а в расширении_2 применяю директиву &Вместо("НекаяФункция"), после которой описываю реализацию этой функции.
---
Насколько я понимаю, расширения работают не так. Отвечая на последний вопрос из (1): нельзя.
Перехват и последовательность вызова построена вокруг расширяемого метода расширяемой конфигурации. И все расширения, независимо от порядка их подключения, являются расширяющими конфигурациями. Так что изначальная идея сработает только в том случае, если модуль-интерфейс добавлять непосредственно в конфигурацию, в расширениях переопределять методы этого модуля.
---
даже в примерах по ссылке из (6) везде присутствует &Вместо("Типовая")
---
ну, я по сути пришел к такому же выводу. Поэтому просто перенес конфигурационно-зависимые куски кода в отдельное расширение, без "интерфейса". Жаль. Спасибо за диалог.
---
можно вот тут ещё почерпнуть идей http://infostart.ru/public/402490/
Может быть автор чем поможет.
---
ещё можно пойти методом типовых, когда используется "имя модуля - переменная".
Т.е. сначала мы как-то решаем, какой из модулей использовать, получаем его в "МодульМенеджер", а потом уже везде используем

```1c
    МодульМенеджер.ПолучитьОсновнойСкдад(Пользователь)
```
---
Шикарная статья.
(15) Было принято решение уйти от определения конфигурации в коде, и просто сделать несколько отдельный расширений, по одному на поддерживаемую конфигурацию. Устал разгребать Если ВерсияКонфы = "УТ" Тогда...
---
можно попробовать сделать генерацию модуля-интерфейса через СКД или макет, как в п. 6 вышеуказанной статьи.
---
у меня почему-то складывается впечатление, что с точки зрения разработки проще будет поддерживать именно одно расширение, с механизмом подстановки кода по типу статьи из (14). Кстати, вот тут схожий механизм чуть подробнее раскрывается.
---
каждый модуль отвечает за свою часть работы. Есть один модуль, который реализует независимую от конфигурации часть функционала, и несколько модулей под разные конфигурации. Разработка упрощается за счет того, что модули друг о друге ничего не знают, и практически полностью независимы, за исключением интерфейса взаимодействия. Из статьи я не увидел генерации кода модуля. Генерацию запросов да, вижу. Но запросами все не ограничивается.
---
разработка идет на 8.3.9.2170.
---
Кстати... попробую &Перед или & После