Выяснилось, что в DAX2009 при расчете спецификаций нет проверки на максимальный уровень спецификаций из параметров УЗ и если есть зацикленные спецификации, система ломается без осмысленных ошибок.
Проверку нужно вставить в метод BOMCalcItem::validate():
X++:
//+ DPL OK001500 17.02.2011 OK
...
if (level > BomParameters::find().bomMaxLevel())
{
ret = checkFailed(strfmt("Превышен максимальный уровень спецификации для номенклатуры %1", inventTable.ItemId));
}
//- DPL OK001500 17.02.2011 OK
...