我希望为每个现金日记制作一个GL-Category序列,如文档序列。
我在现金日记帐窗口中添加了一个名为日记帐编号的字段。
我想为每张现金日记帐生成一个数字并将其递增1?
答案 0 :(得分:1)
文档序列由ADempiere中的PO.java类管理。要使用它,您需要在表中添加列名为“DocumentNo”的列。您需要在Sequence表中添加条目以跟踪数字。
以下是PO.java中的代码,该代码在首次保存记录时运行。
// Set new DocumentNo
String columnName = "DocumentNo";
int index = p_info.getColumnIndex(columnName);
if (index != -1 && p_info.getColumn(index).ColumnSQL == null)
{
String value = (String)get_Value(index);
if (value != null && value.startsWith("<") && value.endsWith(">"))
value = null;
if (value == null || value.length() == 0)
{
int dt = p_info.getColumnIndex("C_DocTypeTarget_ID");
if (dt == -1)
dt = p_info.getColumnIndex("C_DocType_ID");
if (dt != -1) // get based on Doc Type (might return null)
value = DB.getDocumentNo(get_ValueAsInt(dt), m_trxName, false, this);
if (value == null) // not overwritten by DocType and not manually entered
value = DB.getDocumentNo(getAD_Client_ID(), p_info.getTableName(), m_trxName, this);
set_ValueNoCheck(columnName, value);
}
}