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
&Аннотация(
ДляА=0По1ЦиклНачало='0001-01-01'КонецЦиклаАтакжелюбыеконстантылибослова,кроме"и или не"тогдапродолжить,покабудетзакрывающаяскобкаизсимволовисключение=1длязапятойиначевозвратошибкиеслибудетприсваивание="(в строке - что угодно!)"этопереманнотациисознач
)
ПеремСкомпилировано;// и в аннотации, к примеру, 2 параметра "А", один со значением 0, другой без
Компилятор хорошо справляется с правильным кодом. А неправильный иногда или пропускает, порой со странными эффектами, или неверно диагностирует.
Раз здесь речь об аннотациях:
1.
ПроцедураПроц1()
&Аннотация// далее правильный кодКонецПроцедурыПроцедураПроц2()
// далее правильный кодКонецПроцедуры
Аннотация будет добавлена к Проц2()
// возможно, много правильного кода ПроцедураПоследняя_в_модуле()
&Аннотация// много правильного кодаСообщить("Закончили Проц1")
КонецПроцедурыСообщить("Начали");// много правильного кодаСообщить("Закончили");
{Модуль <string 5EE34E1C> / Ошибка в строке: 10,22 / Неожиданный конец модуля}
Сообщить("Закончили");<<?>>
Activity
nixel2007 commentedon Jan 23, 2026
Надо будет этот кейс в бсл лс тоже проверить...
EvilBeaver commentedon Jan 26, 2026
Интересный вопрос :) C# считает атрибут примененным к обеим переменным, если верить подсказке.
Ну и в целом, оно скорее так и выглядит и так читается, если просто смотреть на строчку, то это кажется наименее магическим поведением.
Мне кажется, правильный ответ - 2
nixel2007 commentedon Jan 26, 2026
Можно проверить в 1с через &НаКлиенте
EvilBeaver commentedon Jan 26, 2026
в 1С intellisense и реальный компилятор работают по разному.
в конечном счете, аннотация применена к обеим переменным
Mr-Rm commentedon Jan 26, 2026
Тут... это...
Macegor commentedon Jan 26, 2026
Я настаиваю на втором варианте!!!)
nixel2007 commentedon Jan 26, 2026
Мне в целом тоже кажется логичным вариант 2
nixel2007 commentedon Jan 26, 2026
Эт чо же, можно прям КОД В АННОТАЦИИ писать? Прям как лямбда? :D может быть он ещё и выполнится магически? :D
Mr-Rm commentedon Jan 26, 2026
Это всего лишь аннотация с 37-ю параметрами, некоторые из них со значениями.
Но кажется, что этим можно уронить Рефлектор
EvilBeaver commentedon Jan 27, 2026
Чето мне уже стыдно за этот компилятор
nixel2007 commentedon Jan 27, 2026
Да огонь компилятор, ты чего!
EvilBeaver commentedon Jan 27, 2026
Баги лютые
dmpas commentedon Jan 28, 2026
Фичи лютые
Mr-Rm commentedon Jan 28, 2026
Компилятор хорошо справляется с правильным кодом. А неправильный иногда или пропускает, порой со странными эффектами, или неверно диагностирует.
Раз здесь речь об аннотациях:
1.
Аннотация будет добавлена к Проц2()
{Модуль <string 5EE34E1C> / Ошибка в строке: 10,22 / Неожиданный конец модуля}
Сообщить("Закончили");<<?>>
Mr-Rm commentedon Jan 29, 2026
когда
Перем1имеет аннотацииАннотацияиАннотация1, аПерем2имеет аннотацииАннотацияиАннотация2- отвергаем?запрещаем? Рефлектор их всё равно не видит.
EvilBeaver commentedon Jan 30, 2026
Мне кажется, пункт 1 должен быть синтаксической ошибкой. Пункт 2 скорее всего тоже.
Итого, ответ - "да"
fix EvilBeaver#1652: аннотации списка переменных, ошибки для недопуст…
Merge pull request #1658 from Mr-Rm/v2/fix-1652