Что-то где-то когда=-то у меня отложилось, что формальные параметры процедуры/функции с определителем "Знач" в списке параметров должны идти первыми, т.е. сначала все параметры с определеителем "знач" (если их несколько), а потом - остальные параметры...
Есть такие тонкости или меня клинит...?
:))
Вообще пофигу, хоть первыми, хоть последними, хоть вперемежку.
Модификатор 'Знач' говорит о том, что параметр передается по значению, а не по ссылке.
В 1С вообще нет таких приколов с привязкой к расположению формальных параметров.
Цитата: ADirks от 08 июля 2026, 07:30В 1С вообще нет таких приколов с привязкой к расположению формальных параметров.
Есть только пара приколов с опущенными / неопущенными запятыми.
Цитата: ADirks от 08 июля 2026, 07:30:))
Вообще пофигу, хоть первыми, хоть последними, хоть вперемежку.
Модификатор 'Знач' говорит о том, что параметр передается по значению, а не по ссылке.
В 1С вообще нет таких приколов с привязкой к расположению формальных параметров.
Понял, значит меня переклинило...
Цитата: Харлампий Дымба от 08 июля 2026, 23:04Есть только пара приколов с опущенными / неопущенными запятыми.
где-то было подробно описано, надо бы перечитать
И все-таки есть определенная разница в порядке указания параметров. Только она связана не с передачей параметров по значению (с ключевым словом Знач), а с параметрами, имеющими предопределенное значение по умолчанию. 1С по разному ведет себя с определением значения (неопределено/предустановленное) в зависимости от местоположения таких параметров и наличия/отсутствия запятой.
В ЖКК есть пару абзацов почти про "это", но не совсем.
Нашел в загашниках (РупорАбсурда?):
Функция Фича(А = "ААА", Б = "БББ")
Возврат А + Б;
КонецФункции
Процедура Сформировать()
Сообщить(Фича(,)); //ААА
Сообщить(Фича("ААА",)); //ААА
Сообщить(Фича("ААА")); //АААБББ
Сообщить(Фича()); //АААБББ
КонецПроцедуры
И своё на три параметра и везде добавить по запятой:
Функция Фича3(А = "ААА", Б = "БББ", C = "CCC")
Возврат А + Б + C;
КонецФункции
Процедура Сформировать()
Сообщить(Фича3(,,)); //АААБББ
Сообщить(Фича3("ААА",,)); //АААБББ
Сообщить(Фича3("ААА",)); //АААCCC
Сообщить(Фича3(,)); //АААCCC
КонецПроцедуры
Логики не вижу.