我想为每个现金日记账制作一个类似于文档序列的 GL 类别序列。
我在现金日记帐窗口中添加了一个名为日记帐编号的字段。
我想为每个现金日记账生成一个数字并将其递增 1?
文档序列由 ADempiere 中的 PO.java 类管理。 要使用它,您需要将列名称为"DocumentNo"的列添加到表中。您需要在序列表中添加条目以跟踪数字。
下面是 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);
}
}