I need a little help.
after installing compiere 3.1 and entering a lot of data into application :o)
I want to create my first Invoice (Customer). after completing all the necessary fields on the master when I go to 'Invoice Line' tab I get this error message:
"Could not save changes".
from the java window a get some more details about this error:
MSequence.getNextID: No record found - C_Invoice 
MInvoice.saveNew: No NextID (-1) 
GridTable.saveWarning: SaveError - 
I thing that is about generating invoice number function: getNextId
I have tried both cases: auto numbering and manual numbering of the document and I think that the numbering sequences are right set.
so where is the problem?
have a nice day
// int AD_Sequence_ID = rs.getInt(4);
int incrementNo = rs.getInt(3);
retValue = rs.getInt(2);
rs.updateInt(2, retValue + incrementNo);
retValue = rs.getInt(1);
rs.updateInt(1, retValue + incrementNo);
s_log.severe ("No record found - " + TableName);
the Message form your post is Last Line "No record found".......
what Datebase do u used ?
and this is from Callablestatement change to PrepareStatement
String selectSQL = "SELECT CurrentNext, CurrentNextSys, IncrementNo, AD_Sequence_ID "
+ "FROM AD_Sequence "
+ "WHERE Name=?"
+ " AND IsActive='Y' AND IsTableID='Y' AND IsAutoSequence='Y' "
+ " FOR UPDATE";
cuase another Deadlock
Some things to look at:
Anytime I get a constraint or sequence error I log into the system administrator role and run the process "sequence check". Particularly if you imported any data or manually added any data. The sequence check fixes most database id, document no, and sequence errors. Usually that fixes anythings you run into (usually caused when I am dumping data into custom tables I created NOT using the import loader). It sounds like your error may be caused by the internal database id (C_INVOICE_ID field) and not by the document no. So manually changing the documentno would not fix your problem becuase it is the hidden primary key field C_INVOICE_ID field that might be causing your error (although usually I think it would be a unique constraint violated error)
I would check the document sequence window of the client (client admin role) and the system and see if the sequence exists there.
my problem is solved :o)
you both are right
indeed it is about the C_Invoice_Id and not about the doc no.
in fact in this case the error is generated by the "IsTableID='Y'" condition of the select statement posted by albert. IsTableId is in fact the "Used for Record Id" check box on the sequence editing window. and is optional :o). if you don't check this box the select statement doesn't return anything -> error: No record found
at list I think so.
I see that all the sequences from the system have this check box "checked", so in order to use any sequence you must check this box. again why it is optional? :o)
anyway thank you very much for the time spent with this matter
have a nice day