Добрый день! В Axapta 3 на таблице inventTrans есть статический метод calcMarkedCostValue, который был немного модифицирован. При тестировании данного кода проявляется такая ошибка - при первом запросе условие if выполняется и в отладчике печатается "123", однако при выполнении второго запроса не выбирается ни одной строки. Что это - глюк? Или  я не вижу здесь разницу в запросах? 
 
	PHP код:
	
		
			
    // по этому запросу выбирается строка, которая удовлетворяет условию if 
    select inventTrans
    where inventTrans.inventTransId     == _refTransId &&
    inventTrans.ItemId                 == _itemId;
    if ((inventTrans.statusIssue    == StatusIssue::None        &&
        inventTrans.statusReceipt  == StatusReceipt::Purchased) ||
        (inventTrans.StatusReceipt  == StatusReceipt::None      &&
        inventTrans.statusIssue    == StatusIssue::Sold))
    {
        debug::printDebug('123');
    }
    // запрос не возвращает ни одной строки
    while select inventTrans    
    where inventTrans.inventTransId == _refTransId &&
          inventTrans.ItemId        == _itemId     &&
    ((inventTrans.statusIssue    == StatusIssue::None        &&
     inventTrans.statusReceipt  == StatusReceipt::Purchased) ||
     (inventTrans.StatusReceipt  == StatusReceipt::None      &&
     inventTrans.statusIssue    == StatusIssue::Sold))
    {
        qty   += inventTrans.qty;
        value += inventTrans.costValue();
    }