Показать сообщение отдельно
Старый 07.10.2004, 05:41   #4  
Alks is offline
Alks
Участник
 
336 / 41 (2) +++
Регистрация: 23.07.2004
Адрес: г. Новокузнецк
Не знаю какой глубинный смысл стоит за словосочетанием "константно-ориентированный код", но смысл сего куска кода очевиден поставить на строчку 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
Хотя и тут я подозреваю как именно эта странность поимела место быть.