Сообщение от
Raven Melancholic
Только в самом простом случае - когда вхождение непосредственное. Но оно может быть и на других уровнях в многоуровневой спецификации (то есть, на глубине гораздо большей, чем непосредственное вхождение).
Кроме того, просто ItemId проверять не совсем корректно - вполне может быть ситуация, когда номенклатура одна, а конфигурации разные (из одной номенклатуры изготавливаем её подобие, но немного отличающееся) тогда это не зацикливание.
Если учесть конфигурационные группы, периоды действия строки спецификации, тип строки спецификации (например, фантомная может разворачиваться) и другие тонкости, то напрямую по таблице пробегать может быть не очень хорошей идеей. В стандартной Аксе есть классы BomSearch* и BOMHierarchy* там можно подсмотреть примеры.