Глобальный контекст.ПродолжитьВызов

Методы · ProceedWithCall

Вызывает переопределенный метод или обработчик события из расширяемой конфигурации. Функция предназначена только для однократного вызова. Использовать функцию можно только в расширениях и только с аннотацией &Вместо.

Синтаксис

ПродолжитьВызов(<Значение1,...,ЗначениеN>)

Примеры платформы

&Вместо("Процедура1")
Процедура Расш1_Процедура1(Парам1)
    ...
    ПродолжитьВызов(Парам1);
    ...
КонецПроцедуры
&Вместо("Функция1")
Функция Расш1_Функция1(Парам1)
    ...
    Перем1 = ПродолжитьВызов(Парам1);
    Возврат Перем1;
КонецПроцедуры
&Вместо("ПриЗаписи")
Процедура Расш1_ПриЗаписи(Отказ)
    ...
    ПродолжитьВызов(Отказ);
КонецПроцедуры
Полное описание, параметры и ограничения

Глобальный контекст.ПродолжитьВызов (Global context.ProceedWithCall)

Глобальный контекст (Global context)

ПродолжитьВызов (ProceedWithCall)

Доступен, начиная с версии 8.3.9.

Синтаксис:
ПродолжитьВызов(<Значение1,...,ЗначениеN>)
Параметры:

<Значение1,...,ЗначениеN> (необязательный)
Тип: Произвольный.
Набор параметров, который передается в переопределенный метод из метода модуля заимствованного объекта. Количество и типы параметров определяются методом из модуля расширяемого объекта.
Максимальное возможное количество параметров - 50.
Возвращаемое значение:
Тип: Произвольный.
Возвращаемое значение переопределенной функции.
Описание:

Вызывает переопределенный метод или обработчик события из расширяемой конфигурации.
Функция предназначена только для однократного вызова. Использовать функцию можно только в расширениях и только с аннотацией &Вместо.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, интеграция.

Пример:

// пример с переопределенной процедурой

&Вместо("Процедура1")
Процедура Расш1_Процедура1(Парам1)
...
ПродолжитьВызов(Парам1);
...
КонецПроцедуры

// пример с переопределенной функцией

&Вместо("Функция1")
Функция Расш1_Функция1(Парам1)
...
Перем1 = ПродолжитьВызов(Парам1);
Возврат Перем1;
КонецПроцедуры

// пример с переопределенным обработчиком

&Вместо("ПриЗаписи")
Процедура Расш1_ПриЗаписи(Отказ)
...
ПродолжитьВызов(Отказ);
КонецПроцедуры

Использование в версии:

Доступен, начиная с версии 8.3.9.

Описание изменено в версии 8.3.21.

Методическая информация

Практические примеры

Продолжить свою функцию из расширения ровно один раз

ПродолжитьВызов работает в расширении с аннотацией Вместо. Параметры должны совпадать с заимствованной функцией.

Где и как запускать

Серверный общий модуль собственного расширения, аннотация Вместо.

Подготовка

  1. Вставьте блок в модуль собственной управляемой формы. Клиентскую процедуру вызовите из обработчика своей кнопки; серверную — через собственный серверный обработчик команды. Специальное место вставки указано отдельно.

  2. В своей учебной конфигурации создайте серверный общий модуль УчебныеРасчеты с экспортной функцией Сложить(Первое, Второе), возвращающей Первое + Второе. Заимствуйте этот модуль в собственное расширение; вставьте блок в его модуль, не в форму.

&Вместо("Сложить")
Функция УчебноеРасширениеСложить(Первое, Второе)
    РезультатОсновнойФункции = ПродолжитьВызов(Первое, Второе);
    Сообщить("Основная функция вернула: " + Строка(РезультатОсновнойФункции));
    Возврат РезультатОсновнойФункции;
КонецФункции

Разбор по шагам

  1. Создайте реальную исходную функцию и заимствуйте модуль.

  2. Переопределите Сложить через Вместо.

  3. Вызовите исходный модуль со значениями 50 и 75.

Как проверить результат

  1. ПродолжитьВызов встречается один раз.

  2. Расширение возвращает настоящий результат исходной функции 125.

Ожидаемый результат

Показан вызов расширяемой функции с сохранением ее результата.

На что обратить внимание

  1. Нельзя вызывать в обычном модуле или повторно в том же переопределении. Не переносите пример на чужую функцию с другими параметрами.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.