Записки программиста 1с

Передача параметров процедур и функций в 1с

Передача параметров в 1с выполняется либо по ссылке или по значению. Обмен параметрами ключевой вопрос любого языка программирования. Также это важнейший аспект в работе с процедурами и функциями. Процедуры и функции в 1с могут обмениваться параметрами или аргументами.

Процедуры и функции передают параметры одним из способов:

  • по ссылке;
  • по значению.
передача параметров в 1с
Передача параметров процедур и функций в 1с

Передача по ссылке

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

Пример кода:

&НаКлиенте
процедура РасчитатьСумму(Параметр);
Параметр=20*20;	
конецпроцедуры
&НаКлиенте
Процедура Команда1(Команда)
	Параметр=100;
	РасчитатьСумму(Параметр);
	Сообщить(Параметр);
КонецПроцедуры
//Выведется 400

Результат выполнения кода:

передача параметров в 1с
Пример передачи параметра 1с

Передача по значению

Во-вторых способ называется передачей по значению и представляет собой передачу копии значения параметра. В этом случае изменение переданного значения в вызываемой процедуре или функции не приведет к изменению значения передаваемой переменной в вызывающем методе.

Пример кода:

&НаКлиенте
процедура РасчитатьСумму(знач Параметр);
Параметр=20*20;	
конецпроцедуры
&НаКлиенте
Процедура Команда1(Команда)
	Параметр=100;
	РасчитатьСумму(Параметр);
	Сообщить(Параметр);
КонецПроцедуры

Результат выполнения кода:

передача параметров в 1с
Передача значения в 1с

Замечание: Примеры кода отличаются только одной строчкой: “процедура РасчитатьСумму(знач Параметр)”. Если используется ключевое слово знач то передача по значению, иначе передача по ссылке.

передача параметров в 1с
Схема передачи значения 1с

Передача параметров процедур и функций зависит от того, какой вызов будет выполняться:

● вызов без передачи управления между клиентом и сервером (только на клиенте или только на сервере);

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

2 комментария на “Передача параметров процедур и функций в 1с

  1. Довольно интересный материал “передача параметров процедур и функций в 1с” Полезная информация..

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *