kms писал(а) 26. Июня 2006 :: 16:44:sedmin писал(а) 26. Июня 2006 :: 16:26:Вы забываете, что какой бы мы объект в параметре ни создали, он никому не нужен. Что бы с ним ни делали, его не смогут получить там, где этот метод вызвали.
Ну, то, что его нельзя вернуть, не означает, что он не нужен.
Приведи какой нибудь более-менее вразумительный пример.
Цитата:Ну, если не инициализировать в объявлении, можно инициализировать в самом методе.
Проверь 1 раз на пустое значение и инициализируй пустым списком, если парамтр не специфицирован.
С проверкой типов проблемы снимешь, да заодно и о необходимости каждый раз проверять на пустое значение не будет.
А если это не список, а КОП, то потом я буду писать такой код
Если Параметр=ПолучитьПустоеЗначение() Тогда
Парметр=СоздатьОбъект("КОП");
КонецЕсли
Если Параметр.Пустой()=1 Тогда
...
и не свернешь эту запись. И при рекурсивном вызове будет использован новый объект, который опять же никому не нужен.
А как зайти в тыл 1С++ я и сам знаю.

Зачем мне каждый раз писать код в обход этого дела?
Я предлагаю простое решение для возникшей ситуации.
Ваши решения плохо решают приведенную в самом начале задачу. Никто же не сказал, что приведенный код надо переписать так-то и так-то потому-то и потому-то. Если вы не согласны с указанной ситуацией, то напишите, чем она плоха.
А если согласны - предложите красивый способ ее решения.
PS. На последок у меня есть еще одна пенка с параметрами по умолчанию. Но я отложу ее на потом.