Вызывает переопределенный метод или обработчик события из расширяемой конфигурации. Функция предназначена только для однократного вызова. Использовать функцию можно только в расширениях и только с аннотацией &Вместо.
Синтаксис
ПродолжитьВызов(<Значение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.
Методическая информация
Практические примеры
Продолжить свою функцию из расширения ровно один раз
ПродолжитьВызов работает в расширении с аннотацией Вместо. Параметры должны совпадать с заимствованной функцией.
Где и как запускать
Серверный общий модуль собственного расширения, аннотация Вместо.
Подготовка
Вставьте блок в модуль собственной управляемой формы. Клиентскую процедуру вызовите из обработчика своей кнопки; серверную — через собственный серверный обработчик команды. Специальное место вставки указано отдельно.
В своей учебной конфигурации создайте серверный общий модуль УчебныеРасчеты с экспортной функцией Сложить(Первое, Второе), возвращающей Первое + Второе. Заимствуйте этот модуль в собственное расширение; вставьте блок в его модуль, не в форму.
&Вместо("Сложить")
Функция УчебноеРасширениеСложить(Первое, Второе)
РезультатОсновнойФункции = ПродолжитьВызов(Первое, Второе);
Сообщить("Основная функция вернула: " + Строка(РезультатОсновнойФункции));
Возврат РезультатОсновнойФункции;
КонецФункцииРазбор по шагам
Создайте реальную исходную функцию и заимствуйте модуль.
Переопределите Сложить через Вместо.
Вызовите исходный модуль со значениями 50 и 75.
Как проверить результат
ПродолжитьВызов встречается один раз.
Расширение возвращает настоящий результат исходной функции 125.
Ожидаемый результат
Показан вызов расширяемой функции с сохранением ее результата.
На что обратить внимание
Нельзя вызывать в обычном модуле или повторно в том же переопределении. Не переносите пример на чужую функцию с другими параметрами.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.