bsl-language-server icon indicating copy to clipboard operation
bsl-language-server copied to clipboard

[NEW]Обращение к отсутствующему методу общего модуля

Open akabrr opened this issue 4 years ago • 5 comments

Описание проблемы, ошибки, которую надо диагностировать

Почему то синтаксический контроль не отлавливает ошибку обращения к отсутствующему методу общего модуля. Был сильно удивлен когда сегодня нарвался в режиме предприятия, разработчик опечатался - 1С съело и не поморщилось. Такой диагностики не нашел.

Ссылка на источник, подтверждающее нарушение либо обоснование наличия проблемы

Параметры диагностики

Тип Статья на русском

  • [x] :ant: Ошибка
  • [ ] :cop: Уязвимость
  • [ ] :guardsman: Потенциальная уязвимость
  • [ ] :poop: Качество кода
  • [ ] :trollface: Другое

Важность Статья на русском

  • [x] :broken_heart: Блокирующая / Blocker
  • [ ] :heart: Критическая / Critical
  • [ ] :yellow_heart: Важная / Major
  • [ ] :blue_heart: Незначительная / Minor
  • [ ] :green_heart: Информационная / Info
  • [ ] :revolving_hearts: Другое

Тэги Статья на русском

  • [ ] STANDARD - "Нарушение стандартов 1С"
  • [ ] LOCKINOS - "Не будет работать в другой ОС"
  • [ ] SQL - "Проблема с запросом"
  • [ ] PERFORMANCE - "Проблема производительности"
  • [ ] BRAINOVERLOAD - "Непонятный код"
  • [ ] BADPRACTICE - "Плохая практика программирования"
  • [ ] CLUMSY - "Излишние действия"
  • [ ] DESIGN - "Ошибка в проектировании"
  • [ ] SUSPICIOUS - "Подозрительный код"
  • [ ] UNPREDICTABLE - "Непредсказуемо работающий код"
  • [ ] DEPRECATED - "Устаревшая функциональность"
  • [x] ERROR - "Ошибочная конструкция"
  • [ ] LOCALIZE - "Проблемы локализации"

Время на исправление (минут)

1

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

akabrr avatar Mar 12 '20 17:03 akabrr

В конфигураторе расширенной проверкой ловится должно. Но этот флаг иногда слетает в настройках.

Stepa86 avatar Mar 13 '20 06:03 Stepa86

Подтверждаю, расширенной проверкой ловится. Тогда на усмотрение уважаемых разработчиков - закрыть или оставить задачу.

akabrr avatar Mar 13 '20 19:03 akabrr

Оставить конечно же =)

asosnoviy avatar Mar 13 '20 19:03 asosnoviy

Идентификатор : CallToNonexistentMethod Такой тест кейс нормальный?

// Русский
Функция МояФункция()
   
    А = ВызовCуществующейФункции();
    ВызовСуществующегоМетода();

    // Ошибка
    B = ВызовНесуществующейФункции();
    // ошибка
    ВызовНеСуществующегоМетода();
КонецФункции

Процедура МояПроцедура()
    А = ВызовCуществующейФункции();
    ВызовСуществующегоМетода();

    // Ошибка
    B = ВызовНесуществующейФункции();
    // ошибка
    ВызовНеСуществующегоМетода();
КонецПроцедуры

Функция ВызовCуществующейФункции()
   Возврат 5;
КонецФункции

Функция ВызовСуществующегоМетода()
    А = 5;
КонецФункции

// English
Function MyFunction()
    A = CallExistentFunction();
    CallExistentProcedure();

    // Error
    B = CallNonexistentFunction();
    // Error
    CallNonexistentProcedure();
EndFunction

Procedure MyProcedure() Export
    A = CallExistentFunction();
    CallExistentProcedure();

    // Error
    B = CallNonexistentFunction();
    // Error
    CallNonexistentProcedure();
EndProcedure

// Correct
Function CallExistentFunction()
    Return True;
EndFunction

Procedure CallExistentProcedure() Export
    A = 5;
EndProcedure

thedemoncat avatar May 02 '20 07:05 thedemoncat

@nixel2007 Запиши на меня, правило практически готово.

artbear avatar Jun 26 '22 12:06 artbear