Функция (Function)
страницаФункция (Function)
Синтаксис:
[Асинх] Функция <Имя_функции>([[Знач] <Параметр1>[=<ЗначениеПоУмолчанию>], ... ,[Знач] <ПараметрN>[=<ЗначениеПоУмолчанию>]])[Экспорт]
//Объявления локальных переменных;
// Операторы ;
...
Возврат <Возвращаемое значение>;
// Операторы ;
...
КонецФункции
Параметры:
Асинх
Модификатор применим только к функции, выполняемой на клиенте. Позволяет указать, что функция является асинхронной. Асинхронная функция всегда возвращает объект типа Обещание. Асинхронная функция выполняется синхронно до первого оператора Ждать. После этого функция возвращает значение типа Обещание, и управление передается вызывающей стороне. Дальнейшее исполнение текущей функции происходит асинхронно. Когда результат получен, Обещание наполняется полученным значением. Если функция выбрасывает исключение, оно может быть перехвачено вызывающей стороной.
Параметры асинхронных функций передаются только по значению (неявно подставляется Знач).
<Имя_функции>
Назначает имя функции.
Знач
Необязательное ключевое слово, которое указывает на то, что следующий за ним параметр передается по значению, т.е. изменение значения формального параметра при выполнении функции никак не повлияет на фактический параметр, переданный при вызове функции. Если это ключевое слово не указано, то параметр функции передается по ссылке, то есть изменение внутри функции значения формального параметра приведет к изменению значения соответствующего фактического параметра.
<Параметр1>, ..., <ПараметрN>
Необязательный список формальных параметров, разделяемых запятыми. Значения формальных параметров должны соответствовать значениям передаваемых при вызове функции фактических параметров. В этом списке определяются имена каждого из параметров так, как они используются в тексте функции. Список формальных параметров может быть пуст.
=<ЗначениеПоУмолчанию>
Необязательная установка значения параметра по умолчанию. Параметры с установленными значениями по умолчанию можно располагать в любом месте списка формальных параметров (подробнее см. раздел "Передача параметров процедур и функций" справки).
Экспорт
Необязательное ключевое слово, которое указывает на то, что данная функция является доступной из других программных модулей.
// Объявления локальных переменных
Объявляются локальные переменные, на которые можно ссылаться только в рамках этой функции (см. оператор Перем).
// Операторы
Исполняемые операторы функции.
Возврат <Возвращаемое значение>
Ключевое слово, которое завершает выполнение функции и возвращает указанное значение в выражение, в котором используется функция.
В качестве возвращаемого значения может выступать выражение или переменная, значение которого содержит результат обращения к функции.
КонецФункции
Обязательное ключевое слово, обозначающее конец исходного текста функции.
Описание:
Ключевое слово Функция начинает секцию исходного текста функции, выполнение которой можно инициировать из любой точки программного модуля, просто указав <Имя_функции> со списком параметров (если параметры не передаются, то круглые скобки, тем не менее, обязательны). Если в модуле обычного, управляемого приложения, внешнего соединения, сеанса или общем программном модуле в теле описания функции использовано ключевое слово Экспорт, то это означает, что данная функция является доступной из всех других программных модулей конфигурации.
Функции отличаются от процедур только тем, что возвращают <Возвращаемое значение>. Конец программной секции функции определяется по ключевому слову КонецФункции.
Вызов любой функции в тексте программного модуля можно записывать как вызов процедуры, т.е. в языке допускается не принимать от функции возвращаемое значение.
Переменные, объявленные в теле функции в разделе "Объявления локальных переменных", являются локальными переменными данной функции, поэтому доступны только в этой функции (за исключением случая передачи их как параметров при вызове других процедур, функций или методов).