29.05.2004, 13:25 | #1 |
Участник
|
Ошибка при связывании InventTrans и InventJournaTable
Товарищи, Ахтунг.
Вы никогда не свяжете InventTrans.TransRefId и InventJournalTable.JournalId в одном X++ запросе если длина TransRefId = 20, а длина JournalId = 10. Похоже, в стандарте 2.5 это так и есть. Решения X++ while select inventtrans { inventjournaltable::find(inventtrans.transrefid) } TSQL ltrim(inventtrans.transrefid) = inventjournaltable.journalid и, в конце концов, просто привести тип JournalNum к 20 символам З.Ы. речь идёт про поля с adjustment = right. До коле! |
|
30.05.2004, 11:59 | #2 |
----------------
|
Связывание чего-либо с InventTrans по полю TransRefId - плохая привычка, так как это поле неиндексировано и Аксапта быстренько уходит в даун при полном сканировании складских проводок.
Советую использовать такую связь InventJournalTrans.InventTransId == inventTrans.InventTransId && InventJournalTrans.JournalId == InventJournalTable.JournalId Опять же не будет проблем с выравниванием. |
|
30.05.2004, 15:22 | #3 |
Участник
|
Цитата:
Изначально опубликовано Wamr
Связывание чего-либо с InventTrans по полю TransRefId - плохая привычка, так как это поле неиндексировано и Аксапта быстренько уходит в даун при полном сканировании складских проводок. Советую использовать такую связь InventJournalTrans.InventTransId == inventTrans.InventTransId && InventJournalTrans.JournalId == InventJournalTable.JournalId Опять же не будет проблем с выравниванием. Разные задачи - разные запросы. Связывает моментально. Мементо море, как говорится. |
|