Не знаю какой глубинный смысл стоит за словосочетанием "константно-ориентированный код", но смысл сего куска кода очевиден поставить на строчку tmpFieldId = tmpFieldId; брякпойнт и отлаживать случай когда он равен 7...
Мне гораздо более интересным показался с этой точки зрения метод decodeItemId класса Barcode. Смысл метода - найти в базе ItemId товара по отсканированному штрих-коду:
PHP код:
ItemId decodeItemId(str _barcodeStr = barcodeStr)
{
ItemId itemId = _barcodeStr;
InventItemBarcode inventItemBarcode = InventItemBarcode::findInputBarcode(_barcodeStr);
InventTable inventTable;
;
if (inventItemBarcode)
return inventItemBarcode.itemId;
select firstonly inventTable
index hint ItemIdx
where inventTable.itemId == itemId;
if (inventTable)
itemId = inventTable.itemId;
return itemId;
}
Приглядитесь повнимательнее - кто увидит одну очень большую странность сего метода, тому будет счастье!
P.S.
AX 3.0 SP2
P.P.S
Хотя и тут я подозреваю как именно эта странность поимела место быть.