From b60c606f9f89e9158682086ab2afcce03746f1c0 Mon Sep 17 00:00:00 2001 From: luca Date: Mon, 11 May 2009 09:32:48 +0000 Subject: [PATCH] Patch level :10.0 300 Files correlati : Ricompilazione Demo : [ ] Commento :migliorata la code2range degli esercizi contabili (adesso gestisce anche esercizi a cavallo;e a somaro?) git-svn-id: svn://10.65.10.50/trunk@18840 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/cglib01.cpp | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/cg/cglib01.cpp b/cg/cglib01.cpp index ae9b76ebc..2d26ab433 100755 --- a/cg/cglib01.cpp +++ b/cg/cglib01.cpp @@ -210,11 +210,32 @@ bool TEsercizi_contabili::code2range(int codice, TDate& dal, TDate& al) const } else { - ok = codice > 2000; - if (ok) + const int primo_esercizio = first(); + const int ultimo_esercizio = last(); + if (codice < primo_esercizio) + { + const TEsercizio& e = esercizio(primo_esercizio); + dal = e.inizio(); + al = e.fine(); + dal.addyear(primo_esercizio - codice); + al.addyear(primo_esercizio - codice); + ok = true; + } + if (codice > ultimo_esercizio) + { + const TEsercizio& e = esercizio(ultimo_esercizio); + dal = e.inizio(); + al = e.fine(); + dal.addyear(codice - ultimo_esercizio); + al.addyear(codice - ultimo_esercizio); + ok = true; + } + + if (!ok && codice > 1900) { dal = TDate(1, 1, codice); al = TDate(31, 12, codice); + ok = true; } else dal = al = TDate();