Package org.compiere.model
Class MInOut
java.lang.Object
org.compiere.model.PO
org.compiere.model.X_M_InOut
org.compiere.model.MInOut
- All Implemented Interfaces:
Serializable,Cloneable,Comparator<Object>,I_M_InOut,I_Persistent,DocAction,IDocsPostProcess,Evaluatee
Shipment/Receipt Model
- Version:
- $Id: MInOut.java,v 1.4 2006/07/30 00:51:03 jjanke Exp $ Modifications: Added the RMA functionality (Ashley Ramdass)
- Author:
- Jorg Janke, Karsten Thiemann, Schaeffer AG
- Bug [ 1759431 ] Problems with VCreateFrom, victor.perez@e-evolution.com, e-Evolution http://www.e-evolution.com
- FR [ 1948157 ] Is necessary the reference for document reverse
- FR [ 2520591 ] Support multiples calendar for Org, Armen Rizal, Goodwill Consulting
- BF [ 1745154 ] Cost in Reversing Material Related Docs, Teo Sarca, teo.sarca@gmail.com
- BF [ 2993853 ] Voiding/Reversing Receipt should void confirmations https://sourceforge.net/p/adempiere/bugs/2395/
- See Also:
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringprotected MInOutConfirm[]Confirmationsprotected booleanJust Prepared Flagprotected MInOutLine[]Linesprotected MBPartnerBPartnerprotected StringProcess Messageprotected booleanReversal Flagstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class org.compiere.model.X_M_InOut
DELIVERYRULE_AD_Reference_ID, DELIVERYRULE_AfterPayment, DELIVERYRULE_Availability, DELIVERYRULE_CompleteLine, DELIVERYRULE_CompleteOrder, DELIVERYRULE_Force, DELIVERYRULE_Manual, DELIVERYVIARULE_AD_Reference_ID, DELIVERYVIARULE_Delivery, DELIVERYVIARULE_Pickup, DELIVERYVIARULE_Shipper, DOCACTION_AD_Reference_ID, DOCACTION_Approve, DOCACTION_Close, DOCACTION_Complete, DOCACTION_Invalidate, DOCACTION_None, DOCACTION_Post, DOCACTION_Prepare, DOCACTION_Re_Activate, DOCACTION_Reject, DOCACTION_Reverse_Accrual, DOCACTION_Reverse_Correct, DOCACTION_Unlock, DOCACTION_Void, DOCACTION_WaitComplete, DOCSTATUS_AD_Reference_ID, DOCSTATUS_Approved, DOCSTATUS_Closed, DOCSTATUS_Completed, DOCSTATUS_Drafted, DOCSTATUS_InProgress, DOCSTATUS_Invalid, DOCSTATUS_NotApproved, DOCSTATUS_Reversed, DOCSTATUS_Unknown, DOCSTATUS_Voided, DOCSTATUS_WaitingConfirmation, DOCSTATUS_WaitingPayment, FOB_AD_Reference_ID, FOB_CFR_CostAndFreight, FOB_CIF_CostInsuranceAndFreightFedEx, FOB_CIP_CarriageAndInsurancePaidToFedEx, FOB_CPT_CarriagePaidTo, FOB_DAF_DeliveredAtFrontier, FOB_DDP_DeliveredDutyPaidFedEx, FOB_DDU_DeliveredDutyUnpaidFedEx, FOB_DEQ_DeliveredExQuay, FOB_DES_DeliveredExShip, FOB_DomesticFOBDestination, FOB_EXW_ExWorksFedEx, FOB_ExWorks, FOB_FAS_FreeAlongsideShip, FOB_FCA_FreeCarrierFedEx, FOB_FOB_FreeOnBoardFedEx, FOB_FOBOrigin, FREIGHTCHARGES_3rdParty, FREIGHTCHARGES_AD_Reference_ID, FREIGHTCHARGES_Collect, FREIGHTCHARGES_Consignee, FREIGHTCHARGES_Prepaid, FREIGHTCHARGES_PrepaidAndBill, FREIGHTCOSTRULE_AD_Reference_ID, FREIGHTCOSTRULE_Calculated, FREIGHTCOSTRULE_CustomerAccount, FREIGHTCOSTRULE_FixPrice, FREIGHTCOSTRULE_FreightIncluded, FREIGHTCOSTRULE_Line, INSURANCE_AD_Reference_ID, INSURANCE_DoNotInsure, INSURANCE_Insure, MOVEMENTTYPE_AD_Reference_ID, MOVEMENTTYPE_CustomerReturns, MOVEMENTTYPE_CustomerShipment, MOVEMENTTYPE_InventoryIn, MOVEMENTTYPE_InventoryOut, MOVEMENTTYPE_MovementFrom, MOVEMENTTYPE_MovementTo, MOVEMENTTYPE_Production_, MOVEMENTTYPE_ProductionPlus, MOVEMENTTYPE_VendorReceipts, MOVEMENTTYPE_VendorReturns, MOVEMENTTYPE_WorkOrder_, MOVEMENTTYPE_WorkOrderPlus, PRIORITYRULE_AD_Reference_ID, PRIORITYRULE_High, PRIORITYRULE_Low, PRIORITYRULE_Medium, PRIORITYRULE_Minor, PRIORITYRULE_UrgentFields inherited from class org.compiere.model.PO
ACCESSLEVEL_ALL, ACCESSLEVEL_CLIENT, ACCESSLEVEL_CLIENTORG, ACCESSLEVEL_ORG, ACCESSLEVEL_SYSTEM, ACCESSLEVEL_SYSTEMCLIENT, ENTITYTYPE_Dictionary, ENTITYTYPE_UserMaintained, I_ZERO, LOCAL_TRX_PREFIX, log, p_ctx, p_info, UUID_NEW_RECORD, XML_ATTRIBUTE_AD_Table_ID, XML_ATTRIBUTE_Record_IDFields inherited from interface org.compiere.process.DocAction
ACTION_Approve, ACTION_Close, ACTION_Complete, ACTION_Invalidate, ACTION_None, ACTION_Post, ACTION_Prepare, ACTION_ReActivate, ACTION_Reject, ACTION_Reverse_Accrual, ACTION_Reverse_Correct, ACTION_Unlock, ACTION_Void, ACTION_WaitComplete, AD_REFERENCE_ID, DOC_COLUMNNAME_AD_User_ID, DOC_COLUMNNAME_C_Currency_ID, DOC_COLUMNNAME_C_DocType_ID, DOC_COLUMNNAME_C_DocTypeTarget_ID, DOC_COLUMNNAME_DateAcct, DOC_COLUMNNAME_DateTrx, DOC_COLUMNNAME_Description, DOC_COLUMNNAME_DocAction, DOC_COLUMNNAME_DocStatus, DOC_COLUMNNAME_DocumentNo, DOC_COLUMNNAME_IsApproved, DOC_COLUMNNAME_Processed, DOC_COLUMNNAME_Processing, DOC_COLUMNNAME_SalesRep_ID, STATUS_Approved, STATUS_Closed, STATUS_Completed, STATUS_Drafted, STATUS_InProgress, STATUS_Invalid, STATUS_NotApproved, STATUS_Reversed, STATUS_Unknown, STATUS_Voided, STATUS_WaitingConfirmation, STATUS_WaitingPaymentFields inherited from interface org.compiere.model.I_M_InOut
accessLevel, COLUMNNAME_AD_Client_ID, COLUMNNAME_AD_Org_ID, COLUMNNAME_AD_OrgTrx_ID, COLUMNNAME_AD_User_ID, COLUMNNAME_C_Activity_ID, COLUMNNAME_C_BPartner_ID, COLUMNNAME_C_BPartner_Location_ID, COLUMNNAME_C_Campaign_ID, COLUMNNAME_C_Charge_ID, COLUMNNAME_C_CostCenter_ID, COLUMNNAME_C_Department_ID, COLUMNNAME_C_DocType_ID, COLUMNNAME_C_Invoice_ID, COLUMNNAME_C_Order_ID, COLUMNNAME_C_Project_ID, COLUMNNAME_ChargeAmt, COLUMNNAME_CreateConfirm, COLUMNNAME_Created, COLUMNNAME_CreatedBy, COLUMNNAME_CreateFrom, COLUMNNAME_CreateLinesFrom, COLUMNNAME_CreatePackage, COLUMNNAME_DateAcct, COLUMNNAME_DateOrdered, COLUMNNAME_DatePrinted, COLUMNNAME_DateReceived, COLUMNNAME_DeliveryRule, COLUMNNAME_DeliveryViaRule, COLUMNNAME_Description, COLUMNNAME_DocAction, COLUMNNAME_DocStatus, COLUMNNAME_DocumentNo, COLUMNNAME_DropShip_BPartner_ID, COLUMNNAME_DropShip_Location_ID, COLUMNNAME_DropShip_User_ID, COLUMNNAME_FOB, COLUMNNAME_FreightAmt, COLUMNNAME_FreightCharges, COLUMNNAME_FreightCostRule, COLUMNNAME_GenerateTo, COLUMNNAME_Insurance, COLUMNNAME_IsActive, COLUMNNAME_IsAlternateReturnAddress, COLUMNNAME_IsApproved, COLUMNNAME_IsDropShip, COLUMNNAME_IsInDispute, COLUMNNAME_IsInTransit, COLUMNNAME_IsPrinted, COLUMNNAME_IsSOTrx, COLUMNNAME_M_InOut_ID, COLUMNNAME_M_InOut_UU, COLUMNNAME_M_RMA_ID, COLUMNNAME_M_Shipper_ID, COLUMNNAME_M_Warehouse_ID, COLUMNNAME_MovementDate, COLUMNNAME_MovementType, COLUMNNAME_NoPackages, COLUMNNAME_PickDate, COLUMNNAME_POReference, COLUMNNAME_Posted, COLUMNNAME_PriorityRule, COLUMNNAME_Processed, COLUMNNAME_ProcessedOn, COLUMNNAME_Processing, COLUMNNAME_Ref_InOut_ID, COLUMNNAME_ReturnBPartner_ID, COLUMNNAME_ReturnLocation_ID, COLUMNNAME_ReturnUser_ID, COLUMNNAME_Reversal_ID, COLUMNNAME_SalesRep_ID, COLUMNNAME_SendEMail, COLUMNNAME_ShipDate, COLUMNNAME_ShipperAccount, COLUMNNAME_TrackingNo, COLUMNNAME_Updated, COLUMNNAME_UpdatedBy, COLUMNNAME_User1_ID, COLUMNNAME_User2_ID, COLUMNNAME_Volume, COLUMNNAME_Weight, Model, Table_ID, Table_Name -
Constructor Summary
ConstructorsConstructorDescriptionMInOut(Properties ctx, int M_InOut_ID, String trxName) Standard ConstructorMInOut(Properties ctx, int M_InOut_ID, String trxName, String... virtualColumns) MInOut(Properties ctx, String M_InOut_UU, String trxName) UUID based ConstructorMInOut(Properties ctx, ResultSet rs, String trxName) Load ConstructorCopy Constructor - create header onlyInvoice Constructor - create header onlyOrder Constructor - create header only -
Method Summary
Modifier and TypeMethodDescriptionvoidaddDescription(String description) Add to Descriptionprotected voidaddDocsPostProcess(PO doc) Add doc for post processing (after processing of document action)protected booleanafterSave(boolean newRecord, boolean success) Called after Save for Post-Save Operation.
Default implementation is nop, to be implemented in sub-classes that needed it.booleanApprove Documentprotected BigDecimalautoBalanceNegative(MInOutLine line, MProduct product, BigDecimal qtyToReceive) protected booleanbeforeSave(boolean newRecord) Called before Save for Pre-Save Operation.
Default implementation is nop, to be implemented in sub-classes that needed it.protected voidcheckMaterialPolicy(MInOutLine line, BigDecimal qty) Check Material Policy.booleancloseIt()Close Document.Complete Documentstatic MInOutcopyFrom(MInOut from, Timestamp dateDoc, int C_DocType_ID, boolean isSOTrx, boolean counter, String trxName, boolean setOrder) Deprecated.static MInOutcopyFrom(MInOut from, Timestamp dateDoc, Timestamp dateAcct, int C_DocType_ID, boolean isSOTrx, boolean counter, String trxName, boolean setOrder) Create new Shipment by copyingintcopyLinesFrom(MInOut otherShipment, boolean counter, boolean setOrder) Copy Lines From other ShipmentvoidCreate the missing next Confirmationprotected MInOutCreate Counter Documentprotected MInOutAutomatically creates a customer shipment for any drop shipment material receipt.static MInOutcreateFrom(MOrder order, Timestamp movementDate, boolean forceDelivery, boolean allAttributeInstances, Timestamp minGuaranteeDate, boolean complete, String trxName) Create Shipment From OrdervoidcreateLineFrom(int C_OrderLine_ID, int C_InvoiceLine_ID, int M_RMALine_ID, int M_Product_ID, int C_UOM_ID, BigDecimal Qty, int M_Locator_ID) Create Line from orderline/invoiceline/rmalineCreate PDFCreate PDF fileGet Document Approval AmountGet BPartnerintGet C_Currency_IDgetConfirmations(boolean requery) Get ConfirmationsintGet Document Owner (Responsible)Get documents to process after Complete or after PostingGet Document Status NameGet Document Infostatic List<MInOut.MatchingRecord>getFullOrPartiallyMatchedToInvoice(int C_BPartner_ID, int M_Product_ID, int C_InvoiceLine_ID, Timestamp from, Timestamp to, String trxName) static List<MInOut.MatchingRecord>getFullOrPartiallyMatchedToOrder(int C_BPartner_ID, int M_Product_ID, int C_OrderLine_ID, Timestamp from, Timestamp to, String trxName) getLines()Get Lines of ShipmentgetLines(boolean requery) Get Lines of Shipmentstatic StringgetMovementType(Properties ctx, int C_DocType_ID, boolean issotrx, String trxName) Get Movement Type based on Document Type's DocBaseType and isSOTrxstatic List<MInOut.MatchingRecord>getNotFullyMatchedToInvoice(int C_BPartner_ID, int M_Product_ID, int C_InvoiceLine_ID, Timestamp from, Timestamp to, String trxName) static List<MInOut.MatchingRecord>getNotFullyMatchedToOrder(int C_BPartner_ID, int M_Product_ID, int C_OrderLine_ID, Timestamp from, Timestamp to, String trxName) Get Process MessageGet SummarybooleanInvalidate DocumentbooleanDocument Status is Complete or ClosedbooleanCheck if Document is Customer Return.booleanIs Reversalprotected StringmoveOnHandToShipmentASI(MProduct product, int M_Locator_ID, int M_AttributeSetInstance_ID, BigDecimal qty, Timestamp dateMaterialPolicy, int M_InOutLine_ID, boolean reversal, String trxName) For product with mix of No ASI and ASI inventory, this move Non ASI on hand to the new ASI created at shipment line or shipment line mabooleanOutstanding (not processed) Confirmations ?booleanOutstanding (not processed) Customer Confirmations ?Prepare DocumentbooleanProcess documentbooleanRe-activatebooleanrejectIt()Reject Approvalprotected MInOutreverse(boolean accrual) Reverse this documentbooleanReverse Accrual - current datebooleanReverse Correction - same dateprotected booleanreverseMatching(Timestamp reversalDate) Reverse match invoice and match PO.voidsetBPartner(MBPartner bp) Set Business Partner Defaults and DetailsvoidSet Default C_DocType_ID.voidsetC_DocType_ID(String DocBaseType) Set Document Typeprotected voidSet the definite document number after completedvoidsetM_Warehouse_ID(int M_Warehouse_ID) Set Warehouse and check/set OrganizationvoidSets Movement Type based on Document Type's DocBaseType and isSOTrxvoidsetProcessed(boolean processed) Set Processed.protected voidsetReversal(boolean reversal) Set reversal state (instance variable)toString()String representationbooleanunlockIt()Unlock Document.voidupdateFrom(MOrder order, MInvoice invoice, MRMA rma) Update from order/invoice/rma if linked to another order/invoice/rma - remove link if no link set itprotected voidVoid confirmationsbooleanvoidIt()Void Document.Methods inherited from class org.compiere.model.X_M_InOut
get_AccessLevel, getAD_OrgTrx_ID, getAD_User, getAD_User_ID, getC_Activity, getC_Activity_ID, getC_BPartner, getC_BPartner_ID, getC_BPartner_Location, getC_BPartner_Location_ID, getC_Campaign, getC_Campaign_ID, getC_Charge, getC_Charge_ID, getC_CostCenter, getC_CostCenter_ID, getC_Department, getC_Department_ID, getC_DocType, getC_DocType_ID, getC_Invoice, getC_Invoice_ID, getC_Order, getC_Order_ID, getC_Project, getC_Project_ID, getChargeAmt, getCreateConfirm, getCreateFrom, getCreateLinesFrom, getCreatePackage, getDateAcct, getDateOrdered, getDatePrinted, getDateReceived, getDeliveryRule, getDeliveryViaRule, getDescription, getDocAction, getDocStatus, getDocumentNo, getDropShip_BPartner, getDropShip_BPartner_ID, getDropShip_Location, getDropShip_Location_ID, getDropShip_User, getDropShip_User_ID, getFOB, getFreightAmt, getFreightCharges, getFreightCostRule, getGenerateTo, getInsurance, getKeyNamePair, getM_InOut_ID, getM_InOut_UU, getM_RMA, getM_RMA_ID, getM_Shipper, getM_Shipper_ID, getM_Warehouse, getM_Warehouse_ID, getMovementDate, getMovementType, getNoPackages, getPickDate, getPOReference, getPriorityRule, getProcessedOn, getRef_InOut_ID, getReturnBPartner, getReturnBPartner_ID, getReturnLocation, getReturnLocation_ID, getReturnUser, getReturnUser_ID, getReversal, getReversal_ID, getSalesRep, getSalesRep_ID, getShipDate, getShipperAccount, getTrackingNo, getUser1, getUser1_ID, getUser2, getUser2_ID, getVolume, getWeight, initPO, isAlternateReturnAddress, isApproved, isDropShip, isInDispute, isInTransit, isPosted, isPrinted, isProcessed, isProcessing, isSendEMail, isSOTrx, setAD_OrgTrx_ID, setAD_User_ID, setC_Activity_ID, setC_BPartner_ID, setC_BPartner_Location_ID, setC_Campaign_ID, setC_Charge_ID, setC_CostCenter_ID, setC_Department_ID, setC_DocType_ID, setC_Invoice_ID, setC_Order_ID, setC_Project_ID, setChargeAmt, setCreateConfirm, setCreateFrom, setCreateLinesFrom, setCreatePackage, setDateAcct, setDateOrdered, setDatePrinted, setDateReceived, setDeliveryRule, setDeliveryViaRule, setDescription, setDocAction, setDocStatus, setDocumentNo, setDropShip_BPartner_ID, setDropShip_Location_ID, setDropShip_User_ID, setFOB, setFreightAmt, setFreightCharges, setFreightCostRule, setGenerateTo, setInsurance, setIsAlternateReturnAddress, setIsApproved, setIsDropShip, setIsInDispute, setIsInTransit, setIsPrinted, setIsSOTrx, setM_InOut_ID, setM_InOut_UU, setM_RMA_ID, setM_Shipper_ID, setMovementDate, setMovementType, setNoPackages, setPickDate, setPOReference, setPosted, setPriorityRule, setProcessedOn, setProcessing, setRef_InOut_ID, setReturnBPartner_ID, setReturnLocation_ID, setReturnUser_ID, setReversal_ID, setSalesRep_ID, setSendEMail, setShipDate, setShipperAccount, setTrackingNo, setUser1_ID, setUser2_ID, setVolume, setWeightMethods inherited from class org.compiere.model.PO
afterDelete, beforeDelete, buildInsertSQL, checkImmutable, clearCrossTenantSafe, clone, columnExists, columnExists, compare, copyPO, copyValues, copyValues, createAttachment, delete, delete, delete_Accounting, delete_Tree, deleteEx, deleteEx, dump, dump, equals, get_Attribute, get_Attributes, get_ColumnCount, get_ColumnDescription, get_ColumnDisplayType, get_ColumnIndex, get_ColumnLabel, get_ColumnLookup, get_ColumnName, get_DisplayValue, get_HashMap, get_ID, get_IDOld, get_KeyColumns, get_Logger, get_OptimisticLockingColumns, get_Table_ID, get_TableAttribute, get_TableAttributeAsBoolean, get_TableAttributeAsInt, get_TableAttributes, get_TableName, get_Translation, get_Translation, get_Translation, get_Translation, get_Translation, get_TrxName, get_UUID, get_Value, get_Value, get_ValueAsBoolean, get_ValueAsInt, get_ValueAsInt, get_ValueAsString, get_ValueAsString, get_ValueDifference, get_ValueDifference, get_ValueE, get_ValueOfColumn, get_ValueOld, get_ValueOld, get_ValueOldAsInt, get_WhereClause, get_WhereClause, get_xmlDocument, get_xmlString, getAD_Client_ID, getAD_Org_ID, getAllIDs, getAttachment, getAttachment, getAttachmentData, getCreated, getCreatedBy, getCtx, getDoc, getFindParameter, getPdfAttachment, getUpdated, getUpdatedBy, getUUIDColumnName, getUUIDColumnName, hashCode, insert_Accounting, insert_Tree, insert_Tree, is_Changed, is_Immutable, is_new, is_UseOptimisticLocking, is_ValueChanged, is_ValueChanged, isActive, isAttachment, isColumnMandatory, isColumnUpdateable, isMandatoryOK, isPdfAttachment, isReplication, load, load, load, load, loadByUU, loadComplete, loadDefaults, loadPO, loadSpecial, lock, makeImmutable, postDelete, retrieveIdOfParentValue, retrieveIdOfParentValue, save, save, saveCrossTenantSafe, saveCrossTenantSafeEx, saveCrossTenantSafeEx, saveEx, saveEx, saveNew_afterSetID, saveNew_getID, saveNewSpecial, saveReplica, saveUpdate, set_Attribute, set_ColumnUpdateable, set_CustomColumn, set_CustomColumnReturningBoolean, set_OptimisticLockingColumns, set_TrxName, set_TrxName, set_UseOptimisticLocking, set_Value, set_Value, set_Value, set_Value, set_ValueE, set_ValueNoCheck, set_ValueNoCheckE, set_ValueOfColumn, set_ValueOfColumn, set_ValueOfColumnReturningBoolean, set_ValueOfColumnReturningBoolean, setAD_Client_ID, setAD_Org_ID, setClientOrg, setClientOrg, setCrossTenantSafe, setDoc, setDocWorkflowMgr, setIsActive, setProcessedOn, setReplication, setStandardDefaults, setUpdateable, setUpdatedBy, toInsertSQL, unlock, update_Tree, validForeignKeys, validForeignKeysExMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Comparator
reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLongMethods inherited from interface org.compiere.process.DocAction
get_ID, get_Logger, get_Table_ID, get_TrxName, getAD_Client_ID, getAD_Org_ID, getCtx, getDocAction, getDocStatus, getDocumentNo, save, saveEx, setDocStatusMethods inherited from interface org.compiere.model.I_M_InOut
getAD_Client_ID, getAD_Org_ID, getCreated, getCreatedBy, getUpdated, getUpdatedBy, isActive, setAD_Org_ID, setIsActiveMethods inherited from interface org.compiere.model.I_Persistent
save
-
Field Details
-
NOT_FULLY_MATCHED_TO_ORDER
-
NOT_FULLY_MATCHED_TO_ORDER_GROUP_BY
-
FULL_OR_PARTIALLY_MATCHED_TO_ORDER
-
FULL_OR_PARTIALLY_MATCHED_TO_ORDER_GROUP_BY
-
NOT_FULLY_MATCHED_TO_INVOICE
-
NOT_FULLY_MATCHED_TO_INVOICE_GROUP_BY
-
FULL_OR_PARTIALLY_MATCHED_TO_INVOICE
-
FULL_OR_PARTIALLY_MATCHED_TO_INVOICE_GROUP_BY
-
m_lines
Lines -
m_confirms
Confirmations -
m_partner
BPartner -
m_reversal
protected boolean m_reversalReversal Flag -
m_processMsg
Process Message -
m_justPrepared
protected boolean m_justPreparedJust Prepared Flag -
docsPostProcess
-
-
Constructor Details
-
MInOut
UUID based Constructor- Parameters:
ctx- ContextM_InOut_UU- UUID keytrxName- Transaction
-
MInOut
Standard Constructor- Parameters:
ctx- contextM_InOut_ID-trxName- trx name
-
MInOut
- Parameters:
ctx-M_InOut_ID-trxName-virtualColumns-
-
MInOut
Load Constructor- Parameters:
ctx- contextrs- result set recordtrxName- transaction
-
MInOut
Order Constructor - create header only- Parameters:
order- ordermovementDate- optional movement date (default today)C_DocTypeShipment_ID- document type or 0
-
MInOut
public MInOut(MInvoice invoice, int C_DocTypeShipment_ID, Timestamp movementDate, int M_Warehouse_ID) Invoice Constructor - create header only- Parameters:
invoice- invoiceC_DocTypeShipment_ID- document type or 0movementDate- optional movement date (default today)M_Warehouse_ID- warehouse
-
MInOut
Copy Constructor - create header only- Parameters:
original- originalmovementDate- optional movement date (default today)C_DocTypeShipment_ID- document type or 0
-
-
Method Details
-
getNotFullyMatchedToOrder
public static List<MInOut.MatchingRecord> getNotFullyMatchedToOrder(int C_BPartner_ID, int M_Product_ID, int C_OrderLine_ID, Timestamp from, Timestamp to, String trxName) - Parameters:
C_BPartner_ID-M_Product_ID-C_OrderLine_ID-from-to-trxName-- Returns:
- list of material receipts not fully matched to order
-
getFullOrPartiallyMatchedToOrder
public static List<MInOut.MatchingRecord> getFullOrPartiallyMatchedToOrder(int C_BPartner_ID, int M_Product_ID, int C_OrderLine_ID, Timestamp from, Timestamp to, String trxName) - Parameters:
C_BPartner_ID-M_Product_ID-C_OrderLine_ID-from-to-trxName-- Returns:
- list of material receipts full or partially match to order
-
getNotFullyMatchedToInvoice
public static List<MInOut.MatchingRecord> getNotFullyMatchedToInvoice(int C_BPartner_ID, int M_Product_ID, int C_InvoiceLine_ID, Timestamp from, Timestamp to, String trxName) - Parameters:
C_BPartner_ID-M_Product_ID-C_InvoiceLine_ID-from-to-trxName-- Returns:
- list of material receipts not fully match to invoice
-
getFullOrPartiallyMatchedToInvoice
public static List<MInOut.MatchingRecord> getFullOrPartiallyMatchedToInvoice(int C_BPartner_ID, int M_Product_ID, int C_InvoiceLine_ID, Timestamp from, Timestamp to, String trxName) - Parameters:
C_BPartner_ID-M_Product_ID-C_InvoiceLine_ID-from-to-trxName-- Returns:
- list of material receipts full or partially match to invoice
-
createFrom
public static MInOut createFrom(MOrder order, Timestamp movementDate, boolean forceDelivery, boolean allAttributeInstances, Timestamp minGuaranteeDate, boolean complete, String trxName) Create Shipment From Order- Parameters:
order- ordermovementDate- optional movement dateforceDelivery- ignore order delivery ruleallAttributeInstances- if true, all attribute set instancesminGuaranteeDate- optional minimum guarantee date if all attribute instancescomplete- complete document (Process if false, Complete if true)trxName- transaction- Returns:
- Shipment or null
-
copyFrom
public static MInOut copyFrom(MInOut from, Timestamp dateDoc, Timestamp dateAcct, int C_DocType_ID, boolean isSOTrx, boolean counter, String trxName, boolean setOrder) Create new Shipment by copying- Parameters:
from- shipmentdateDoc- date of the document dateC_DocType_ID- doc typeisSOTrx- sales ordercounter- create counter linkstrxName- trxsetOrder- set the order link- Returns:
- Shipment
-
copyFrom
@Deprecated public static MInOut copyFrom(MInOut from, Timestamp dateDoc, int C_DocType_ID, boolean isSOTrx, boolean counter, String trxName, boolean setOrder) Deprecated.Create new Shipment by copying- Parameters:
from- shipmentdateDoc- date of the document dateC_DocType_ID- doc typeisSOTrx- sales ordercounter- create counter linkstrxName- trxsetOrder- set the order link- Returns:
- Shipment
-
getDocStatusName
Get Document Status Name- Returns:
- Document Status Name
-
addDescription
Add to Description- Parameters:
description- text
-
toString
String representation -
getDocumentInfo
Get Document Info- Specified by:
getDocumentInfoin interfaceDocAction- Returns:
- document info (not translated)
-
createPDF
Create PDF -
createPDF
Create PDF file- Parameters:
file- output file- Returns:
- file if success
-
getLines
Get Lines of Shipment- Parameters:
requery- refresh from db- Returns:
- lines
-
getLines
Get Lines of Shipment- Returns:
- lines
-
getConfirmations
Get Confirmations- Parameters:
requery- true to requery from DB- Returns:
- array of Confirmations
-
copyLinesFrom
Copy Lines From other Shipment- Parameters:
otherShipment- shipmentcounter- set counter infosetOrder- set order link- Returns:
- number of lines copied
-
setReversal
protected void setReversal(boolean reversal) Set reversal state (instance variable)- Parameters:
reversal- reversal
-
isReversal
public boolean isReversal()Is Reversal- Returns:
- true reversal state is set to true
-
setProcessed
public void setProcessed(boolean processed) Set Processed. Propagate to Lines/Taxes- Specified by:
setProcessedin interfaceI_M_InOut- Overrides:
setProcessedin classX_M_InOut- Parameters:
processed- processed
-
getBPartner
Get BPartner- Returns:
- business partner
-
setC_DocType_ID
Set Document Type- Parameters:
DocBaseType- MDocType.DOCBASETYPE_*
-
setC_DocType_ID
public void setC_DocType_ID()Set Default C_DocType_ID. Based on IsSOTrx flag. -
setBPartner
Set Business Partner Defaults and Details- Parameters:
bp- business partner
-
createConfirmation
public void createConfirmation()Create the missing next Confirmation -
voidConfirmations
protected void voidConfirmations()Void confirmations -
setM_Warehouse_ID
public void setM_Warehouse_ID(int M_Warehouse_ID) Set Warehouse and check/set Organization- Specified by:
setM_Warehouse_IDin interfaceI_M_InOut- Overrides:
setM_Warehouse_IDin classX_M_InOut- Parameters:
M_Warehouse_ID- id
-
getMovementType
public static String getMovementType(Properties ctx, int C_DocType_ID, boolean issotrx, String trxName) Get Movement Type based on Document Type's DocBaseType and isSOTrx- Parameters:
ctx-C_DocType_ID- Document Type IDissotrx- is sales transactiontrxName- transaction name- Returns:
- Movement Type (MOVEMENTTYPE_*)
-
setMovementType
public void setMovementType()Sets Movement Type based on Document Type's DocBaseType and isSOTrx -
beforeSave
protected boolean beforeSave(boolean newRecord) Description copied from class:POCalled before Save for Pre-Save Operation.
Default implementation is nop, to be implemented in sub-classes that needed it.- Overrides:
beforeSavein classPO- Parameters:
newRecord- true if it is a new record- Returns:
- true if record can be saved
-
afterSave
protected boolean afterSave(boolean newRecord, boolean success) Description copied from class:POCalled after Save for Post-Save Operation.
Default implementation is nop, to be implemented in sub-classes that needed it. -
processIt
Process document -
unlockIt
public boolean unlockIt()Unlock Document. -
invalidateIt
public boolean invalidateIt()Invalidate Document- Specified by:
invalidateItin interfaceDocAction- Returns:
- true if success
-
prepareIt
Prepare Document -
isCustomerReturn
public boolean isCustomerReturn()Check if Document is Customer Return.- Returns:
- True if Document is Customer Return
-
approveIt
public boolean approveIt()Approve Document -
rejectIt
public boolean rejectIt()Reject Approval -
completeIt
Complete Document- Specified by:
completeItin interfaceDocAction- Returns:
- new status (Complete, In Progress, Invalid, Waiting ..)
-
pendingCustomerConfirmations
public boolean pendingCustomerConfirmations()Outstanding (not processed) Customer Confirmations ?- Returns:
- true if there are pending Customer Confirmations (MInOutConfirm.CONFIRMTYPE_CustomerConfirmation)
-
pendingConfirmations
public boolean pendingConfirmations()Outstanding (not processed) Confirmations ?- Returns:
- true if there are pending Confirmations
-
addDocsPostProcess
Add doc for post processing (after processing of document action)- Parameters:
doc-
-
getDocsPostProcess
Description copied from interface:IDocsPostProcessGet documents to process after Complete or after Posting- Specified by:
getDocsPostProcessin interfaceIDocsPostProcess- Returns:
- List of doc to process after Complete or after Posting
-
createDropShipment
Automatically creates a customer shipment for any drop shipment material receipt. Based on createCounterDoc() by JJ.- Returns:
- shipment if created else null
-
setDefiniteDocumentNo
protected void setDefiniteDocumentNo()Set the definite document number after completed -
checkMaterialPolicy
Check Material Policy. Create MInOutLineMA and set line ASI (if needed).- Parameters:
line-qty-
-
autoBalanceNegative
protected BigDecimal autoBalanceNegative(MInOutLine line, MProduct product, BigDecimal qtyToReceive) -
createCounterDoc
Create Counter Document- Returns:
- InOut
-
voidIt
public boolean voidIt()Void Document. -
closeIt
public boolean closeIt()Close Document. -
reverseCorrectIt
public boolean reverseCorrectIt()Reverse Correction - same date- Specified by:
reverseCorrectItin interfaceDocAction- Returns:
- true if success
-
reverse
Reverse this document- Parameters:
accrual- true to create reversal document using current date, false to use the accounting date of this document- Returns:
- reversal MInOut
-
reverseMatching
Reverse match invoice and match PO.- Parameters:
reversalDate-- Returns:
- false if there errors, true otherwise
-
reverseAccrualIt
public boolean reverseAccrualIt()Reverse Accrual - current date- Specified by:
reverseAccrualItin interfaceDocAction- Returns:
- false
-
reActivateIt
public boolean reActivateIt()Re-activate- Specified by:
reActivateItin interfaceDocAction- Returns:
- false
-
getSummary
Get Summary- Specified by:
getSummaryin interfaceDocAction- Returns:
- Summary of Document
-
getProcessMsg
Get Process Message- Specified by:
getProcessMsgin interfaceDocAction- Returns:
- clear text error message
-
getDoc_User_ID
public int getDoc_User_ID()Get Document Owner (Responsible)- Specified by:
getDoc_User_IDin interfaceDocAction- Returns:
- AD_User_ID
-
getApprovalAmt
Get Document Approval Amount- Specified by:
getApprovalAmtin interfaceDocAction- Returns:
- 0
-
getC_Currency_ID
public int getC_Currency_ID()Get C_Currency_ID- Specified by:
getC_Currency_IDin interfaceDocAction- Returns:
- Accounting Currency
-
isComplete
public boolean isComplete()Document Status is Complete or Closed- Returns:
- true if CO, CL or RE
-
moveOnHandToShipmentASI
protected String moveOnHandToShipmentASI(MProduct product, int M_Locator_ID, int M_AttributeSetInstance_ID, BigDecimal qty, Timestamp dateMaterialPolicy, int M_InOutLine_ID, boolean reversal, String trxName) For product with mix of No ASI and ASI inventory, this move Non ASI on hand to the new ASI created at shipment line or shipment line ma- Parameters:
product-M_Locator_ID- shipment line locator idM_AttributeSetInstance_ID-qty-dateMaterialPolicy-M_InOutLine_ID-reversal-trxName-- Returns:
- error doc status if there are any errors, null otherwise
-
createLineFrom
public void createLineFrom(int C_OrderLine_ID, int C_InvoiceLine_ID, int M_RMALine_ID, int M_Product_ID, int C_UOM_ID, BigDecimal Qty, int M_Locator_ID) Create Line from orderline/invoiceline/rmaline- Parameters:
C_OrderLine_ID-C_InvoiceLine_ID-M_RMALine_ID-M_Product_ID-C_UOM_ID-Qty-M_Locator_ID-
-
updateFrom
Update from order/invoice/rma- if linked to another order/invoice/rma - remove link
- if no link set it
- Parameters:
order-invoice-rma-
-