Инструменты пользователя

Инструменты сайта


1c:база:процедуры_и_функции

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
1c:база:процедуры_и_функции [2014/06/14 10:31]
127.0.0.1 внешнее изменение
1c:база:процедуры_и_функции [2016/10/21 07:47] (текущий)
alex Документирование функций
Строка 1: Строка 1:
 +====== Процедуры и функции ======
 +Процедуры и функции используются для выделения отдельных алгоритмов, разбития кода на логические участки или для избежания дублирования кода. Функция отличается от процедуры тем, что возвращает значение. 
 +
 +===== Параметры =====
 +У процедур и функций может быть сколько угодно параметров или может не быть вообще. Параметры могут быть обязательными и необязательными(в таком случае необходимо указать значения параметров по умолчанию). Обычно обязательные параметры указываются вначале, необязательные в конце. 
 +
 +===== Передача параметров в процедуру или функцию =====
 +В функцию или процедуру параметры передаются по ссылке(не создается отдельная копия, а передается ссылка на эту переменную, изменение параметра повлечет за собой изменение переменной), но если при определении процедуры/функции перед параметром указать ''Знач'' например:
 +<code 1c>Процедура(Знач ПростоПараметр)</code> то в функцию будет передаваться не ссылка на переменную а ее копия.FIXME Некоторые типы значений **всегда** передаются по ссылке, надо найти и указать. Порядок следования процедур и функций в модуле не имеет значения. Пример определения процедуры:
 +<code 1c>
 +Процедура Тест(ПараметрРаз, ПараметрДва = 123, ..., ПараметрN)
 + //Указывать ПараметрДва необязательно, в таком случае он будет равен 123
 +КонецПроцедуры;
 +</code>
 +
 +===== Документирование =====
 +С некоторых пор в платформе появилась возможность документировать собственные процедуры и функции. Для этого комментарий к функции должен быть оформлен особым образом. Система подсказок платформы умеет распознавать такие комментарии. И при отображении подсказок по параметрам функции будет выводить не только имена параметров, но и их назначение.
 +<code 1c>
 +// Возвращает начало следующего дня
 +//
 +// Параметры:
 +//  ТекДата - дата, относительно которой будет вычисляться дата начала следующего дня.
 +Функция НачалоСледующегоДня(ТекДата)
 +    Возврат КонецДня(ТекДата) + 1;
 +КонецФункции
 +</code>
 +При написании кода, использующего такую функцию, мы получим удобный комментарий. FIXME