Показать сообщение отдельно
Старый 20.09.2006, 20:45   #1  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
Выборка транзакций 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
Группируем по InventLocation и исчем Location_1, плюс надо зарезервировать 17 штук в журнале по FIFO