Current AD do not support multiples calendar for Org

http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
This commit is contained in:
vpj-cd 2009-01-23 19:12:00 +00:00
parent 7b34dc4a61
commit 78972c3a34
30 changed files with 736 additions and 106 deletions

View File

@ -19,9 +19,12 @@ import java.sql.Timestamp;
/**
* Period Closed Exception.
* This exception is throwed by
* {@link org.compiere.model.MPeriod#testPeriodOpen(java.util.Properties, Timestamp, int)} and
* {@link org.compiere.model.MPeriod#testPeriodOpen(java.util.Properties, Timestamp, String)} methods.
* {@link org.compiere.model.MPeriod#testPeriodOpen(java.util.Properties, Timestamp, int, int)} and
* {@link org.compiere.model.MPeriod#testPeriodOpen(java.util.Properties, Timestamp, String, int)} methods.
* @author Teo Sarca, SC ARHIPAC SERVICE SRL
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li>FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
*
*/
public class PeriodClosedException extends AdempiereException {

View File

@ -117,6 +117,9 @@ import org.eevolution.model.MPPCostCollector;
*
* </pre>
* @author Jorg Janke
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li>FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
* @version $Id: Doc.java,v 1.6 2006/07/30 00:53:33 jjanke Exp $
*/
public abstract class Doc
@ -1106,10 +1109,10 @@ public abstract class Doc
{
Integer ii = (Integer)p_po.get_Value(index);
if (ii != null)
m_period = MPeriod.get(getCtx(), ii.intValue());
m_period = MPeriod.get(getCtx(), ii.intValue(), getAD_Org_ID());
}
if (m_period == null)
m_period = MPeriod.get(getCtx(), getDateAcct());
m_period = MPeriod.get(getCtx(), getDateAcct(), getAD_Org_ID());
// Is Period Open?
if (m_period != null
&& m_period.isOpen(getDocumentType(), getDateAcct()))

View File

@ -39,6 +39,9 @@ import org.compiere.util.Env;
*
* FR [ 1840016 ] Avoid usage of clearing accounts - subject to C_AcctSchema.IsPostIfClearingEqual
* Avoid posting if both accounts BankAsset and BankInTransit are equal
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li>FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
*
*/
public class Doc_Bank extends Doc
@ -102,7 +105,7 @@ public class Doc_Bank extends Doc
// Set Date Acct
if (i == 0)
setDateAcct(line.getDateAcct());
MPeriod period = MPeriod.get(getCtx(), line.getDateAcct());
MPeriod period = MPeriod.get(getCtx(), line.getDateAcct(), line.getAD_Org_ID());
if (period != null && period.isOpen(DOCTYPE_BankStatement, line.getDateAcct()))
docLine.setC_Period_ID(period.getC_Period_ID());
//

View File

@ -20,6 +20,7 @@
package org.compiere.model;
import java.math.BigDecimal;
import java.sql.Timestamp;
import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_OrgInfo
@ -43,18 +44,13 @@ public interface I_AD_OrgInfo
/** Load Meta Data */
/** Column name AD_Org_ID */
public static final String COLUMNNAME_AD_Org_ID = "AD_Org_ID";
/** Column name AD_Client_ID */
public static final String COLUMNNAME_AD_Client_ID = "AD_Client_ID";
/** Set Organization.
* Organizational entity within client
/** Get Client.
* Client/Tenant for this installation.
*/
public void setAD_Org_ID (int AD_Org_ID);
/** Get Organization.
* Organizational entity within client
*/
public int getAD_Org_ID();
public int getAD_Client_ID();
/** Column name AD_OrgType_ID */
public static final String COLUMNNAME_AD_OrgType_ID = "AD_OrgType_ID";
@ -71,6 +67,34 @@ public interface I_AD_OrgInfo
public I_AD_OrgType getAD_OrgType() throws RuntimeException;
/** Column name AD_Org_ID */
public static final String COLUMNNAME_AD_Org_ID = "AD_Org_ID";
/** Set Organization.
* Organizational entity within client
*/
public void setAD_Org_ID (int AD_Org_ID);
/** Get Organization.
* Organizational entity within client
*/
public int getAD_Org_ID();
/** Column name C_Calendar_ID */
public static final String COLUMNNAME_C_Calendar_ID = "C_Calendar_ID";
/** Set Calendar.
* Accounting Calendar Name
*/
public void setC_Calendar_ID (int C_Calendar_ID);
/** Get Calendar.
* Accounting Calendar Name
*/
public int getC_Calendar_ID();
public I_C_Calendar getC_Calendar() throws RuntimeException;
/** Column name C_Location_ID */
public static final String COLUMNNAME_C_Location_ID = "C_Location_ID";
@ -84,6 +108,35 @@ public interface I_AD_OrgInfo
*/
public int getC_Location_ID();
/** Column name Created */
public static final String COLUMNNAME_Created = "Created";
/** Get Created.
* Date this record was created
*/
public Timestamp getCreated();
/** Column name CreatedBy */
public static final String COLUMNNAME_CreatedBy = "CreatedBy";
/** Get Created By.
* User who created this records
*/
public int getCreatedBy();
/** Column name DUNS */
public static final String COLUMNNAME_DUNS = "DUNS";
/** Set D-U-N-S.
* Dun & Bradstreet Number
*/
public void setDUNS (String DUNS);
/** Get D-U-N-S.
* Dun & Bradstreet Number
*/
public String getDUNS();
/** Column name DropShip_Warehouse_ID */
public static final String COLUMNNAME_DropShip_Warehouse_ID = "DropShip_Warehouse_ID";
@ -97,18 +150,18 @@ public interface I_AD_OrgInfo
*/
public int getDropShip_Warehouse_ID();
/** Column name DUNS */
public static final String COLUMNNAME_DUNS = "DUNS";
/** Column name IsActive */
public static final String COLUMNNAME_IsActive = "IsActive";
/** Set D-U-N-S.
* Dun & Bradstreet Number
/** Set Active.
* The record is active in the system
*/
public void setDUNS (String DUNS);
public void setIsActive (boolean IsActive);
/** Get D-U-N-S.
* Dun & Bradstreet Number
/** Get Active.
* The record is active in the system
*/
public String getDUNS();
public boolean isActive();
/** Column name M_Warehouse_ID */
public static final String COLUMNNAME_M_Warehouse_ID = "M_Warehouse_ID";
@ -198,4 +251,20 @@ public interface I_AD_OrgInfo
/** Get CashBook for transfers */
public int getTransferCashBook_ID();
/** Column name Updated */
public static final String COLUMNNAME_Updated = "Updated";
/** Get Updated.
* Date this record was updated
*/
public Timestamp getUpdated();
/** Column name UpdatedBy */
public static final String COLUMNNAME_UpdatedBy = "UpdatedBy";
/** Get Updated By.
* User who updated this records
*/
public int getUpdatedBy();
}

View File

@ -41,8 +41,12 @@ import org.compiere.util.Msg;
*
* @author Jorg Janke
* @version $Id: MAllocationHdr.java,v 1.3 2006/07/30 00:51:03 jjanke Exp $
* @author victor.perez@e-evolution.com www.e-evolution.com FR [ 1866214 ] http://sourceforge.net/tracker/index.php?func=detail&aid=1866214&group_id=176962&atid=879335
*/
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li>FR [ 1866214 ]
* @see http://sourceforge.net/tracker/index.php?func=detail&aid=1866214&group_id=176962&atid=879335
* <li>FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
*/
public final class MAllocationHdr extends X_C_AllocationHdr implements DocAction
{
/**
@ -301,7 +305,7 @@ public final class MAllocationHdr extends X_C_AllocationHdr implements DocAction
log.warning ("No transaction");
if (isPosted())
{
if (!MPeriod.isOpen(getCtx(), getDateTrx(), MDocType.DOCBASETYPE_PaymentAllocation))
if (!MPeriod.isOpen(getCtx(), getDateTrx(), MDocType.DOCBASETYPE_PaymentAllocation, getAD_Org_ID()))
{
log.warning ("Period Closed");
return false;
@ -390,7 +394,7 @@ public final class MAllocationHdr extends X_C_AllocationHdr implements DocAction
return DocAction.STATUS_Invalid;
// Std Period open?
if (!MPeriod.isOpen(getCtx(), getDateAcct(), MDocType.DOCBASETYPE_PaymentAllocation))
if (!MPeriod.isOpen(getCtx(), getDateAcct(), MDocType.DOCBASETYPE_PaymentAllocation, getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return DocAction.STATUS_Invalid;
@ -709,7 +713,7 @@ public final class MAllocationHdr extends X_C_AllocationHdr implements DocAction
throw new IllegalStateException("Allocation already reversed (not active)");
// Can we delete posting
if (!MPeriod.isOpen(getCtx(), getDateTrx(), MPeriodControl.DOCBASETYPE_PaymentAllocation))
if (!MPeriod.isOpen(getCtx(), getDateTrx(), MPeriodControl.DOCBASETYPE_PaymentAllocation, getAD_Org_ID()))
throw new IllegalStateException("@PeriodClosed@");
// Set Inactive

View File

@ -35,8 +35,11 @@ import org.compiere.util.Msg;
* Bank Statement Model
*
* @author Eldir Tomassen/Jorg Janke
* @author victor.perez@e-evolution.com fixed bug [ 1933645 ] Wrong balance Bank Statement
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li> BF [ 1933645 ] Wrong balance Bank Statement
* @see http://sourceforge.net/tracker/?func=detail&atid=879332&aid=1933645&group_id=176962
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
* @version $Id: MBankStatement.java,v 1.3 2006/07/30 00:51:03 jjanke Exp $
*/
public class MBankStatement extends X_C_BankStatement implements DocAction
@ -310,7 +313,7 @@ public class MBankStatement extends X_C_BankStatement implements DocAction
return DocAction.STATUS_Invalid;
// Std Period open?
if (!MPeriod.isOpen(getCtx(), getStatementDate(), MDocType.DOCBASETYPE_BankStatement))
if (!MPeriod.isOpen(getCtx(), getStatementDate(), MDocType.DOCBASETYPE_BankStatement, getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return DocAction.STATUS_Invalid;
@ -336,8 +339,8 @@ public class MBankStatement extends X_C_BankStatement implements DocAction
}
setStatementDifference(total);
setEndingBalance(getBeginningBalance().add(total));
if (!MPeriod.isOpen(getCtx(), minDate, MDocType.DOCBASETYPE_BankStatement)
|| !MPeriod.isOpen(getCtx(), maxDate, MDocType.DOCBASETYPE_BankStatement))
if (!MPeriod.isOpen(getCtx(), minDate, MDocType.DOCBASETYPE_BankStatement, 0)
|| !MPeriod.isOpen(getCtx(), maxDate, MDocType.DOCBASETYPE_BankStatement, 0))
{
m_processMsg = "@PeriodClosed@";
return DocAction.STATUS_Invalid;
@ -461,7 +464,7 @@ public class MBankStatement extends X_C_BankStatement implements DocAction
// Std Period open?
else
{
if (!MPeriod.isOpen(getCtx(), getStatementDate(), MDocType.DOCBASETYPE_BankStatement))
if (!MPeriod.isOpen(getCtx(), getStatementDate(), MDocType.DOCBASETYPE_BankStatement, getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return false;

View File

@ -37,7 +37,11 @@ import org.compiere.util.TimeUtil;
*
* @author Jorg Janke
* @version $Id: MCash.java,v 1.3 2006/07/30 00:51:03 jjanke Exp $
* @author victor.perez@e-evolution.com www.e-evolution.com FR [ 1866214 ] http://sourceforge.net/tracker/index.php?func=detail&aid=1866214&group_id=176962&atid=879335
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li>FR [ 1866214 ]
* @see http://sourceforge.net/tracker/index.php?func=detail&aid=1866214&group_id=176962&atid=879335
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
* @author Teo Sarca, SC ARHIPAC SERVICE SRL
* <li>BF [ 1831997 ] Cash journal allocation reversed
* <li>BF [ 1894524 ] Pay an reversed invoice
@ -349,7 +353,7 @@ public class MCash extends X_C_Cash implements DocAction
return DocAction.STATUS_Invalid;
// Std Period open?
if (!MPeriod.isOpen(getCtx(), getDateAcct(), MDocType.DOCBASETYPE_CashJournal))
if (!MPeriod.isOpen(getCtx(), getDateAcct(), MDocType.DOCBASETYPE_CashJournal, getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return DocAction.STATUS_Invalid;
@ -591,7 +595,7 @@ public class MCash extends X_C_Cash implements DocAction
}
// Can we delete posting
if (!MPeriod.isOpen(getCtx(), this.getDateAcct(), MPeriodControl.DOCBASETYPE_CashJournal))
if (!MPeriod.isOpen(getCtx(), this.getDateAcct(), MPeriodControl.DOCBASETYPE_CashJournal, getAD_Org_ID()))
throw new IllegalStateException("@PeriodClosed@");
// Reverse Allocations

View File

@ -43,8 +43,10 @@ import org.compiere.util.Msg;
* Modifications: Added the RMA functionality (Ashley Ramdass)
* @author Karsten Thiemann, Schaeffer AG
* <li>Bug [ 1759431 ] Problems with VCreateFrom
* @author victor.perez@e-evolution.com, e-Evolution
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li>FR [ 1948157 ] Is necessary the reference for document reverse
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
* @author Armen Rizal, Goodwill Consulting
* <li>BF [ 1745154 ] Cost in Reversing Material Related Docs
* @see http://sourceforge.net/tracker/?func=detail&atid=879335&aid=1948157&group_id=176962
@ -1064,7 +1066,7 @@ public class MInOut extends X_M_InOut implements DocAction
return DocAction.STATUS_Invalid;
}
// Std Period open?
if (!MPeriod.isOpen(getCtx(), getDateAcct(), dt.getDocBaseType()))
if (!MPeriod.isOpen(getCtx(), getDateAcct(), dt.getDocBaseType(), getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return DocAction.STATUS_Invalid;
@ -1979,7 +1981,7 @@ public class MInOut extends X_M_InOut implements DocAction
return false;
MDocType dt = MDocType.get(getCtx(), getC_DocType_ID());
if (!MPeriod.isOpen(getCtx(), getDateAcct(), dt.getDocBaseType()))
if (!MPeriod.isOpen(getCtx(), getDateAcct(), dt.getDocBaseType(), getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return false;

View File

@ -38,8 +38,10 @@ import org.compiere.util.Msg;
*
* @author Jorg Janke
* @version $Id: MInventory.java,v 1.3 2006/07/30 00:51:05 jjanke Exp $
* @author victor.perez@e-evolution.com, e-Evolution
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li>FR [ 1948157 ] Is necessary the reference for document reverse
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
* @author Armen Rizal, Goodwill Consulting
* <li>BF [ 1745154 ] Cost in Reversing Material Related Docs
* @see http://sourceforge.net/tracker/?func=detail&atid=879335&aid=1948157&group_id=176962
@ -327,7 +329,7 @@ public class MInventory extends X_M_Inventory implements DocAction
return DocAction.STATUS_Invalid;
// Std Period open?
if (!MPeriod.isOpen(getCtx(), getMovementDate(), MDocType.DOCBASETYPE_MaterialPhysicalInventory))
if (!MPeriod.isOpen(getCtx(), getMovementDate(), MDocType.DOCBASETYPE_MaterialPhysicalInventory, getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return DocAction.STATUS_Invalid;
@ -760,7 +762,7 @@ public class MInventory extends X_M_Inventory implements DocAction
return false;
MDocType dt = MDocType.get(getCtx(), getC_DocType_ID());
if (!MPeriod.isOpen(getCtx(), getMovementDate(), dt.getDocBaseType()))
if (!MPeriod.isOpen(getCtx(), getMovementDate(), dt.getDocBaseType(), getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return false;

View File

@ -46,8 +46,10 @@ import org.eevolution.model.MPPProductBOMLine;
*
* @author Jorg Janke
* @version $Id: MInvoice.java,v 1.2 2006/07/30 00:51:02 jjanke Exp $
* @author victor.perez@e-evolution.com
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* @see http://sourceforge.net/tracker/?func=detail&atid=879335&aid=1948157&group_id=176962
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
* Modifications: Added RMA functionality (Ashley Ramdass)
*/
public class MInvoice extends X_C_Invoice implements DocAction
@ -1372,7 +1374,7 @@ public class MInvoice extends X_C_Invoice implements DocAction
MDocType dt = MDocType.get(getCtx(), getC_DocTypeTarget_ID());
// Std Period open?
if (!MPeriod.isOpen(getCtx(), getDateAcct(), dt.getDocBaseType()))
if (!MPeriod.isOpen(getCtx(), getDateAcct(), dt.getDocBaseType(), getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return DocAction.STATUS_Invalid;
@ -2201,7 +2203,7 @@ public class MInvoice extends X_C_Invoice implements DocAction
return false;
MDocType dt = MDocType.get(getCtx(), getC_DocType_ID());
if (!MPeriod.isOpen(getCtx(), getDateAcct(), dt.getDocBaseType()))
if (!MPeriod.isOpen(getCtx(), getDateAcct(), dt.getDocBaseType(), getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return false;

View File

@ -39,10 +39,12 @@ import org.compiere.util.Msg;
* @author Teo Sarca, SC ARHIPAC SERVICE SRL
* <li>BF [ 1619150 ] Usability/Consistency: reversed gl journal description
* <li>BF [ 1775358 ] GL Journal DateAcct/C_Period_ID issue
* @author victor.perez@e-evolution.com, e-Evolution
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li>FR [ 1948157 ] Is necessary the reference for document reverse
* @see http://sourceforge.net/tracker/?func=detail&atid=879335&aid=1948157&group_id=176962
* <li>FR: [ 2214883 ] Remove SQL code and Replace for Query
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
*/
public class MJournal extends X_GL_Journal implements DocAction
{
@ -162,7 +164,7 @@ public class MJournal extends X_GL_Journal implements DocAction
return;
if (getC_Period_ID() != 0)
return;
int C_Period_ID = MPeriod.getC_Period_ID(getCtx(), DateAcct);
int C_Period_ID = MPeriod.getC_Period_ID(getCtx(), DateAcct, getAD_Org_ID());
if (C_Period_ID == 0)
log.warning("setDateAcct - Period not found");
else
@ -403,7 +405,7 @@ public class MJournal extends X_GL_Journal implements DocAction
MDocType dt = MDocType.get(getCtx(), getC_DocType_ID());
// Get Period
MPeriod period = MPeriod.get (getCtx(), getDateAcct());
MPeriod period = MPeriod.get (getCtx(), getDateAcct(), getAD_Org_ID());
if (period == null)
{
log.warning("No Period for " + getDateAcct());

View File

@ -36,9 +36,11 @@ import org.compiere.util.Msg;
* Journal Batch Model
*
* @author Jorg Janke
* @author victor.perez@e-evolution.com, e-Evolution
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li>FR [ 1948157 ] Is necessary the reference for document reverse
* @see http://sourceforge.net/tracker/?func=detail&atid=879335&aid=1948157&group_id=176962
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
* @version $Id: MJournalBatch.java,v 1.3 2006/07/30 00:51:03 jjanke Exp $
*/
public class MJournalBatch extends X_GL_JournalBatch implements DocAction
@ -168,7 +170,7 @@ public class MJournalBatch extends X_GL_JournalBatch implements DocAction
return;
if (getC_Period_ID() != 0)
return;
int C_Period_ID = MPeriod.getC_Period_ID(getCtx(), DateAcct);
int C_Period_ID = MPeriod.getC_Period_ID(getCtx(), DateAcct, getAD_Org_ID());
if (C_Period_ID == 0)
log.warning("Period not found");
else
@ -308,7 +310,7 @@ public class MJournalBatch extends X_GL_JournalBatch implements DocAction
MDocType dt = MDocType.get(getCtx(), getC_DocType_ID());
// Std Period open?
if (!MPeriod.isOpen(getCtx(), getDateAcct(), dt.getDocBaseType()))
if (!MPeriod.isOpen(getCtx(), getDateAcct(), dt.getDocBaseType(), getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return DocAction.STATUS_Invalid;

View File

@ -40,7 +40,9 @@ import org.compiere.util.Env;
*
* @author Teo Sarca, SC ARHIPAC SERVICE SRL
* <li>BF [ 1926113 ] MMatchInv.getNewerDateAcct() should work in trx
*
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
* @author Bayu Cahya, Sistematika
* <li>BF [ 2240484 ] Re MatchingPO, MMatchPO doesn't contains Invoice info
*
@ -358,7 +360,7 @@ public class MMatchInv extends X_M_MatchInv
{
if (isPosted())
{
MPeriod.testPeriodOpen(getCtx(), getDateTrx(), MDocType.DOCBASETYPE_MatchInvoice);
MPeriod.testPeriodOpen(getCtx(), getDateTrx(), MDocType.DOCBASETYPE_MatchInvoice, getAD_Org_ID());
setPosted(false);
MFactAcct.deleteEx (Table_ID, get_ID(), get_TrxName());
}

View File

@ -46,6 +46,10 @@ import org.compiere.util.Env;
*
* @author Armen Rizal, Goodwill Consulting
* <li>BF [ 2215840 ] MatchPO Bug Collection
*
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
*/
public class MMatchPO extends X_M_MatchPO
{
@ -721,7 +725,7 @@ public class MMatchPO extends X_M_MatchPO
{
if (isPosted())
{
MPeriod.testPeriodOpen(getCtx(), getDateTrx(), MDocType.DOCBASETYPE_MatchPO);
MPeriod.testPeriodOpen(getCtx(), getDateTrx(), MDocType.DOCBASETYPE_MatchPO, getAD_Org_ID());
setPosted(false);
MFactAcct.deleteEx (Table_ID, get_ID(), get_TrxName());
}

View File

@ -37,9 +37,11 @@ import org.eevolution.model.MDDOrderLine;
* Inventory Movement Model
*
* @author Jorg Janke
* @author victor.perez@e-evolution.com, e-Evolution
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li>FR [ 1948157 ] Is necessary the reference for document reverse
* @see http://sourceforge.net/tracker/?func=detail&atid=879335&aid=1948157&group_id=176962
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
* @author Armen Rizal, Goodwill Consulting
* <li>BF [ 1745154 ] Cost in Reversing Material Related Docs
* @version $Id: MMovement.java,v 1.3 2006/07/30 00:51:03 jjanke Exp $
@ -297,7 +299,7 @@ public class MMovement extends X_M_Movement implements DocAction
MDocType dt = MDocType.get(getCtx(), getC_DocType_ID());
// Std Period open?
if (!MPeriod.isOpen(getCtx(), getMovementDate(), dt.getDocBaseType()))
if (!MPeriod.isOpen(getCtx(), getMovementDate(), dt.getDocBaseType(), getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return DocAction.STATUS_Invalid;
@ -860,7 +862,7 @@ public class MMovement extends X_M_Movement implements DocAction
return false;
MDocType dt = MDocType.get(getCtx(), getC_DocType_ID());
if (!MPeriod.isOpen(getCtx(), getMovementDate(), dt.getDocBaseType()))
if (!MPeriod.isOpen(getCtx(), getMovementDate(), dt.getDocBaseType(), getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return false;

View File

@ -35,6 +35,10 @@ import org.compiere.util.Msg;
* Inventory Movement Confirmation
*
* @author Jorg Janke
*
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
* @version $Id: MMovementConfirm.java,v 1.3 2006/07/30 00:51:03 jjanke Exp $
*/
public class MMovementConfirm extends X_M_MovementConfirm implements DocAction
@ -293,7 +297,7 @@ public class MMovementConfirm extends X_M_MovementConfirm implements DocAction
return DocAction.STATUS_Invalid;
// Std Period open?
if (!MPeriod.isOpen(getCtx(), getUpdated(), MDocType.DOCBASETYPE_MaterialMovement))
if (!MPeriod.isOpen(getCtx(), getUpdated(), MDocType.DOCBASETYPE_MaterialMovement, getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return DocAction.STATUS_Invalid;

View File

@ -47,6 +47,10 @@ import org.eevolution.model.MPPProductBOMLine;
* Use DocAction and C_DocTypeTarget_ID instead.
*
* @author Jorg Janke
*
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
* @version $Id: MOrder.java,v 1.5 2006/10/06 00:42:24 jjanke Exp $
*/
public class MOrder extends X_C_Order implements DocAction
@ -1104,7 +1108,7 @@ public class MOrder extends X_C_Order implements DocAction
MDocType dt = MDocType.get(getCtx(), getC_DocTypeTarget_ID());
// Std Period open?
if (!MPeriod.isOpen(getCtx(), getDateAcct(), dt.getDocBaseType()))
if (!MPeriod.isOpen(getCtx(), getDateAcct(), dt.getDocBaseType(), getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return DocAction.STATUS_Invalid;

View File

@ -62,12 +62,16 @@ import org.compiere.util.ValueNamePair;
* When Payment is posed, the Allocation is made
* </pre>
* @author Jorg Janke
* @author victor.perez@e-evolution.com, e-Evolution
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li>FR [ 1948157 ] Is necessary the reference for document reverse
* @see http://sourceforge.net/tracker/?func=detail&atid=879335&aid=1948157&group_id=176962
* @version $Id: MPayment.java,v 1.4 2006/10/02 05:18:39 jjanke Exp $
* @author victor.perez@e-evolution.com www.e-evolution.com FR [ 1866214 ] http://sourceforge.net/tracker/index.php?func=detail&aid=1866214&group_id=176962&atid=879335
* <li> FR [ 1866214 ]
* @sse http://sourceforge.net/tracker/index.php?func=detail&aid=1866214&group_id=176962&atid=879335
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
*
* @author Carlos Ruiz - globalqss [ 2141475 ] Payment <> allocations must not be completed - implement lots of validations on prepareIt
* @version $Id: MPayment.java,v 1.4 2006/10/02 05:18:39 jjanke Exp $
*/
public final class MPayment extends X_C_Payment
implements DocAction, ProcessCall
@ -1597,7 +1601,7 @@ public final class MPayment extends X_C_Payment
// Std Period open?
if (!MPeriod.isOpen(getCtx(), getDateAcct(),
isReceipt() ? X_C_DocType.DOCBASETYPE_ARReceipt : X_C_DocType.DOCBASETYPE_APPayment))
isReceipt() ? X_C_DocType.DOCBASETYPE_ARReceipt : X_C_DocType.DOCBASETYPE_APPayment, getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return DocAction.STATUS_Invalid;
@ -2274,7 +2278,7 @@ public final class MPayment extends X_C_Payment
// Std Period open?
Timestamp dateAcct = getDateAcct();
if (!MPeriod.isOpen(getCtx(), dateAcct,
isReceipt() ? X_C_DocType.DOCBASETYPE_ARReceipt : X_C_DocType.DOCBASETYPE_APPayment))
isReceipt() ? X_C_DocType.DOCBASETYPE_ARReceipt : X_C_DocType.DOCBASETYPE_APPayment, getAD_Org_ID()))
dateAcct = new Timestamp(System.currentTimeMillis());
// Auto Reconcile if not on Bank Statement

View File

@ -44,6 +44,10 @@ import org.compiere.util.TimeUtil;
* @author Teo Sarca, SC ARHIPAC SERVICE SRL
* <li>BF [ 1779438 ] Minor auto period control bug
* <li>BF [ 1893486 ] Auto Period Control return that period is always open
*
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
*/
public class MPeriod extends X_C_Period
{
@ -52,6 +56,7 @@ public class MPeriod extends X_C_Period
* @param ctx context
* @param C_Period_ID id
* @return MPeriod
* @deprecated
*/
public static MPeriod get (Properties ctx, int C_Period_ID)
{
@ -66,11 +71,32 @@ public class MPeriod extends X_C_Period
return retValue;
} // get
/**
* Get Period from Cache
* @param ctx context
* @param C_Period_ID id
* @param AD_Org_ID Organization
* @return MPeriod
*/
public static MPeriod get (Properties ctx, int C_Period_ID, int AD_Org_ID)
{
Integer key = new Integer(C_Period_ID);
MPeriod retValue = (MPeriod) s_cache.get (key);
if (retValue != null)
return retValue;
//
retValue = new MPeriod (ctx, C_Period_ID, null);
if (retValue.get_ID () != 0)
s_cache.put (key, retValue);
return retValue;
} // get
/**
* Find standard Period of DateAcct based on Client Calendar
* @param ctx context
* @param DateAcct date
* @return active Period or null
* @deprecated
*/
public static MPeriod get (Properties ctx, Timestamp DateAcct)
{
@ -128,11 +154,90 @@ public class MPeriod extends X_C_Period
return retValue;
} // get
/**
* Find standard Period of DateAcct based on Client Calendar
* @param ctx context
* @param DateAcct date
* @param AD_Org_ID Organization
* @return active Period or null
*/
public static MPeriod get (Properties ctx, Timestamp DateAcct, int AD_Org_ID)
{
int AD_Client_ID = Env.getAD_Client_ID(ctx);
if (DateAcct == null)
return null;
int C_Calendar_ID = 0;
if (AD_Org_ID != 0)
{
MOrgInfo info = MOrgInfo.get(ctx, AD_Org_ID);
C_Calendar_ID = info.getC_Calendar_ID();
}
if (C_Calendar_ID == 0)
{
MClientInfo cInfo = MClientInfo.get(ctx);
C_Calendar_ID = cInfo.getC_Calendar_ID();
}
// Search in Cache first
Iterator<MPeriod> it = s_cache.values().iterator();
while (it.hasNext())
{
MPeriod period = (MPeriod)it.next();
if (period.getC_Calendar_ID() == C_Calendar_ID && period.isStandardPeriod() && period.isInPeriod(DateAcct)
&& period.getAD_Client_ID() == AD_Client_ID) // globalqss - CarlosRuiz - Fix [ 1820810 ] Wrong Period Assigned to Fact_Acct
return period;
}
// Get it from DB
MPeriod retValue = null;
String sql = "SELECT * "
+ "FROM C_Period "
+ "WHERE C_Year_ID IN "
+ "(SELECT C_Year_ID FROM C_Year WHERE C_Calendar_ID= ?)"
+ " AND ? BETWEEN TRUNC(StartDate) AND TRUNC(EndDate)"
+ " AND IsActive=? AND PeriodType=?";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
pstmt = DB.prepareStatement(sql, null);
pstmt.setInt (1, C_Calendar_ID);
pstmt.setTimestamp (2, TimeUtil.getDay(DateAcct));
pstmt.setString(3, "Y");
pstmt.setString(4, "S");
rs = pstmt.executeQuery();
while (rs.next())
{
MPeriod period = new MPeriod(ctx, rs, null);
Integer key = new Integer(period.getC_Period_ID());
s_cache.put (key, period);
if (period.isStandardPeriod())
retValue = period;
}
}
catch (SQLException e)
{
s_log.log(Level.SEVERE, "DateAcct=" + DateAcct, e);
}
finally
{
DB.close(rs, pstmt);
rs = null; pstmt = null;
}
if (retValue == null)
s_log.warning("No Standard Period for " + DateAcct
+ " (AD_Client_ID=" + AD_Client_ID + ")");
return retValue;
} // get
/**
* Find valid standard Period of DateAcct based on Client Calendar
* @param ctx context
* @param DateAcct date
* @return C_Period_ID or 0
* @deprecated
*/
public static int getC_Period_ID (Properties ctx, Timestamp DateAcct)
{
@ -142,12 +247,28 @@ public class MPeriod extends X_C_Period
return period.getC_Period_ID();
} // getC_Period_ID
/**
* Find valid standard Period of DateAcct based on Client Calendar
* @param ctx context
* @param DateAcct date
* @param AD_Org_ID Organization
* @return C_Period_ID or 0
*/
public static int getC_Period_ID (Properties ctx, Timestamp DateAcct, int AD_Org_ID)
{
MPeriod period = get (ctx, DateAcct, AD_Org_ID);
if (period == null)
return 0;
return period.getC_Period_ID();
} // getC_Period_ID
/**
* Is standard Period Open for Document Base Type
* @param ctx context
* @param DateAcct date
* @param DocBaseType base type
* @return true if open
* @deprecated
*/
public static boolean isOpen (Properties ctx, Timestamp DateAcct, String DocBaseType)
{
@ -174,11 +295,45 @@ public class MPeriod extends X_C_Period
return open;
} // isOpen
/**
* Is standard Period Open for Document Base Type
* @param ctx context
* @param DateAcct date
* @param DocBaseType base type
* @param AD_Org_ID Organization
* @return true if open
*/
public static boolean isOpen (Properties ctx, Timestamp DateAcct, String DocBaseType, int AD_Org_ID)
{
if (DateAcct == null)
{
s_log.warning("No DateAcct");
return false;
}
if (DocBaseType == null)
{
s_log.warning("No DocBaseType");
return false;
}
MPeriod period = MPeriod.get (ctx, DateAcct, AD_Org_ID);
if (period == null)
{
s_log.warning("No Period for " + DateAcct + " (" + DocBaseType + ")");
return false;
}
boolean open = period.isOpen(DocBaseType, DateAcct);
if (!open)
s_log.warning(period.getName()
+ ": Not open for " + DocBaseType + " (" + DateAcct + ")");
return open;
} // isOpen
/**
* Find first Year Period of DateAcct based on Client Calendar
* @param ctx context
* @param DateAcct date
* @return active first Period
* @deprecated
*/
public static MPeriod getFirstInYear (Properties ctx, Timestamp DateAcct)
{
@ -218,12 +373,63 @@ public class MPeriod extends X_C_Period
return retValue;
} // getFirstInYear
/**
* Find first Year Period of DateAcct based on Client Calendar
* @param ctx context
* @param DateAcct date
* @param AD_Org_ID TODO
* @return active first Period
*/
public static MPeriod getFirstInYear (Properties ctx, Timestamp DateAcct, int AD_Org_ID)
{
MPeriod retValue = null;
int C_Calendar_ID = MPeriod.get(ctx, DateAcct, AD_Org_ID).getC_Calendar_ID();
String sql = "SELECT * "
+ "FROM C_Period "
+ "WHERE C_Year_ID IN "
+ "(SELECT p.C_Year_ID "
+ "FROM C_Year y"
+ " INNER JOIN C_Period p ON (y.C_Year_ID=p.C_Year_ID) "
+ "WHERE y.C_Calendar_ID=?"
+ " AND ? BETWEEN StartDate AND EndDate)"
+ " AND IsActive=? AND PeriodType=? "
+ "ORDER BY StartDate";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
pstmt = DB.prepareStatement(sql, null);
pstmt.setInt (1, C_Calendar_ID);
pstmt.setTimestamp (2, DateAcct);
pstmt.setString (3, "Y");
pstmt.setString (4, "S");
rs = pstmt.executeQuery();
if (rs.next()) // first only
retValue = new MPeriod(ctx, rs, null);
}
catch (SQLException e)
{
s_log.log(Level.SEVERE, sql, e);
}
finally
{
DB.close(rs, pstmt);
rs = null; pstmt = null;
}
return retValue;
} // getFirstInYear
/** Cache */
private static CCache<Integer,MPeriod> s_cache = new CCache<Integer,MPeriod>("C_Period", 10);
/** Logger */
private static CLogger s_log = CLogger.getCLogger (MPeriod.class);
/** Calendar */
private int m_C_Calendar_ID = 0;
/**************************************************************************
* Standard Constructor
@ -553,6 +759,7 @@ public class MPeriod extends X_C_Period
* @param docBaseType
* @throws PeriodClosedException if period is closed
* @see #isOpen(Properties, Timestamp, String)
* @deprecated
*/
public static void testPeriodOpen(Properties ctx, Timestamp dateAcct, String docBaseType)
throws PeriodClosedException
@ -566,9 +773,27 @@ public class MPeriod extends X_C_Period
* Conventient method for testing if a period is open
* @param ctx
* @param dateAcct
* @param docBaseType
* @param AD_Org_ID Organization
* @throws PeriodClosedException if period is closed
* @see #isOpen(Properties, Timestamp, String, int)
*/
public static void testPeriodOpen(Properties ctx, Timestamp dateAcct, String docBaseType, int AD_Org_ID)
throws PeriodClosedException
{
if (!MPeriod.isOpen(ctx, dateAcct, docBaseType, AD_Org_ID)) {
throw new PeriodClosedException(dateAcct, docBaseType);
}
}
/**
* Conventient method for testing if a period is open
* @param ctx
* @param dateAcct
* @param C_DocType_ID
* @throws PeriodClosedException
* @see {@link #isOpen(Properties, Timestamp, String)}
* @deprecated
*/
public static void testPeriodOpen(Properties ctx, Timestamp dateAcct, int C_DocType_ID)
throws PeriodClosedException
@ -576,4 +801,37 @@ public class MPeriod extends X_C_Period
MDocType dt = MDocType.get(ctx, C_DocType_ID);
testPeriodOpen(ctx, dateAcct, dt.getDocBaseType());
}
/**
* Conventient method for testing if a period is open
* @param ctx
* @param dateAcct
* @param C_DocType_ID
* @param AD_Org_ID Organization
* @throws PeriodClosedException
* @see {@link #isOpen(Properties, Timestamp, String, int)}
*/
public static void testPeriodOpen(Properties ctx, Timestamp dateAcct, int C_DocType_ID, int AD_Org_ID)
throws PeriodClosedException
{
MDocType dt = MDocType.get(ctx, C_DocType_ID);
testPeriodOpen(ctx, dateAcct, dt.getDocBaseType(), AD_Org_ID);
}
/**
* Get Calendar of Period
* @return calendar
*/
public int getC_Calendar_ID()
{
if (m_C_Calendar_ID == 0)
{
MYear year = (MYear) getC_Year();
if (year != null)
m_C_Calendar_ID = year.getC_Calendar_ID();
else
log.severe("@NotFound@ C_Year_ID=" + getC_Year_ID());
}
return m_C_Calendar_ID;
} // getC_Calendar_ID
} // MPeriod

View File

@ -35,6 +35,10 @@ import org.compiere.util.Msg;
* Requisition Model
*
* @author Jorg Janke
*
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
* @version $Id: MRequisition.java,v 1.2 2006/07/30 00:51:05 jjanke Exp $
*/
public class MRequisition extends X_M_Requisition implements DocAction
@ -265,7 +269,7 @@ public class MRequisition extends X_M_Requisition implements DocAction
return DocAction.STATUS_Invalid;
// Std Period open?
if (!MPeriod.isOpen(getCtx(), getDateDoc(), MDocType.DOCBASETYPE_PurchaseRequisition))
if (!MPeriod.isOpen(getCtx(), getDateDoc(), MDocType.DOCBASETYPE_PurchaseRequisition, getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return DocAction.STATUS_Invalid;

View File

@ -36,6 +36,10 @@ import org.compiere.util.Msg;
* Time + Expense Model
*
* @author Jorg Janke
*
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
* @version $Id: MTimeExpense.java,v 1.4 2006/07/30 00:51:03 jjanke Exp $
*/
public class MTimeExpense extends X_S_TimeExpense implements DocAction
@ -303,7 +307,7 @@ public class MTimeExpense extends X_S_TimeExpense implements DocAction
return DocAction.STATUS_Invalid;
// Std Period open? - AP (Reimbursement) Invoice
if (!MPeriod.isOpen(getCtx(), getDateReport(), MDocType.DOCBASETYPE_APInvoice))
if (!MPeriod.isOpen(getCtx(), getDateReport(), MDocType.DOCBASETYPE_APInvoice, getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return DocAction.STATUS_Invalid;

View File

@ -31,7 +31,7 @@ public class X_AD_OrgInfo extends PO implements I_AD_OrgInfo, I_Persistent
/**
*
*/
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 20081221L;
/** Standard Constructor */
public X_AD_OrgInfo (Properties ctx, int AD_OrgInfo_ID, String trxName)
@ -113,6 +113,45 @@ public class X_AD_OrgInfo extends PO implements I_AD_OrgInfo, I_Persistent
return ii.intValue();
}
public I_C_Calendar getC_Calendar() throws RuntimeException
{
Class<?> clazz = MTable.getClass(I_C_Calendar.Table_Name);
I_C_Calendar result = null;
try {
Constructor<?> constructor = null;
constructor = clazz.getDeclaredConstructor(new Class[]{Properties.class, int.class, String.class});
result = (I_C_Calendar)constructor.newInstance(new Object[] {getCtx(), new Integer(getC_Calendar_ID()), get_TrxName()});
} catch (Exception e) {
log.log(Level.SEVERE, "(id) - Table=" + Table_Name + ",Class=" + clazz, e);
log.saveError("Error", "Table=" + Table_Name + ",Class=" + clazz);
throw new RuntimeException( e );
}
return result;
}
/** Set Calendar.
@param C_Calendar_ID
Accounting Calendar Name
*/
public void setC_Calendar_ID (int C_Calendar_ID)
{
if (C_Calendar_ID < 1)
set_Value (COLUMNNAME_C_Calendar_ID, null);
else
set_Value (COLUMNNAME_C_Calendar_ID, Integer.valueOf(C_Calendar_ID));
}
/** Get Calendar.
@return Accounting Calendar Name
*/
public int getC_Calendar_ID ()
{
Integer ii = (Integer)get_Value(COLUMNNAME_C_Calendar_ID);
if (ii == null)
return 0;
return ii.intValue();
}
/** Set Address.
@param C_Location_ID
Location or Address
@ -136,6 +175,25 @@ public class X_AD_OrgInfo extends PO implements I_AD_OrgInfo, I_Persistent
return ii.intValue();
}
/** Set D-U-N-S.
@param DUNS
Dun & Bradstreet Number
*/
public void setDUNS (String DUNS)
{
if (DUNS == null)
throw new IllegalArgumentException ("DUNS is mandatory.");
set_Value (COLUMNNAME_DUNS, DUNS);
}
/** Get D-U-N-S.
@return Dun & Bradstreet Number
*/
public String getDUNS ()
{
return (String)get_Value(COLUMNNAME_DUNS);
}
/** Set Drop Ship Warehouse.
@param DropShip_Warehouse_ID
The (logical) warehouse to use for recording drop ship receipts and shipments.
@ -159,25 +217,6 @@ public class X_AD_OrgInfo extends PO implements I_AD_OrgInfo, I_Persistent
return ii.intValue();
}
/** Set D-U-N-S.
@param DUNS
Dun & Bradstreet Number
*/
public void setDUNS (String DUNS)
{
if (DUNS == null)
throw new IllegalArgumentException ("DUNS is mandatory.");
set_Value (COLUMNNAME_DUNS, DUNS);
}
/** Get D-U-N-S.
@return Dun & Bradstreet Number
*/
public String getDUNS ()
{
return (String)get_Value(COLUMNNAME_DUNS);
}
public I_M_Warehouse getM_Warehouse() throws RuntimeException
{
Class<?> clazz = MTable.getClass(I_M_Warehouse.Table_Name);

View File

@ -44,6 +44,10 @@ import org.compiere.util.Msg;
* @author Low Heng Sin
* - Remove update balance option to resolved Feature Request [ 1557707 ] and
* bug [1619917]
*
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
*/
public class FinStatement extends SvrProcess
{
@ -269,7 +273,7 @@ public class FinStatement extends SvrProcess
m_acct = new MElementValue (getCtx(), p_Account_ID, get_TrxName());
if (!m_acct.isBalanceSheet())
{
MPeriod first = MPeriod.getFirstInYear (getCtx(), p_DateAcct_From);
MPeriod first = MPeriod.getFirstInYear (getCtx(), p_DateAcct_From, p_AD_Org_ID);
if (first != null)
sb.append(" AND TRUNC(DateAcct) >= ").append(DB.TO_DATE(first.getStartDate()));
else

View File

@ -37,6 +37,10 @@ import org.compiere.util.Language;
* Trial Balance
*
* @author Jorg Janke
*
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
* @version $Id: TrialBalance.java,v 1.2 2006/07/30 00:51:05 jjanke Exp $
*/
public class TrialBalance extends SvrProcess
@ -402,7 +406,7 @@ public class TrialBalance extends SvrProcess
m_acct = new MElementValue (getCtx(), p_Account_ID, get_TrxName());
if (!m_acct.isBalanceSheet())
{
MPeriod first = MPeriod.getFirstInYear (getCtx(), p_DateAcct_From);
MPeriod first = MPeriod.getFirstInYear (getCtx(), p_DateAcct_From, p_AD_Org_ID);
if (first != null)
sql.append(" AND DateAcct >= ").append(DB.TO_DATE(first.getStartDate(), true));
else

View File

@ -56,7 +56,10 @@ import org.compiere.util.Util;
* They are set in the process() method.
* Use DocAction and C_DocTypeTarget_ID instead.
*
* @author Victor Perez,e-Evolution,SC
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li> Original contributor of Distribution Functionality
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
*/
public class MDDOrder extends X_DD_Order implements DocAction
{
@ -773,7 +776,7 @@ public class MDDOrder extends X_DD_Order implements DocAction
MDocType dt = MDocType.get(getCtx(), getC_DocType_ID());
// Std Period open?
if (!MPeriod.isOpen(getCtx(), getDateOrdered(), dt.getDocBaseType()))
if (!MPeriod.isOpen(getCtx(), getDateOrdered(), dt.getDocBaseType(), getAD_Org_ID()))
{
m_processMsg = "@PeriodClosed@";
return DocAction.STATUS_Invalid;

View File

@ -48,7 +48,11 @@ import org.compiere.util.Util;
/**
* HR Process Model
*
* @author e-Evolution, Mexico
* @author oscar.gomez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li> Original contributor of Payroll Functionality
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
* @author Cristina Ghita, www.arhipac.ro
*/
public class MHRProcess extends X_HR_Process implements DocAction
@ -193,8 +197,9 @@ public class MHRProcess extends X_HR_Process implements DocAction
}
// Std Period open?
MHRPeriod period = MHRPeriod.get(getCtx(), getHR_Period_ID());
MPeriod.testPeriodOpen(getCtx(), period.getDateAcct(), getC_DocTypeTarget_ID());
MPeriod.testPeriodOpen(getCtx(), period.getDateAcct(), getC_DocTypeTarget_ID(), getAD_Org_ID());
// New or in Progress/Invalid
if ( DOCSTATUS_Drafted.equals(getDocStatus())

View File

@ -29,7 +29,12 @@ import org.compiere.util.TimeUtil;
/**
* MHRYear Year for a Payroll
*
* @author Oscar Gómez Islas
* @author oscar.gomez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li> Original contributor of Payroll Functionality
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
*/
public class MHRYear extends X_HR_Year
{
@ -102,7 +107,7 @@ public class MHRYear extends X_HR_Year
if(C_Period_ID <= 0)
return false;
MPeriod m_period = MPeriod.get(getCtx(), C_Period_ID);
MPeriod m_period = MPeriod.get(getCtx(), C_Period_ID, payroll.getAD_Org_ID());
X_HR_Period HR_Period = new X_HR_Period(getCtx(), 0, get_TrxName());
HR_Period.setAD_Org_ID(getAD_Org_ID());
HR_Period.setHR_Year_ID(getHR_Year_ID());

View File

@ -61,10 +61,13 @@ import org.eevolution.exceptions.ActivityProcessedException;
/**
* PP Cost Collector Model
*
* @author Victor Perez www.e-evolution.com
* @version $Id: MPPCostCollector.java,v 1.1 2004/06/19 02:10:34 vpj-cd Exp $
* @author victor.perez@-evolution.com, e-Evolution http://www.e-evolution.com
* <li> Original contributor of Manufacturing Standard Cost
* <li> FR [ 2520591 ] Support multiples calendar for Org
* @see http://sourceforge.net/tracker2/?func=detail&atid=879335&aid=2520591&group_id=176962
*
* @author Teo Sarca, www.arhipac.ro
* @version $Id: MPPCostCollector.java,v 1.1 2004/06/19 02:10:34 vpj-cd Exp $
*/
public class MPPCostCollector extends X_PP_Cost_Collector implements DocAction
{
@ -270,7 +273,7 @@ public class MPPCostCollector extends X_PP_Cost_Collector implements DocAction
return DocAction.STATUS_Invalid;
}
MPeriod.testPeriodOpen(getCtx(), getMovementDate(), getC_DocTypeTarget_ID());
MPeriod.testPeriodOpen(getCtx(), getMovementDate(), getC_DocTypeTarget_ID(), getAD_Org_ID());
// Convert/Check DocType
setC_DocType_ID(getC_DocTypeTarget_ID());
@ -902,10 +905,11 @@ public class MPPCostCollector extends X_PP_Cost_Collector implements DocAction
order.setIsSOTrx(false);
order.setC_DocTypeTarget_ID();
order.setDatePromised(datePromised);
order.setDescription(getPP_Order().getDocumentNo());
order.setDescription(Msg.translate(getCtx(), MPPOrder.COLUMNNAME_PP_Order_ID) +":"+getPP_Order().getDocumentNo());
order.setDocStatus(MOrder.DOCSTATUS_Drafted);
order.setDocAction(MOrder.DOCACTION_Complete);
order.setAD_User_ID(getAD_User_ID());
order.setM_Warehouse_ID(getM_Warehouse_ID());
//order.setSalesRep_ID(getAD_User_ID());
order.saveEx();
addDescription(Msg.translate(getCtx(), "C_Order_ID")+": "+order.getDocumentNo());
@ -932,6 +936,7 @@ public class MPPCostCollector extends X_PP_Cost_Collector implements DocAction
MOrderLine oline = new MOrderLine(order);
oline.setM_Product_ID(product.getM_Product_ID());
oline.setDescription(activity.getDescription());
oline.setM_Warehouse_ID(getM_Warehouse_ID());
oline.setQty(QtyOrdered);
//line.setPrice(m_product_po.getPricePO());
//oline.setPriceList(m_product_po.getPriceList());

View File

@ -0,0 +1,90 @@
-- Jan 22, 2009 10:59:03 PM ECT
-- Calendar
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,Description,EntityType,FieldLength,Help,IsActive,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSelectionColumn,IsSyncDatabase,IsTranslated,IsUpdateable,Name,SeqNo,Updated,UpdatedBy,Version) VALUES (0,56678,190,0,19,228,'C_Calendar_ID',TO_DATE('2009-01-22 22:58:59','YYYY-MM-DD HH24:MI:SS'),100,'Accounting Calendar Name','D',22,'The Calendar uniquely identifies an accounting calendar. Multiple calendars can be used. For example you may need a standard calendar that runs from Jan 1 to Dec 31 and a fiscal calendar that runs from July 1 to June 30.','Y','Y','N','N','N','N','N','N','N','N','N','N','Y','Calendar',0,TO_DATE('2009-01-22 22:58:59','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 22, 2009 10:59:03 PM ECT
-- Calendar
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=56678 AND EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Column_ID!=t.AD_Column_ID)
;
-- Jan 22, 2009 10:59:08 PM ECT
-- Calendar
ALTER TABLE AD_OrgInfo ADD C_Calendar_ID NUMBER(10)
;
-- Jan 22, 2009 10:59:38 PM ECT
-- Calendar
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,Description,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,Updated,UpdatedBy) VALUES (0,52075,56621,0,170,TO_DATE('2009-01-22 22:59:35','YYYY-MM-DD HH24:MI:SS'),100,'Bank account depending on currency will be used from this bank for doing transfers',22,'D','Y','Y','Y','N','N','N','N','N','Bank for transfers',TO_DATE('2009-01-22 22:59:35','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 22, 2009 10:59:38 PM ECT
-- Calendar
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=56621 AND EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Field_ID!=t.AD_Field_ID)
;
-- Jan 22, 2009 10:59:39 PM ECT
-- Calendar
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,Updated,UpdatedBy) VALUES (0,56678,56622,0,170,TO_DATE('2009-01-22 22:59:38','YYYY-MM-DD HH24:MI:SS'),100,'Accounting Calendar Name',22,'D','The Calendar uniquely identifies an accounting calendar. Multiple calendars can be used. For example you may need a standard calendar that runs from Jan 1 to Dec 31 and a fiscal calendar that runs from July 1 to June 30.','Y','Y','Y','N','N','N','N','N','Calendar',TO_DATE('2009-01-22 22:59:38','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 22, 2009 10:59:39 PM ECT
-- Calendar
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=56622 AND EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Field_ID!=t.AD_Field_ID)
;
-- Jan 22, 2009 10:59:41 PM ECT
-- Calendar
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,Updated,UpdatedBy) VALUES (0,52076,56623,0,170,TO_DATE('2009-01-22 22:59:39','YYYY-MM-DD HH24:MI:SS'),100,22,'D','Y','Y','Y','N','N','N','N','N','CashBook for transfers',TO_DATE('2009-01-22 22:59:39','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 22, 2009 10:59:41 PM ECT
-- Calendar
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=56623 AND EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Field_ID!=t.AD_Field_ID)
;
-- Jan 22, 2009 10:59:44 PM ECT
-- Calendar
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,Description,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,Updated,UpdatedBy) VALUES (0,52112,56624,0,170,TO_DATE('2009-01-22 22:59:41','YYYY-MM-DD HH24:MI:SS'),100,'This message will be displayed at the bottom of a receipt when doing a sales or purchase',1024,'D','Y','Y','Y','N','N','N','N','N','Receipt Footer Msg',TO_DATE('2009-01-22 22:59:41','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 22, 2009 10:59:44 PM ECT
-- Calendar
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=56624 AND EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Field_ID!=t.AD_Field_ID)
;
-- Jan 22, 2009 11:00:10 PM ECT
-- Calendar
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=56621
;
-- Jan 22, 2009 11:00:10 PM ECT
-- Calendar
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=56623
;
-- Jan 22, 2009 11:00:10 PM ECT
-- Calendar
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=56624
;
-- Jan 22, 2009 11:00:10 PM ECT
-- Calendar
UPDATE AD_Field SET SeqNo=70,IsDisplayed='Y' WHERE AD_Field_ID=55416
;
-- Jan 22, 2009 11:00:10 PM ECT
-- Calendar
UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=1314
;
-- Jan 22, 2009 11:00:10 PM ECT
-- Calendar
UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=1315
;
-- Jan 22, 2009 11:00:10 PM ECT
-- Calendar
UPDATE AD_Field SET SeqNo=120,IsDisplayed='Y' WHERE AD_Field_ID=56622
;

View File

@ -0,0 +1,90 @@
-- Jan 22, 2009 10:59:03 PM ECT
-- Calendar
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,Description,EntityType,FieldLength,Help,IsActive,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSelectionColumn,IsSyncDatabase,IsTranslated,IsUpdateable,Name,SeqNo,Updated,UpdatedBy,Version) VALUES (0,56678,190,0,19,228,'C_Calendar_ID',TO_TIMESTAMP('2009-01-22 22:58:59','YYYY-MM-DD HH24:MI:SS'),100,'Accounting Calendar Name','D',22,'The Calendar uniquely identifies an accounting calendar. Multiple calendars can be used. For example you may need a standard calendar that runs from Jan 1 to Dec 31 and a fiscal calendar that runs from July 1 to June 30.','Y','Y','N','N','N','N','N','N','N','N','N','N','Y','Calendar',0,TO_TIMESTAMP('2009-01-22 22:58:59','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 22, 2009 10:59:03 PM ECT
-- Calendar
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=56678 AND EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Column_ID!=t.AD_Column_ID)
;
-- Jan 22, 2009 10:59:08 PM ECT
-- Calendar
ALTER TABLE AD_OrgInfo ADD COLUMN C_Calendar_ID NUMERIC(10)
;
-- Jan 22, 2009 10:59:38 PM ECT
-- Calendar
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,Description,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,Updated,UpdatedBy) VALUES (0,52075,56621,0,170,TO_TIMESTAMP('2009-01-22 22:59:35','YYYY-MM-DD HH24:MI:SS'),100,'Bank account depending on currency will be used from this bank for doing transfers',22,'D','Y','Y','Y','N','N','N','N','N','Bank for transfers',TO_TIMESTAMP('2009-01-22 22:59:35','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 22, 2009 10:59:38 PM ECT
-- Calendar
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=56621 AND EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Field_ID!=t.AD_Field_ID)
;
-- Jan 22, 2009 10:59:39 PM ECT
-- Calendar
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,Updated,UpdatedBy) VALUES (0,56678,56622,0,170,TO_TIMESTAMP('2009-01-22 22:59:38','YYYY-MM-DD HH24:MI:SS'),100,'Accounting Calendar Name',22,'D','The Calendar uniquely identifies an accounting calendar. Multiple calendars can be used. For example you may need a standard calendar that runs from Jan 1 to Dec 31 and a fiscal calendar that runs from July 1 to June 30.','Y','Y','Y','N','N','N','N','N','Calendar',TO_TIMESTAMP('2009-01-22 22:59:38','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 22, 2009 10:59:39 PM ECT
-- Calendar
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=56622 AND EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Field_ID!=t.AD_Field_ID)
;
-- Jan 22, 2009 10:59:41 PM ECT
-- Calendar
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,Updated,UpdatedBy) VALUES (0,52076,56623,0,170,TO_TIMESTAMP('2009-01-22 22:59:39','YYYY-MM-DD HH24:MI:SS'),100,22,'D','Y','Y','Y','N','N','N','N','N','CashBook for transfers',TO_TIMESTAMP('2009-01-22 22:59:39','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 22, 2009 10:59:41 PM ECT
-- Calendar
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=56623 AND EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Field_ID!=t.AD_Field_ID)
;
-- Jan 22, 2009 10:59:44 PM ECT
-- Calendar
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,Description,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,Updated,UpdatedBy) VALUES (0,52112,56624,0,170,TO_TIMESTAMP('2009-01-22 22:59:41','YYYY-MM-DD HH24:MI:SS'),100,'This message will be displayed at the bottom of a receipt when doing a sales or purchase',1024,'D','Y','Y','Y','N','N','N','N','N','Receipt Footer Msg',TO_TIMESTAMP('2009-01-22 22:59:41','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 22, 2009 10:59:44 PM ECT
-- Calendar
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=56624 AND EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Field_ID!=t.AD_Field_ID)
;
-- Jan 22, 2009 11:00:10 PM ECT
-- Calendar
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=56621
;
-- Jan 22, 2009 11:00:10 PM ECT
-- Calendar
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=56623
;
-- Jan 22, 2009 11:00:10 PM ECT
-- Calendar
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=56624
;
-- Jan 22, 2009 11:00:10 PM ECT
-- Calendar
UPDATE AD_Field SET SeqNo=70,IsDisplayed='Y' WHERE AD_Field_ID=55416
;
-- Jan 22, 2009 11:00:10 PM ECT
-- Calendar
UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=1314
;
-- Jan 22, 2009 11:00:10 PM ECT
-- Calendar
UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=1315
;
-- Jan 22, 2009 11:00:10 PM ECT
-- Calendar
UPDATE AD_Field SET SeqNo=120,IsDisplayed='Y' WHERE AD_Field_ID=56622
;