|
19.03.2007, 17:32 | #1 |
Участник
|
SalesLine и ReqTrans
Здраствыйте !
Никак немогу найти решение для изменения SalesLinе SаlesQty поля . Дело в том , что как менеджер введет все данные для заказа , есть сделана такая мелочь как подсчитание % для увеличивания количеств ( ето из за своих нужд мы можем добавить к конракт несколько % .. ) . Код: ttsbegin; while select forupdate salesLin index hint SalesLineIdx where salesLin.SalesId == salesTbl.SalesId { nDec = Unit::decimals(salesLin.SalesUnit); nOld = salesLin.SalesQty; nSkt = ( nOld * nProc ) / 100; nSkt = round(nSkt,nDec); nNew = nOld + nSkt; if ( nNew != nOld ) { salesLin.SalesQty = nNew; SalesLine::modifySalesQty(salesLin,InventDim::find(salesLin.InventDimId)); salesLin.update(); } } ttscommit; С уважением , Римантас |
|
19.03.2007, 18:23 | #2 |
MCTS
|
Не уверен, но вы попробуйте сначала сделать salesLin.update(), а потом SalesLine::modifySalesQty().
Мне кажется, должно помочь. Последний раз редактировалось e@gle; 19.03.2007 в 18:56. |
|
19.03.2007, 19:29 | #3 |
MCTS
|
Я был не прав.
SalesLine::modifySalesQty() - делать вообще не надо. Развертывание обновится на update() строки заказа. А вот что надо сделать обязательно - это изменить поля salesLine.QtyOrdered и salesLine.RemainInventPhysical Развертывание обновляется в соответствии с полем salesLine.RemainInventPhysical. |
|
20.03.2007, 09:08 | #4 |
Участник
|
Цитата:
Сообщение от e@gle
Я был не прав.
SalesLine::modifySalesQty() - делать вообще не надо. Развертывание обновится на update() строки заказа. А вот что надо сделать обязательно - это изменить поля salesLine.QtyOrdered и salesLine.RemainInventPhysical Развертывание обновляется в соответствии с полем salesLine.RemainInventPhysical. С уважением , Римантас |
|
20.03.2007, 09:36 | #5 |
Участник
|
Цитата:
Сообщение от e@gle
Я был не прав.
SalesLine::modifySalesQty() - делать вообще не надо. Развертывание обновится на update() строки заказа. А вот что надо сделать обязательно - это изменить поля salesLine.QtyOrdered и salesLine.RemainInventPhysical Развертывание обновляется в соответствии с полем salesLine.RemainInventPhysical. Почему не надо делать SalesLine::modifySalesQty()? А как же пересчет суммы по строке? Пересчет "К поставке" (и по складу, и по заказу) можно сделать так: InventMovement::bufferSetRemainQty(salesLine)
__________________
Ivanhoe as is.. |
|
20.03.2007, 11:11 | #6 |
MCTS
|
Цитата:
Можно уточнить?
Почему не надо делать SalesLine::modifySalesQty()? А как же пересчет суммы по строке? Цитата:
Пересчет "К поставке" (и по складу, и по заказу) можно сделать так:InventMovement::bufferSetRemainQty(salesLine)
|
|