![]() |
#3 |
Administrator
|
недавно делал частичную отмену подбора.
в отгрузке нажимаем Отгрузка - Зарегистрированные строки подбора там делаем функцию Строка - Отменить подбор и вызываем следующий код, передавая в него Реку (_RegWHActivityLine): _RegWHActivityLine1.SETRANGE("Whse. Document Type" , _RegWHActivityLine."Whse. Document Type"); _RegWHActivityLine1.SETRANGE("Whse. Document No." , _RegWHActivityLine."Whse. Document No."); _RegWHActivityLine1.SETRANGE("Whse. Document Line No.", _RegWHActivityLine."Whse. Document Line No."); _RegWHActivityLine1.SETFILTER("Action Type", '<>%1' , _RegWHActivityLine."Action Type"); IF _RegWHActivityLine."Serial No." <> '' THEN _RegWHActivityLine1.SETRANGE("Serial No." , _RegWHActivityLine."Serial No."); IF NOT _RegWHActivityLine1.FIND('-') THEN EXIT; _WHShipmentLine.SETRANGE("No." , _RegWHActivityLine."Whse. Document No."); _WHShipmentLine.SETRANGE("Line No." , _RegWHActivityLine."Whse. Document Line No."); IF _WHShipmentLine.FIND('-') THEN BEGIN _WHShipmentLine."Qty. Picked" -= _RegWHActivityLine.Quantity; _WHShipmentLine."Qty. Picked (Base)" -= _RegWHActivityLine.Quantity; _WHShipmentLine."Qty. to Ship" -= _RegWHActivityLine.Quantity; _WHShipmentLine."Qty. to Ship (Base)" -= _RegWHActivityLine.Quantity; _WHShipmentLine."Completely Picked" := FALSE; _WHShipmentLine.MODIFY(); END; IF _RegWHActivityLine."Serial No." <> '' THEN BEGIN _ReservationEntry.SETRANGE("Serial No.", _RegWHActivityLine."Serial No."); IF _ReservationEntry.FIND('-') THEN _ReservationEntry.DELETEALL(); _WhseItemTrackLine.SETRANGE("Serial No.", _RegWHActivityLine."Serial No."); IF _WhseItemTrackLine.FIND('-') THEN _WhseItemTrackLine.DELETEALL(); END; _RegWHActivityLine1.DELETE; _RegWHActivityLine.DELETE; переменные: Name DataType Subtype _RegWHActivityLine1 Record Registered Whse. Activity Line _WHShipmentLine Record Warehouse Shipment Line _ReservationEntry Record Reservation Entry _WhseItemTrackLine Record Whse. Item Tracking Line вроде работает ![]() |
|