Skip to content

При проверке типов не учитывается ветвление кода. В каждой ветке тип может отличаться, что может приводить к ошибкам исполнения. #2031

@DmitryShvaika

Description

@DmitryShvaika

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

При проверке типов не учитывается ветвление кода. В каждой ветке тип может отличаться, что может приводить к ошибкам исполнения.

Пример приведен ниже. Строка
Результат.Поле1 = 2;
Содержит ошибку, так как переменная результат на момент ее исполнения равно Неопределено.
Однако Edt не видит ошибку, хотя должен отображать ее как для строки
Результат1.Поле1 = 2;

Image

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

  1. Текст модуля:
// @strict-types

#Область ПрограммныйИнтерфейс

// Тест.
// 
Процедура Тест() Экспорт
	
	Если Ложь Тогда
		
		Результат = Новый Структура;
		Результат.Вставить("Поле1", 1);
		
	Иначе
		
		Результат.Поле1 = 2;
		
	КонецЕсли;

	Результат1.Поле1 = 2;

КонецПроцедуры

#КонецОбласти

Скриншоты

No response

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

Ошибка должна детектироваться.

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

Не требуется.

Версия 1С:EDT

Ruby 2025.2.1

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

Windows

Версия платформы 1С:Предприятие 8

8.5.1.1150

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

No response

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

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions