Skip to content

[NEW] Неверное изменение переменной\реквизита внутри цикла - имеет значение только последняя итерация цикла #1522

@artbear

Description

@artbear

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

Разработчики иногда ошибаются, выполняя внутри цикла установку одного и того же значения\реквизита.
В таком случае фактически последняя запись перезапишет все остальные, т.е. предыдущие итерации не имеют смысла.
Часто подобные ошибки возникают из копи-паста

Неверно

Для Каждого ЭлементЦеныПоставки Из ЦеныПоставок.НайтиСтроки(КлючПоискаЦенПоставок) Цикл
  ОписаниеПоставки.Цена= ЭлементЦеныПоставки.Цена;
  ОписаниеПоставки.Валюта = XMLСтрока(ЭлементЦеныПоставки.ВалютаСсылка);
КонецЦикла;

или

Для Каждого Элемент Из Коллекция Цикл
  Значение = Элемент.Цена;
КонецЦикла;

Нужно учесть

  • обычную переменную - Значение =
  • реквизита объекта - Объект.Реквизит =
    • с разным уровнем вложенности - Объект.Реквизит...ВложенныйРеквизит =

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

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

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

  • 🐜 Ошибка
  • 👮 Уязвимость
  • 💂‍♂️ Потенциальная уязвимость
  • 💩 Качество кода
  • :trollface: Другое

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

  • 💔 Блокирующая / Blocker
  • ❤️ Критическая / Critical
  • 💛 Важная / Major
  • 💙 Незначительная / Minor
  • 💚 Информационная / Info
  • 💞 Другое

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

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

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

3 минуты

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    component/diagnosticsДоработка / создание диагностики

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions