Bug #7941
openНекорректная работа при совпадающих идентификаторах при наличии скрытых виртуальных узлов
0%
Description
Две ситуации, имеющие, по словам Дениса, общий источник проблемы.
Первая ситуация.¶
1. Есть два требования-соседа 001 и 002.
2. Перетаскиваем с ctrl (переиспользование) 002 на 001. Создается виртуальный узел, но он скрыт. Видно только итерированный узел 002.
3. Снова перетаскиваем с ctrl тот же 002 на тот же 001.
Возникает окно с сообщением "Selected elements cannot be reused together". Ничего не перетаскивается.
4. Раскрываем виртуальный узел на 001.
5. Снова повторяем перетаскивание с ctrl 002 на 001. Все перетаскивается.
Если раскрыть новый виртуальный узел, увидим, что оба виртуальных узла имеют одинаковый id. Таким образом нарушается правило, что узлы-соседи не могут иметь одинаковые id.
При дальнейшей работе это может вызвать конфликты.
Вторая ситуация.¶
1. Есть три узла-требования 001, 002 и 003.
2. Создаем у узла 001 виртуальный узел с идентификатором vn001 и указываем ему в качестве target требование 003. Требование 003 переиспользуется.
3. Скрываем виртуальный узел vn001.
4. Создаем у требования 002 дочернее требование (!) с таким же идентификатором vn001.
5. Перетаскиваем требование vn001 на 001.
Требование перетаскивается. Получается, что у требования 001 видны два ребенка: итерированное требование 003 и требование vn001.
6. На требовании 001 раскрываем все скрытые узлы.
Теперь у требования 001 виден только один ребенок - виртуальный узел vn001. Требование с таким же идентификатором исчезло.
No data to display