1CLenta.ru  

Переопределение процедур и функций в расширении конфигурации

Настройка системы     15.01.2018 13:55     1376

Основная информация о механизме расширений описана в статье Расширения конфигураций 1С для платформы 8.3.6.

Переопределение процедур и функций (событий)


При переопределении событий, имя процедуры состоит из:
Расш1_ (Наименование расширения)
ПриОткрытии (Наименование переопределяемого события)
Перед, После, Вместо (Порядок выполнения)

&НаКлиенте
Процедура Расш1_ПриОткрытииПеред(Отказ)
//Программный код
//Программный код
//Программный код
КонецПроцедуры

&НаКлиенте
Процедура Расш1_ПриОткрытииПосле(Отказ)
//Программный код
//Программный код
//Программный код
КонецПроцедуры

&НаКлиенте
Процедура Расш1_ПриОткрытииВместо(Отказ)
//Программный код
//Программный код
//Программный код
КонецПроцедуры


Переопределение процедур и функций (не событий)


Начиная с версии платформы 8.3.9 в расширениях модулей стало доступно переопределение процедур и функций. Для переопределения существуют специальные конструкции (Аннотации) встроенного языка, которые задают порядок вызова методов.

Метод расширения ПродолжитьВызов() - вызывает процедуру или функцию основной конфигурации, которая в данный момент переопределяется и может принимать на вход параметры и возвращать значение переопределяемой процедуры или функции.

&Перед - означает что процедура "РассчитатьОстаткиСвоя" будет выполнена перед вызовом "РассчитатьОстатки".
&Перед("РассчитатьОстатки")
Процедура РассчитатьОстаткиСвоя()
//Программный код
//Программный код
//Программный код
КонецПроцедуры

&После - означает что процедура "РассчитатьОстаткиСвоя" будет выполнена после вызова "РассчитатьОстатки".
&После("РассчитатьОстатки")
Процедура РассчитатьОстаткиСвоя()
//Программный код
//Программный код
//Программный код
КонецПроцедуры

&Вместо - означает что процедура "РассчитатьОстаткиСвоя" будет выполнена вместо "РассчитатьОстатки".
&Вместо("РассчитатьОстатки")
Процедура РассчитатьОстаткиСвоя()
//Программный код
//Программный код
//Программный код
КонецПроцедуры

Функции отличаются от процедур тем свойством, что могут возвращать значение. Поэтому для функций может
использоваться только анотация &Вместо и метод ПродолжитьВызов().

&Вместо("РассчитатьОстатки")
Функция РассчитатьОстаткиСвоя(Параметр)
Значение = ПродолжитьВызов(Параметр)
//Программный код
//Программный код
//Программный код
Возврат Значение;
КонецФункции

Комментарии (0)

Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться

 
 


Регистрация