Difference between revisions of "IDempiere Documents"

From iDempiere en
m
Line 2: Line 2:
 
__FORCETOC__
 
__FORCETOC__
 
= Various documents =
 
= Various documents =
 +
 +
Including:
  
 
* createSalesOrder
 
* createSalesOrder
Line 13: Line 15:
 
* createMovement
 
* createMovement
 
* createMovementLine
 
* createMovementLine
−
* createPaymentNoinvoice
 
−
* createInvoiceNoIo
 
  
 
* '''Source code:''' https://bitbucket.org/PedroRozo_SmartJSP/smartpos3-erp/src/6aa37da834fd9301db4e50ff2530be1087ff8b56/SmartPOSWeb/src/com/smj/util/Documents.java?at=default
 
* '''Source code:''' https://bitbucket.org/PedroRozo_SmartJSP/smartpos3-erp/src/6aa37da834fd9301db4e50ff2530be1087ff8b56/SmartPOSWeb/src/com/smj/util/Documents.java?at=default

Revision as of 16:29, 8 July 2015


Various documents

Including:

  • createSalesOrder
  • createPurchaseOrder
  • createOrderLine
  • createMInOut
  • createIOLine
  • createInvoice
  • createInvoiceLine
  • createPayment
  • createMovement
  • createMovementLine

Create payment

Example of payment creation, with various features.

private void createPayment() {
		
		m_payment = new MPayment(m_ctx, 0,  m_trxName);
		
		m_payment.setAD_Org_ID( m_AD_Org_ID );
		/****************************************************************************
		 * Set fields
		 ****************************************************************************/
		m_payment.setC_BPartner_ID( m_matchSetup.getC_BPartner_ID() );
		if ( ! m_payment.getC_BPartner().isActive() ) {
			throw new AdempiereException( String.format("Business Partner is inactive" ) );
		}
		m_payment.setDateAcct					( m_dateAcct );
		m_payment.setDateTrx						( m_dateAcct );
		m_payment.setPayAmt						( m_stmtAmt.abs() );
		m_payment.setC_BankAccount_ID			( m_C_BankAccount_ID );
//			if ( ! m_po.getC_BankAccount().isActive() ) {
//				throw new AdempiereException( String.format("Bank Account is inactive" ) );
//			}
		
//			m_po.setDocumentNo( thedocumentno );
		
		m_payment.setIsReceipt( m_isReceipt );
//		Still need to share NTierUtils on the Wiki
		m_payment.setC_Currency_ID( NTierUtils.getDefaultCurrencyID() );
//			
		m_payment.saveEx();
		
		// Chat - see http://wiki.idempiere.org/en/Code_Scratchpad:_Java:_General
		NTierChatUtils.addChat (m_payment.getCtx(), m_payment.get_TrxName(), 
				m_payment, 
				String.format(NBSM_Common.getChatPrefix() + "Payment created. ") + 
				String.format("Bank statement: '%s'/Line No: %s ", m_bankStatementName, m_bankStatementLineNo) +
				m_matchSetup.toString() );
		
		// Sanity check
		if ( m_payment.getAD_Org_ID() != m_AD_Org_ID ) {
			throw new AdempiereException( String.format(
					"The org has changed after saving the record. This is caused by the bank account " +
					" having a different org to the requested org. Please select a different bank account, " +
					" or correct the org on the selected bank account.") );
		}
		
		info.setC_Payment_ID( m_payment.get_ID() );
		
		/****************************************************************************
		 * Complete Document
		 ****************************************************************************/
		String docAction = DocAction.ACTION_Complete;
		m_payment.setDocAction( docAction );
		m_payment.processIt( docAction );
		m_payment.saveEx();
		
		if ( ! docAction.equals( m_payment.getDocStatus() )) {
			String msg = String.format("Error completing document: Invalid resulting status:- '%s' (expected '%s') Process Message:- '%s'", 
					m_payment.getDocStatus(), docAction, m_payment.getProcessMsg() );
			throw new AdempiereException( msg );
		}
		
//				addInfo("Payment has been created and successfully completed.");
		
		
		return;
		
	}

Credit: nTier Software Services http://www.ntier.co.za ngordon7000

Cookies help us deliver our services. By using our services, you agree to our use of cookies.