Compiere 3.1

org.compiere.acct
Class FactLine

java.lang.Object
  extended by org.compiere.framework.PO
      extended by org.compiere.model.X_Fact_Acct
          extended by org.compiere.acct.FactLine
All Implemented Interfaces:
Serializable, Cloneable, Comparator<PO>, Evaluatee

public final class FactLine
extends X_Fact_Acct

Accounting Fact Entry.

Version:
$Id: FactLine.java,v 1.3 2006/07/30 00:53:33 jjanke Exp $
Author:
Jorg Janke
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.compiere.model.X_Fact_Acct
accessLevel, ACCOUNT_ID_AD_Reference_ID, AD_ORGTRX_ID_AD_Reference_ID, C_LOCFROM_ID_AD_Reference_ID, C_LOCTO_ID_AD_Reference_ID, Model, POSTINGTYPE_Actual, POSTINGTYPE_AD_Reference_ID, POSTINGTYPE_Budget, POSTINGTYPE_Commitment, POSTINGTYPE_Reservation, POSTINGTYPE_Statistical, Table_ID, Table_Name, updatedMS, USER1_ID_AD_Reference_ID, USER2_ID_AD_Reference_ID
 
Fields inherited from class org.compiere.framework.PO
ACCESSLEVEL_ALL, ACCESSLEVEL_CLIENT, ACCESSLEVEL_CLIENTORG, ACCESSLEVEL_ORG, ACCESSLEVEL_SYSTEM, ACCESSLEVEL_SYSTEMCLIENT, ENTITYTYPE_Dictionary, ENTITYTYPE_UserMaintained, I_ZERO, log, p_changeVO, p_info, XML_ATTRIBUTE_AD_Table_ID, XML_ATTRIBUTE_Record_ID
 
Constructor Summary
FactLine(Ctx ctx, int AD_Table_ID, int Record_ID, int Line_ID, String trxName)
          Constructor
 
Method Summary
 FactLine accrue(String description)
          Create Accrual (flip CR/DR) of the line
 void addDescription(String description)
          Set Description
protected  boolean beforeSave(boolean newRecord)
          Before Save
 boolean convert()
          Convert to Accounted Currency
 void currencyCorrect(BigDecimal deltaAmount)
          Currect Accounting Amount.
 MAccount getAccount()
          Get Account
 BigDecimal getAcctBalance()
          Get Accounted Balance
 int getAD_Org_ID()
          Get AD_Org_ID (balancing segment).
 int getC_SalesRegion_ID()
          Get/derive Sales Region
protected  DocLine getDocLine()
          Get Document Line
 BigDecimal getSourceBalance()
          Returns Source Balance of line
 boolean isBalanceSheet()
          Is Account on Balance Sheet
 boolean isDrSourceBalance()
          Is Debit Source Balance
 FactLine reverse(String description)
          Create Reversal (negate DR/CR) of the line
 void setAccount(MAcctSchema acctSchema, MAccount acct)
          Set Account Info
 void setAmtAcct(BigDecimal AmtAcctDr, BigDecimal AmtAcctCr)
          Set Accounted Amounts (alternative: call convert)
 boolean setAmtSource(int C_Currency_ID, BigDecimal AmtSourceDr, BigDecimal AmtSourceCr)
          Set Source Amounts
 void setDocumentInfo(Doc doc, DocLine docLine)
          Set Document Info
 void setLocation(int C_Location_ID, boolean isFrom)
          Set Location
 void setLocationFromBPartner(int C_BPartner_Location_ID, boolean isFrom)
          Set Location from Busoness Partner Location
 void setLocationFromLocator(int M_Locator_ID, boolean isFrom)
          Set Location from Locator
 void setLocationFromOrg(int AD_Org_ID, boolean isFrom)
          Set Location from Organization
 void setM_Locator_ID(int M_Locator_ID)
          Set Warehouse Locator
 String toString()
          To String
 boolean updateReverseLine(int AD_Table_ID, int Record_ID, int Line_ID, BigDecimal targetQty, BigDecimal documentQty, int C_Currency_ID)
          Update Line with reversed Original Amount in Accounting Currency.
 
Methods inherited from class org.compiere.model.X_Fact_Acct
get_AccessLevel, getA_Asset_ID, getAccount_ID, getAD_OrgTrx_ID, getAD_Table_ID, getAmtAcctCr, getAmtAcctDr, getAmtSourceCr, getAmtSourceDr, getC_AcctSchema_ID, getC_Activity_ID, getC_BPartner_ID, getC_Campaign_ID, getC_Currency_ID, getC_LocFrom_ID, getC_LocTo_ID, getC_Period_ID, getC_Project_ID, getC_ProjectPhase_ID, getC_ProjectTask_ID, getC_SubAcct_ID, getC_Tax_ID, getC_UOM_ID, getDateAcct, getDateTrx, getDescription, getFact_Acct_ID, getGL_Budget_ID, getGL_Category_ID, getKeyNamePair, getLine_ID, getM_Locator_ID, getM_Product_ID, getPostingType, getQty, getRecord_ID, getUser1_ID, getUser2_ID, getUserElement1_ID, getUserElement2_ID, initPO, isPostingTypeValid, setA_Asset_ID, setAccount_ID, setAD_OrgTrx_ID, setAD_Table_ID, setAmtAcctCr, setAmtAcctDr, setAmtSourceCr, setAmtSourceDr, setC_AcctSchema_ID, setC_Activity_ID, setC_BPartner_ID, setC_Campaign_ID, setC_Currency_ID, setC_LocFrom_ID, setC_LocTo_ID, setC_Period_ID, setC_Project_ID, setC_ProjectPhase_ID, setC_ProjectTask_ID, setC_SalesRegion_ID, setC_SubAcct_ID, setC_Tax_ID, setC_UOM_ID, setDateAcct, setDateTrx, setDescription, setFact_Acct_ID, setGL_Budget_ID, setGL_Category_ID, setLine_ID, setM_Product_ID, setPostingType, setQty, setRecord_ID, setUser1_ID, setUser2_ID, setUserElement1_ID, setUserElement2_ID
 
Methods inherited from class org.compiere.framework.PO
addAttachment, addAttachment, addError, afterDelete, afterSave, beforeDelete, compare, convertToBigDecimal, convertToBoolean, convertToInt, convertToTimestamp, copy, copyValues, copyValues, createAttachment, delete_Accounting, delete, delete, dump, dump, equals, get_ChangeVO, get_ColumnCount, get_ColumnDescription, get_ColumnDisplayType, get_ColumnIndex, get_ColumnLabel, get_ColumnLookup, get_ColumnName, get_DisplayValue, get_EntityType, get_HashMap, get_ID, get_IDOld, get_Info, get_KeyColumns, get_Logger, get_Table_ID, get_Table_ID, get_TableName, get_Translation, get_TrxName, get_Value, get_Value, get_ValueAsInt, get_ValueAsInt, get_ValueAsString, get_ValueDifference, get_ValueDifference, get_ValueOfColumn, get_ValueOld, get_ValueOld, get_ValueOldAsInt, get_ValuesAsString, get_WhereClause, get_xmlDocument, get_xmlString, get_xmlString, getAD_Client_ID, getAllIDs, getAttachment, getAttachment, getAttachmentData, getCreated, getCreatedBy, getCtx, getFindParameter, getPdfAttachment, getUpdated, getUpdatedBy, getVO, hashCode, insert_Accounting, is_Changed, is_KeyColumn, is_new, is_ValueChanged, is_ValueChanged, isActive, isAttachment, isColumnMandatory, isColumnUpdateable, isMandatoryOK, isPdfAttachment, load, load, load, load, loadComplete, loadDefaults, loadSpecial, lock, save, save, saveNew_getID, saveNewInsertSQL, saveNewSpecial, saveUpdate, set_ChangeVO, set_ColumnUpdateable, set_CustomColumn, set_TrxName, set_Value, set_Value, set_ValueE, set_ValueNoCheck, set_ValueNoCheckE, set_ValueOfColumn, set_ValueString, setAD_Client_ID, setAD_Org_ID, setClientOrg, setClientOrg, setContext, setCtx, setDocWorkflowMgr, setIsActive, setStandardDefaults, setUpdateable, setUpdatedBy, toStringX, unlock, update
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FactLine

public FactLine(Ctx ctx,
                int AD_Table_ID,
                int Record_ID,
                int Line_ID,
                String trxName)
Constructor

Parameters:
ctx - context
AD_Table_ID - - Table of Document Source
Record_ID - - Record of document
Line_ID - - Optional line id
trxName - transaction
Method Detail

reverse

public FactLine reverse(String description)
Create Reversal (negate DR/CR) of the line

Parameters:
description - new description
Returns:
reversal line

accrue

public FactLine accrue(String description)
Create Accrual (flip CR/DR) of the line

Parameters:
description - new description
Returns:
accrual line

setAccount

public void setAccount(MAcctSchema acctSchema,
                       MAccount acct)
Set Account Info

Parameters:
acctSchema - account schema
acct - account

setAmtSource

public boolean setAmtSource(int C_Currency_ID,
                            BigDecimal AmtSourceDr,
                            BigDecimal AmtSourceCr)
Set Source Amounts

Parameters:
C_Currency_ID - currency
AmtSourceDr - source amount dr
AmtSourceCr - source amount cr
Returns:
true, if any if the amount is not zero

setAmtAcct

public void setAmtAcct(BigDecimal AmtAcctDr,
                       BigDecimal AmtAcctCr)
Set Accounted Amounts (alternative: call convert)

Parameters:
AmtAcctDr - acct amount dr
AmtAcctCr - acct amount cr

setDocumentInfo

public void setDocumentInfo(Doc doc,
                            DocLine docLine)
Set Document Info

Parameters:
doc - document
docLine - doc line

getDocLine

protected DocLine getDocLine()
Get Document Line

Returns:
doc line

addDescription

public void addDescription(String description)
Set Description

Parameters:
description - description

setM_Locator_ID

public void setM_Locator_ID(int M_Locator_ID)
Set Warehouse Locator. - will overwrite Organization -

Overrides:
setM_Locator_ID in class X_Fact_Acct
Parameters:
M_Locator_ID - locator

setLocation

public void setLocation(int C_Location_ID,
                        boolean isFrom)
Set Location

Parameters:
C_Location_ID - location
isFrom - from

setLocationFromLocator

public void setLocationFromLocator(int M_Locator_ID,
                                   boolean isFrom)
Set Location from Locator

Parameters:
M_Locator_ID - locator
isFrom - from

setLocationFromBPartner

public void setLocationFromBPartner(int C_BPartner_Location_ID,
                                    boolean isFrom)
Set Location from Busoness Partner Location

Parameters:
C_BPartner_Location_ID - bp location
isFrom - from

setLocationFromOrg

public void setLocationFromOrg(int AD_Org_ID,
                               boolean isFrom)
Set Location from Organization

Parameters:
AD_Org_ID - org
isFrom - from

getSourceBalance

public BigDecimal getSourceBalance()
Returns Source Balance of line

Returns:
source balance

isDrSourceBalance

public boolean isDrSourceBalance()
Is Debit Source Balance

Returns:
true if DR source balance

getAcctBalance

public BigDecimal getAcctBalance()
Get Accounted Balance

Returns:
accounting balance

isBalanceSheet

public boolean isBalanceSheet()
Is Account on Balance Sheet

Returns:
true if account is a balance sheet account

currencyCorrect

public void currencyCorrect(BigDecimal deltaAmount)
Currect Accounting Amount.
  Example:    1       -1      1       -1
  Old         100/0   100/0   0/100   0/100
  New         99/0    101/0   0/99    0/101
  

Parameters:
deltaAmount - delta amount

convert

public boolean convert()
Convert to Accounted Currency

Returns:
true if converted

getAccount

public MAccount getAccount()
Get Account

Returns:
account

toString

public String toString()
To String

Overrides:
toString in class X_Fact_Acct
Returns:
String

getAD_Org_ID

public int getAD_Org_ID()
Get AD_Org_ID (balancing segment). (if not set directly - from document line, document, account, locator)

Note that Locator needs to be set before - otherwise segment balancing might produce the wrong results

Overrides:
getAD_Org_ID in class PO
Returns:
AD_Org_ID

getC_SalesRegion_ID

public int getC_SalesRegion_ID()
Get/derive Sales Region

Overrides:
getC_SalesRegion_ID in class X_Fact_Acct
Returns:
Sales Region

beforeSave

protected boolean beforeSave(boolean newRecord)
Before Save

Overrides:
beforeSave in class PO
Parameters:
newRecord - new
Returns:
true

updateReverseLine

public boolean updateReverseLine(int AD_Table_ID,
                                 int Record_ID,
                                 int Line_ID,
                                 BigDecimal targetQty,
                                 BigDecimal documentQty,
                                 int C_Currency_ID)
Update Line with reversed Original Amount in Accounting Currency. Also copies original dimensions like Project, etc. Called from Doc_MatchInv

Parameters:
AD_Table_ID - table
Record_ID - record
Line_ID - line
targetQty -
documentQty -
C_Currency_ID -
Returns:
true if success

Compiere 3.1

Compiere® is a registered trademark of ComPiere, Inc. ©2004-2008 HumanFlash.com All rights reserved.