Показать сообщение отдельно
Старый 25.01.2005, 16:09   #12  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
1. Что касается моей конкретной задачи
2mazzy & Владимир Ю.
на текущий момент в Аксапте имеется достаточно большое колличество проводок по физ. резервированию поражденным разными документами (строки производства, заказов...). Руками снимать резервы - это не реально - все равно что бежать 7 неделю - лучше день потерять потом за час долететь
Итак код позволяющий снимать резервы отталкиваясь от проводок:
PHP код:
static void updateReservationToZero(Args _args)
{
    
InventUpd_Reservation   reservation;
    
InventMovement          inventMovement;
    
InventTrans             inventTrans;
    ;
    while 
select inventTrans  
    where inventTrans
.StatusIssue == StatusIssue::ReservPhysical
    
{
        
inventMovement  InventMovement::constructFromRef(inventTrans.TransTypeinventTrans.TransRefIdinventTrans.InventTransId);
        
reservation     InventUpd_Reservation::newMovement(inventMovement, - inventTrans.Qtytrue);
        
reservation.updateNow();
    }

2. Снятие резервов по клиенту соответственно
PHP код:
    while select salesLine
    where salesLine
.CustAccount == "Код клиента"
    
{
        
inventMovement  InventMovement::construct(salesLine);
        
reservation     InventUpd_Reservation::newMovement(inventMovement, - salesLine.SalesQtytrue);
        
reservation.updateNow();
    } 
За это сообщение автора поблагодарили: alex55 (1).