Передача параметров
По умолчанию параметры методов, процедур и функций передаются по ссылке, то есть изменение внутри процедуры или функции значения формального параметра ведет к изменению значения соответствующего фактического параметра. При передаче параметра по значению изменение значения формального параметра никак не влияет на фактический параметр вызова процедуры. Для указания того, что тот или иной параметр следует передавать по значению, следует в исходном тексте процедуры или функции перед именем параметра записать ключевое слово Знач (англоязычный синоним — Val).
Если параметру задано значение по умолчанию и он является последним в списке, то при вызове процедуры его можно опускать в списке передаваемых фактических параметров и не ставить запятую перед опущенным параметром.
Если параметру не задано значения по умолчанию, то при вызове процедуры его можно опускать в списке передаваемых фактических параметров, но разделительную запятую надо ставить.
Если параметр при вызове процедуры опущен, то он принимает либо установленное по умолчанию значение (если оно есть) либо принимает «пустое» значение (значение неопределенного типа).
Если при вызове метода, процедуры или функции параметры не передаются (пустой список параметров), то, тем не менее, круглые скобки обязательно требуется ставить.
Пример:
Перем Глоб;
// Описание функции
Функция МояФункция(Знач Пар1, Пар2, Пар3) Экспорт
Лок = Глоб + Пар1 + Пар2 + Пар3;
Пар1 = 40;
Возврат Лок;
КонецФункции
Глоб = 123;
А = 10;
Рез = МояФункция(А, 6, 7); // Вызов функции
// Здесь Рез = 146, а переменная А = 10, несмотря на то, что в теле
// функции значение параметра Пар1 изменено на 40