24.21. Процедуры и функции «1С»

Действия, заданные в диалоге, оформляются в модуле как процедуры. Процедурой является некоторый отдельный алгоритм, имеющий имя - имя процедуры. Процедура оформляется строкой начала процедуры и строкой конца процедуры [11].

Процедура МояПроцедура()

<Тело процедуры>

КонецПроцедуры

Между этими строками располагается тело процедуры - алгоритм, описывающий действия, которые процедура будет выполнять. В процедуре можно определить список передаваемых параметров, значения которым передаются при вызове процедуры и используются в теле процедуры. По умолчанию параметру процедуры всегда передается ссылка на значение. Для передачи самого значения используется ключевое слово Знач.

Пример 24.2. Передача параметров по ссылке

Процедура Моя (а)
 а = 12;
КонецПроцедуры
Процедура А1(а)
 а=10; б = а ; Моя (б);
КонецПроцедуры
 

В конце процедуры А1 переменная «б» равна 12, потому что и переменная «б», и параметр процедуры Моя «а» идентифицируют один и тот же адрес.

Пример 24.3. Передача параметров по значению

Процедура Моя (а)
а=12;
КонецПроцедуры 
Процедура А1(а)
а=10; б = а; Моя (Знач б); 
КонецПроцедуры
 

В конце процедуры А1 переменная «б» равна 10 , потому что при вызове процедуры Моя передавалась не ссылка, а значение.

Функция отличается тем, что возвращает значение, используя, оператор «Возврат».

Пример 24.4. Функция в 1С

Функция МояФункция()
Возврат Авс; КонецФункции
КонецПроцедуры
 

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