2017-03-31 5 views
0

私はGL-Category Sequenceをすべてのキャッシュジャーナルのドキュメントシーケンスのようにしたいと思っています。GL-Categoryシーケンスin adempiere

ジャーナル番号という現金ジャーナルウィンドウにフィールドを追加しました。

すべての現金ジャーナルの番号を生成し、1ずつインクリメントしたいですか?

答えて

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