You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Stack empty при обращении к свойству простого значения #1791
Сценарий должен завершаться диагностикой с предметным смыслом, а не внутренним System.InvalidOperationException. Например, ошибкой о том, что значение не является объектом.
1C не компилирует с диагностикой Неопознанный оператор
Результат = (Структура)<<?>>.Свойство;
Но срабатывает трюк с ?(,,), и можно организовать ошибку в рантайме
Тут, похоже, разница на уровне грамматики. Что выбираем?
Я бы выбирал в пользу того, что (Структура).Свойство должно работать, а (Неопределено).Свойство выдавать ошибку в рантайме.
(Структура).Свойство звучит как обычный дереференс выражения, и на мой взгляд, это должно работать.
(неопределено).свойство - такой же дереференс, и да, оно должно падать в рантайме с внятной ошибкой типа "значение не является значением объектного типа" или чем-то аналогичным. Но не кишками движка.
Activity
Mr-Rm commentedon Oct 14, 2026
Всё дело в скобках вокруг литерала.
- не компилируется: Ожидается символ ; (точка с запятой)
А вот такой, выглядящий допустимо и работающий в OneScript код
1C не компилирует с диагностикой
Неопознанный оператор
Результат = (Структура)<<?>>.Свойство;
Но срабатывает трюк с
?(,,), и можно организовать ошибку в рантаймеТут, похоже, разница на уровне грамматики. Что выбираем?
EvilBeaver commentedon Oct 14, 2026
Я бы выбирал в пользу того, что
(Структура).Свойстводолжно работать, а(Неопределено).Свойствовыдавать ошибку в рантайме.@dmpas @nixel2007 @sfaqer что думаете?
dmpas commentedon Oct 14, 2026
Оно и выдаёт ошибку в рантайме :-D просто не совсем понятную...
nixel2007 commentedon Oct 14, 2026
(Структура).Свойство звучит как обычный дереференс выражения, и на мой взгляд, это должно работать.
(неопределено).свойство - такой же дереференс, и да, оно должно падать в рантайме с внятной ошибкой типа "значение не является значением объектного типа" или чем-то аналогичным. Но не кишками движка.