Форум Кладовочки АЛьФ`а

Общие вопросы => 7.7 => Тема начата: Злоп от 07 июля 2026, 21:32

Название: Процедура Чтото(Знач ПараметрКакойто...) - "Знач" - первым...?
Отправлено: Злоп от 07 июля 2026, 21:32
Что-то где-то когда=-то у меня отложилось, что формальные параметры процедуры/функции с определителем "Знач" в списке параметров должны идти первыми, т.е. сначала все параметры с определеителем "знач" (если их несколько), а потом - остальные параметры...
Есть такие тонкости или меня клинит...?
Название: Re: Процедура Чтото(Знач ПараметрКакойто...) - "Знач" - первым...?
Отправлено: ADirks от 08 июля 2026, 07:30
:))
Вообще пофигу, хоть первыми, хоть последними, хоть вперемежку.
Модификатор 'Знач' говорит о том, что параметр передается по значению, а не по ссылке.

В 1С вообще нет таких приколов с привязкой к расположению формальных параметров.
Название: Re: Процедура Чтото(Знач ПараметрКакойто...) - "Знач" - первым...?
Отправлено: Харлампий Дымба от 08 июля 2026, 23:04
Цитата: ADirks от 08 июля 2026, 07:30В 1С вообще нет таких приколов с привязкой к расположению формальных параметров.
Есть только пара приколов с опущенными / неопущенными запятыми.

Название: Re: Процедура Чтото(Знач ПараметрКакойто...) - "Знач" - первым...?
Отправлено: Злоп от 09 июля 2026, 11:31
Цитата: ADirks от 08 июля 2026, 07:30:))
Вообще пофигу, хоть первыми, хоть последними, хоть вперемежку.
Модификатор 'Знач' говорит о том, что параметр передается по значению, а не по ссылке.

В 1С вообще нет таких приколов с привязкой к расположению формальных параметров.
Понял, значит меня переклинило...
Название: Re: Процедура Чтото(Знач ПараметрКакойто...) - "Знач" - первым...?
Отправлено: Злоп от 09 июля 2026, 11:32
Цитата: Харлампий Дымба от 08 июля 2026, 23:04Есть только пара приколов с опущенными / неопущенными запятыми.
где-то было подробно описано, надо бы перечитать
Название: Re: Процедура Чтото(Знач ПараметрКакойто...) - "Знач" - первым...?
Отправлено: Харлампий Дымба от 11 июля 2026, 17:41
И все-таки есть определенная разница в порядке указания параметров. Только она связана не с передачей параметров по значению (с ключевым словом Знач), а с параметрами, имеющими предопределенное значение по умолчанию. 1С по разному ведет себя с определением значения (неопределено/предустановленное) в зависимости от местоположения таких параметров и наличия/отсутствия запятой.
В ЖКК есть пару абзацов почти про "это", но не совсем.

Нашел в загашниках (РупорАбсурда?):
Функция Фича(А = "ААА", Б = "БББ")
  Возврат А + Б; 
КонецФункции

Процедура Сформировать()
  Сообщить(Фича(,)); //ААА
  Сообщить(Фича("ААА",)); //ААА
  Сообщить(Фича("ААА")); //АААБББ
  Сообщить(Фича()); //АААБББ   
КонецПроцедуры

И своё на три параметра и везде добавить по запятой:
Функция Фича3(А = "ААА", Б = "БББ", C = "CCC")
  Возврат А + Б + C; 
КонецФункции

Процедура Сформировать()
  Сообщить(Фича3(,,)); //АААБББ
  Сообщить(Фича3("ААА",,)); //АААБББ
  Сообщить(Фича3("ААА",)); //АААCCC
  Сообщить(Фича3(,)); //АААCCC   
КонецПроцедуры

Логики не вижу.