[ Вопрос дня ] Зачем нужен метод “ПродолжитьВызов()” в расширениях?

Доброго дня, коллеги!

Бывает, что у слушателя, прошедшего обучение, остаются вопросы. В этом случае тренер еще раз разъясняет материал в Мастер-группе, акцентирует внимание на деталях, приводит примеры.

Ниже мы публикуем ответ тренера на вопрос о назначении метода ПродолжитьВызов() и прикладываем слайд из методических материалов курса Разработка расширений и технологии доработки конфигураций 1С без снятия с поддержки.

Вопрос

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

Ответ тренера

Если в расширении используется аннотация &Вместо(), то никаким другим образом, кроме метода ПродолжитьВызов(), нельзя вызвать код заменяемой процедуры.

Допустим, в основной конфигурации есть общий модуль «ОстаткиТоваров», а в нем – экспортная процедура ПолучитьОстаткиТоваров(). В коде конфигурации данная процедура будет вызываться как ОстаткиТоваров.ПолучитьОстаткиТоваров(). При ее вызове будет выполнен код, который указан в соответствующей процедуре.

Если подключить расширение, заимствовать процедуру общего модуля и указать аннотацию &Вместо(“ПолучитьОстаткиТоваров”), то при вызове ОстаткиТоваров.ПолучитьОстаткиТоваров() будет выполнен только код процедуры из расширения.

Выполнить следом код первоначальной заменяемой процедуры возможно лишь с помощью метода ПродолжитьВызов() (Рисунок 1).

Рисунок 1 – Хронология выполнения функций

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вход на сайт

Зарегистрироваться

Подтверждение регистрации будет отправлено на указанный e-mail.

Я подтверждаю, что ознакомлен(а) с Пользовательским соглашением, принимаю его условия и даю свое согласие на обработку моих персональных данных.

Восстановить доступ

E-mail или логин

Ссылка на создание нового пароля будет отправлена на указанный e-mail.