Correzione alla funzione per cambiare il flag di stampa Definitiva

o Provvisoria.


git-svn-id: svn://10.65.10.50/trunk@3330 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1996-08-05 13:47:17 +00:00
parent 2b2a1c9567
commit 6ccfa29305

View File

@ -16,13 +16,29 @@ int numerazione_definitiva(TLocalisamfile& doc)
tabnum.put("I1", newndoc+1); // aggiorna il nuovo numero di documento nella tabella
doc.read(rec_doc, _isequal, _lock); // blocca il record corrente del file documenti
int anno = doc.get_int("ANNO"); // reperisce i primi 2 campi della chiave
TString codnum(doc.get("CODNUM"));
long ndoc = doc.get_long("NDOC");
const bool is_provv = doc.get("PROVV") == "P";
if (!is_provv)
{
doc.reread(_unlock);
return NOERR; // Gia' rinumerata
}
TRectype newrec_doc(rec_doc); // istanzia un nuovo record su quello corrente
TRectype rec_rdoc(LF_RIGHEDOC); // istanzia il record delle righe per effettuare la lettura
newrec_doc.put("NDOC", newndoc); // scrive il nuovo numero di documento nel nuovo record
newrec_doc.put("PROVV", "D"); // aggiorna il flag di tipo di numerazione
rec_rdoc.put("CODNUM",codnum); // compone la chiave per le righe
rec_rdoc.put("ANNO",anno);
rec_rdoc.put("NDOC", ndoc);
rec_rdoc.put("PROVV","P");
TRecord_array arr_rdoc(LF_RIGHEDOC, "NRIGA"); // istanzia il record array per le righe
if ((err= arr_rdoc.read(rec_doc))==NOERR)
if ((err= arr_rdoc.read(rec_rdoc))==NOERR)
{ // legge le righe del documento basandosi sul record con la vecchia chiave
TRecord_array newarr_rdoc(arr_rdoc); // crea una copia del record array per tenere le nuove righe