20.09.2006, 20:45 | #1 |
Участник
|
Выборка транзакций InventTrans по методу FIFO
Вот такое задание - выбрать все открытые транзакции (определяем по AvailPhysical из InventSum) и потом зарезервировать в журнале Loss/Profit.
Пока что дошел до того, что умею искать по дименсиям (группуровка) и InventSum... а вот вычислить какая же именно транзакция счутается "открытой для резервирования" немогу. Примерний код, который выводит все тразакции по FIFO + ItemId + искомых InventDim: Код: while select InventTrans order by DatePhysical ASC join InventSum where InventTrans.ItemId == parmItemId && InventSum.ItemId == parmItemId && InventTrans.inventDimId == InventSum.inventDimId #InventDimJoin(InventSum.inventDimId,InventDim,InventDimParm,InventDimCriteria) - как определить что транзакция открыта и сколько именно (так как мне надо будет делать строчку в журнале на каждую такую)? Конкретный пример: Код: InventTrans ---------------------- ITEM_1 / +10 / 11.10.2006 / Location_1 / Serial_1 ITEM_1 / +5 / 12.10.2006 / Location_1 / Serial_2 ITEM_1 / +7 / 13.10.2006 / Location_1 / Serial_1 ITEM_1 / +4 / 14.10.2006 / Location_2 / Serial_2 |
|
21.09.2006, 14:41 | #2 |
Участник
|
Nashel esche fishku, chto ReservePhisycal ne delajet nikakoj ssilki na originalnuju tranzakciju - kak on znajet s kakoj imenno tranzakcii budet rezervirovatsja?
Eto variant, kogda est neskolko raznoh partij, kotorie pri poiske/rezervacii ignorirujutsja. Vot i zdes est nebolsaja problema, tak kak mne nado zarezervirovat po FIFO, a tranzakcii po dnjam idut ne poporjadku. Trans1 / item1 / Date1 / Qty1 / {Loc_1,Batch_1} Trans2 / item1 / Date2 / Qty2 / {Loc_1,Batch_2} Trans3 / item1 / Date3 / Qty3 / {Loc_1,Batch_1} v konechnom rezultate, jesli zaprashivajem > Qty1 po Loc_1, to dolzno zabratsja nemnozhko i iz Trans2 s Batch_2.. |
|