Основная информация о механизме расширений описана в статье Расширения конфигураций 1С для платформы 8.3.6.
Переопределение процедур и функций (событий) При переопределении событий, имя процедуры состоит из: Расш1_ (Наименование расширения) ПриОткрытии (Наименование переопределяемого события) Перед, После, Вместо (Порядок выполнения)
&НаКлиенте Процедура Расш1_ПриОткрытииПеред(Отказ) //Программный код //Программный код //Программный код КонецПроцедуры
&НаКлиенте Процедура Расш1_ПриОткрытииПосле(Отказ) //Программный код //Программный код //Программный код КонецПроцедуры
&НаКлиенте Процедура Расш1_ПриОткрытииВместо(Отказ) //Программный код //Программный код //Программный код КонецПроцедуры
Переопределение процедур и функций (не событий) Начиная с версии платформы 8.3.9 в расширениях модулей стало доступно переопределение процедур и функций. Для переопределения существуют специальные конструкции (Аннотации) встроенного языка, которые задают порядок вызова методов.
Метод расширения ПродолжитьВызов() - вызывает процедуру или функцию основной конфигурации, которая в данный момент переопределяется и может принимать на вход параметры и возвращать значение переопределяемой процедуры или функции.
&Перед - означает что процедура "РассчитатьОстаткиСвоя" будет выполнена перед вызовом "РассчитатьОстатки".
&Перед("РассчитатьОстатки") Процедура РассчитатьОстаткиСвоя() //Программный код //Программный код //Программный код КонецПроцедуры &После - означает что процедура "РассчитатьОстаткиСвоя" будет выполнена после вызова "РассчитатьОстатки".
&После("РассчитатьОстатки") Процедура РассчитатьОстаткиСвоя() //Программный код //Программный код //Программный код КонецПроцедуры &Вместо - означает что процедура "РассчитатьОстаткиСвоя" будет выполнена вместо "РассчитатьОстатки".
&Вместо("РассчитатьОстатки") Процедура РассчитатьОстаткиСвоя() //Программный код //Программный код //Программный код КонецПроцедуры Функции отличаются от процедур тем свойством, что могут возвращать значение. Поэтому для функций может использоваться только анотация &Вместо и метод ПродолжитьВызов().
&Вместо("РассчитатьОстатки") Функция РассчитатьОстаткиСвоя(Параметр) Значение = ПродолжитьВызов(Параметр) //Программный код //Программный код //Программный код Возврат Значение; КонецФункции
|