在adempiere中的GL类别序列

时间:2017-03-31 20:10:39

标签: sequence adempiere

我希望为每个现金日记制作一个GL-Category序列,如文档序列。

我在现金日记帐窗口中添加了一个名为日记帐编号的字段。

我想为每张现金日记帐生成一个数字并将其递增1?

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);
        }
    }