02.10.2007, 10:32 | #1 |
SAP
|
Интерестный запрос
Сталкнулся с такой ситуацией следующий запрос возвращает результаты:
X++: // info = 1 while select firstonly inventTrans where inventTrans.TransRefId == "1" { info(inventTrans.TransRefId); } // info = 1 while select firstonly inventJournalTable where inventJournalTable.JournalId == "1" { info(inventJournalTable.JournalId); } // в цикл даже не заходит while select firstonly inventTrans where inventTrans.TransRefId == "1" join inventJournalTable where inventJournalTable.JournalId == inventTrans.TransRefId { info(inventTrans.TransRefId); } а вот так все работает: X++: // а вот так все работает while select firstonly inventTrans where inventTrans.TransRefId == "1" { select inventJournalTable where inventJournalTable.JournalId == inventTrans.TransRefId; info(inventJournalTable.JournalId); } |
|
02.10.2007, 10:40 | #2 |
Участник
|
Разное выравниваение у типов InventTransRefId(left) и InventJournalId (right)
|
|
|
За это сообщение автора поблагодарили: konopello (1). |
02.10.2007, 10:59 | #3 |
Участник
|
зачем цикл, если стоит firstonly?
|
|
02.10.2007, 11:07 | #4 |
SAP
|
Цитата:
зачем цикл, если стоит firstonly?
|
|
02.10.2007, 11:28 | #5 |
Участник
|
Типы разные. Они даже не из одного семейства. И даже параметры имеют разные.
У одного 10 длина символов, а у другого - 20. А про выравнивание мысль интересная. С выравниванием Аксапта нормально справляется, если у типов хотя бы параметры одинаковые. А с разными параметрами... Точно известен случай неприводимых типов. http://forum.mazzy.ru/index.php?showtopic=173 А вот с разными типами пока мало написано. konopello, расскажите какое у вас выравнивание у обоих переменных, версию и сервис-пак? |
|
02.10.2007, 11:38 | #6 |
SAP
|
Цитата:
А вот с разными типами пока мало написано.
konopello, расскажите какое у вас выравнивание у обоих переменных, версию и сервис-пак? поле inventTrans.TransRefId: Adjustment - right; StringSize - 20 поле inventJournalTable.JournalId: Adjustment - right; StringSize - 10 |
|
02.10.2007, 11:42 | #7 |
SAP
|
наверно придется делать что то типа этого:
X++: while select InventTrans where InventTrans.TransType == inventTransType::InventLossProfit join InventJournalTrans where InventJournalTrans.InventTransId == InventTrans.InventTransId && InventJournalTrans.Voucher == InventTrans.VoucherPhysical join InventJournalTable where InventJournalTable.JournalId == InventJournalTrans.JournalId |
|