1004128 IDEMPIERE-775 Documents without C_DocType_ID cannot be distributed directly. Implement suggestion from Carlos - special handling of the 7 tables in the Doc.getC_DocType_ID method.
This commit is contained in:
parent
579d32869b
commit
97e5b51a4c
|
@ -28,6 +28,13 @@ import java.util.Iterator;
|
|||
import java.util.Properties;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import org.compiere.model.I_C_AllocationHdr;
|
||||
import org.compiere.model.I_C_BankStatement;
|
||||
import org.compiere.model.I_C_Cash;
|
||||
import org.compiere.model.I_C_ProjectIssue;
|
||||
import org.compiere.model.I_M_MatchInv;
|
||||
import org.compiere.model.I_M_MatchPO;
|
||||
import org.compiere.model.I_M_Production;
|
||||
import org.compiere.model.MAccount;
|
||||
import org.compiere.model.MAcctSchema;
|
||||
import org.compiere.model.MConversionRate;
|
||||
|
@ -122,6 +129,8 @@ public abstract class Doc
|
|||
* M_Requisition POR
|
||||
**************************************************************************/
|
||||
|
||||
private static final String DOC_TYPE_BY_DOC_BASE_TYPE_SQL = "SELECT C_DocType_ID FROM C_DocType WHERE AD_Client_ID=? AND DocBaseType=? AND IsActive='Y'";
|
||||
|
||||
/** AR Invoices - ARI */
|
||||
public static final String DOCTYPE_ARInvoice = MDocType.DOCBASETYPE_ARInvoice;
|
||||
/** AR Credit Memo */
|
||||
|
@ -1729,6 +1738,58 @@ public abstract class Doc
|
|||
if (ii != null)
|
||||
return ii.intValue();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (p_po.get_TableName().equals(I_M_MatchPO.Table_Name))
|
||||
{
|
||||
int docTypeId = DB.getSQLValue((String)null, DOC_TYPE_BY_DOC_BASE_TYPE_SQL,
|
||||
p_po.getAD_Client_ID(), Doc.DOCTYPE_MatMatchPO);
|
||||
if (docTypeId > 0)
|
||||
return docTypeId;
|
||||
}
|
||||
else if (p_po.get_TableName().equals(I_M_MatchInv.Table_Name))
|
||||
{
|
||||
int docTypeId = DB.getSQLValue((String)null, DOC_TYPE_BY_DOC_BASE_TYPE_SQL,
|
||||
p_po.getAD_Client_ID(), Doc.DOCTYPE_MatMatchInv);
|
||||
if (docTypeId > 0)
|
||||
return docTypeId;
|
||||
}
|
||||
else if (p_po.get_TableName().equals(I_C_AllocationHdr.Table_Name))
|
||||
{
|
||||
int docTypeId = DB.getSQLValue((String)null, DOC_TYPE_BY_DOC_BASE_TYPE_SQL,
|
||||
p_po.getAD_Client_ID(), Doc.DOCTYPE_Allocation);
|
||||
if (docTypeId > 0)
|
||||
return docTypeId;
|
||||
}
|
||||
else if (p_po.get_TableName().equals(I_C_BankStatement.Table_Name))
|
||||
{
|
||||
int docTypeId = DB.getSQLValue((String)null, DOC_TYPE_BY_DOC_BASE_TYPE_SQL,
|
||||
p_po.getAD_Client_ID(), Doc.DOCTYPE_BankStatement);
|
||||
if (docTypeId > 0)
|
||||
return docTypeId;
|
||||
}
|
||||
else if (p_po.get_TableName().equals(I_C_Cash.Table_Name))
|
||||
{
|
||||
int docTypeId = DB.getSQLValue((String)null, DOC_TYPE_BY_DOC_BASE_TYPE_SQL,
|
||||
p_po.getAD_Client_ID(), Doc.DOCTYPE_CashJournal);
|
||||
if (docTypeId > 0)
|
||||
return docTypeId;
|
||||
}
|
||||
else if (p_po.get_TableName().equals(I_C_ProjectIssue.Table_Name))
|
||||
{
|
||||
int docTypeId = DB.getSQLValue((String)null, DOC_TYPE_BY_DOC_BASE_TYPE_SQL,
|
||||
p_po.getAD_Client_ID(), Doc.DOCTYPE_ProjectIssue);
|
||||
if (docTypeId > 0)
|
||||
return docTypeId;
|
||||
}
|
||||
else if (p_po.get_TableName().equals(I_M_Production.Table_Name))
|
||||
{
|
||||
int docTypeId = DB.getSQLValue((String)null, DOC_TYPE_BY_DOC_BASE_TYPE_SQL,
|
||||
p_po.getAD_Client_ID(), Doc.DOCTYPE_MatProduction);
|
||||
if (docTypeId > 0)
|
||||
return docTypeId;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
} // getC_DocType_ID
|
||||
|
||||
|
|
Loading…
Reference in New Issue