1C-Company / 1c-edt-issues

Пространство для пожеланий и обсуждения ошибок 1C:Enterprise Development Tools
https://edt.1c.ru/
134 stars 8 forks source link

При заимствовании метода в расширение, некорректно заполняются параметры #1363

Closed goodwinvu closed 1 month ago

goodwinvu commented 3 months ago

Описание ошибки

При заимствовании из исходной процедуры или функции в расширение параметры с значениями по умолчанию, передаются без таковых Т.е если в заимствованной процедуре было к примеру Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт то при заимствовании с опцией "Изменение и контроль" в расширение передаются как

&ИзменениеИКонтроль("ДанныеДокументаДляПроведения")
Функция фмоДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры) Экспорт

в логе никаких ошибок, просто ошибочное поведение при заимствовании

Как воспроизвести

В конфигурации источнике сделать процедуру с установленным параметром по умолчанию Создать расширение Заимствовать эту процедуру в расширение (через меню ПКМ) с опцией ИзменениеИКонтроль

Скриншоты

No response

Ожидаемое поведение

В параметры заимствованных методов должны передаваться также значения по умолчанию

Лог рабочей области

edtlog.zip

Версия 1С:EDT

Ruby 2023.3.1

Операционная система

Linux

Установленные плагины

1C:Code style V8, 1C:SSL-support, 1C:Language Tool, Другие сторонние плагины Название плагина...

Дополнительная информация

No response

vadimeg commented 1 month ago

В конфигураторе дефолтные значения параметров тоже не переносятся при заимствовании. Вот ответ платформы:

дефолтные параметры нельзя "переопределить", они всегда будут как в оригинальном методе
goodwinvu commented 4 days ago

а никто их и не переопределяет просто ошибка различия сигнатур методов Т.к в исходном коде стоит значение по умолчанию (=Неопределено), а при заимствованиии его нет