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
неожиданно счетчик в цикле затирает переменную модуля
[ ] нужно учесть циклы Для по; Для Каждого
varField;procedureproc1 ()
set=new Array ();for each Field in set doMessage ( Field );
proc2 ();enddo;endprocedureprocedureproc2 ()
Message ( Field );endprocedure
также нужно учесть не только переменные, но и изменение реквизитов объектов - но это сложно и могут быть ФП, т.к. реквизит может быть переиспользован в методах, куда передается сам объект
Описание проблемы, ошибки, которую надо диагностировать
Возможные сценарии:
или похожий кейс из #178
или
[ ] нужно учесть циклы Для по; Для Каждого
[ ] нужно учесть Если, ИначеЕсли; Попытка-Исключение;
Есть небольшое пересечение с "Неиспользуемая локальная переменная" Неиспользуемая локальная переменная #920
также нужно учесть не только переменные, но и изменение реквизитов объектов - но это сложно и могут быть ФП, т.к. реквизит может быть переиспользован в методах, куда передается сам объект
в последнем примере сработала
ошибка последней строкиЕще интересный кейс затирания\скрытия возможен в циклах в [NEW] Неверное изменение переменной\реквизита внутри цикла - имеет значение только последняя итерация цикла #1522
Ссылка на источник, подтверждающее нарушение либо обоснование наличия проблемы
Параметры диагностики
Тип Статья на русском
Важность Статья на русском
Тэги Статья на русском
STANDARD- "Нарушение стандартов 1С"LOCKINOS- "Не будет работать в другой ОС"SQL- "Проблема с запросом"PERFORMANCE- "Проблема производительности"BRAINOVERLOAD- "Непонятный код"BADPRACTICE- "Плохая практика программирования"CLUMSY- "Излишние действия"DESIGN- "Ошибка в проектировании"SUSPICIOUS- "Подозрительный код"UNPREDICTABLE- "Непредсказуемо работающий код"DEPRECATED- "Устаревшая функциональность"ERROR- "Ошибочная конструкция"LOCALIZE- "Проблемы локализации"Время на исправление (минут)
2 минуты
Дополнительная информация