# Подпрограммы

Функции возвращают одно значение, процедуры выполняют операции и могут изменять переданные параметры. Переменные, объявленные в теле подпрограммы, локальные.

Общие определения:

Знач - Следующий за ним параметр передается по значению. По умолчанию параметр процедуры передается по ссылке.

&lt;Парам1&gt;, ..., &lt;ПарамN&gt; - Список формальных параметров, разделяемых запятыми, может быть пуст.

=&lt;ДефЗнач&gt;- Установка значения параметра по умолчанию.

Экспорт - Данная процедура доступна из других программных модулей.

**Описание процедуры:**

```
Процедура <Имя_процедуры>([[Знач] <Парам1> [=<ДефЗнач>], ... ,[Знач] <ПарамN> [=<ДефЗнач>]])[Экспорт] 
// Операторы;
[Возврат;]
КонецПроцедуры
```

Параметры:

Возврат - Завершает выполнение процедуры и осуществляет возврат. Не обязательно.

КонецПроцедуры - Обязательное ключевое слово, обозначающее конец исходного текста процедуры, завершение выполнения процедуры.

**Описание функции:**

```
Функция <Имя_функции>([[Знач] <Парам1> [=<ДефЗнач>], ... ,[Знач] <ПарамN> [=<ДефЗнач>]])[Экспорт] 
// Операторы ;
Возврат <Возвращаемое значение>;
КонецФункции
```

Возврат &lt;Возвращаемое значение&gt; Завершает выполнение функции и возвращает значение.  
Возврат; Завершает выполнение процедуры.

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

Функции отличаются от процедур только тем, что возвращают &lt;Возвращаемое значение&gt;. Конец программной секции функции определяется по ключевому слову КонецФункции.

Вызов функции можно записывать как вызов процедуры, т.е. допускается не принимать от функции возвращаемое значение.