From d7a279f0c21b9fbdc0d16e61df6cc546f917a610 Mon Sep 17 00:00:00 2001
From: alex <alex@c028cbd2-c16b-5b4b-a496-9718f37d4682>
Date: Wed, 19 Mar 2008 14:55:37 +0000
Subject: [PATCH] Patch level         : 4.0 911 Files correlati     :
 Ricompilazione Demo : [ ] Commento           :

Riportata la versione 3.2 1010


git-svn-id: svn://10.65.10.50/trunk@16338 c028cbd2-c16b-5b4b-a496-9718f37d4682
---
 at/at1200.cpp  |  4 +--
 at/at2700.cpp  | 13 +--------
 at/at9600.cpp  | 76 +++++++++++++++++++++++++++++---------------------
 at/at9600a.ini | 22 +++++++++++++++
 at/batbbnz.h   |  1 +
 at/batbbnz.uml |  7 +++++
 6 files changed, 77 insertions(+), 46 deletions(-)

diff --git a/at/at1200.cpp b/at/at1200.cpp
index b06333363..d63bab4a3 100755
--- a/at/at1200.cpp
+++ b/at/at1200.cpp
@@ -234,13 +234,13 @@ bool TAttribuzioneBenemerenze::set_print(int)
 	  	int numdonben = ben.get_int("I0");
 			int m_numdon = ben.get_int("I1");
 			int m_anni = ben.get_int("I2");
+			int solodim = ben.get_int("B0");
 			TToken_string* condizioni = new TToken_string();;
 			condizioni->add(numdonben);
 			condizioni->add(m_numdon);
 			condizioni->add(m_anni);
+			condizioni->add(solodim);
 	  	_tabben.add((const char*)codben, (TObject*) condizioni);
-	  	//real* oggetto = new real(numdonben);
-	  	//_tabben.add((const char*)codben, (TObject*) oggetto);
 	  }
   	TString80 filtro;
   	if (_attgruppi)
diff --git a/at/at2700.cpp b/at/at2700.cpp
index dd3c59c2b..8a16203fd 100755
--- a/at/at2700.cpp
+++ b/at/at2700.cpp
@@ -730,18 +730,7 @@ bool TStampaPerCategorie::preprocess_page(int file, int counter)
 	if (_tipostampa==etichette && _etrighe == 0)
 		if (printer().rows_left() < _form_eti->get_body().height())
 			printer().formfeed();
-	if (_tipostampa==etichette && _etrighe > 0)
-	{
-		int resto = _netichette % (_etrighe*_etcolonne);
-		if ((resto == 1) && (_netichette > _etrighe*_etcolonne) && !_formfeed)
-		{
-			printer().formfeed();	
-			_formfeed = TRUE;
-		}	
-		else
-			_formfeed = FALSE;
-	}				
-	if (_tipostampa==notiziario)		
+	if (_tipostampa==notiziario && _etrighe == 0)		
 		if (printer().rows_left() < _form_neti->get_body().height())
 			printer().formfeed();
 	if (_perfamiglie)
diff --git a/at/at9600.cpp b/at/at9600.cpp
index 7f757f99e..479e8c23b 100755
--- a/at/at9600.cpp
+++ b/at/at9600.cpp
@@ -152,40 +152,52 @@ void TEsporta_ON_app::esporta_soggetti(const TMask& m) const
 	{
     if (!pi.addstatus(1))
       break;
-		//creazione di un nuovo record di tipo soggetti
-		csv.new_rec("");
-		//..e successivo riempimento
-		csv.set(0, soggetti.get(SOG_CODSEZ));
-		csv.set(1, soggetti.get(SOG_TESSAVIS));
-		csv.set(2, soggetti.get(SOG_CF));
-		csv.set(3, soggetti.get(SOG_COGNOME));
-		csv.set(4, soggetti.get(SOG_NOME));
-		csv.set(5, soggetti.get(SOG_SESSO));
-		csv.set(6, soggetti.get(SOG_DATANASC));
-		csv.set(7, NULL_VARIANT);
-		csv.set(8, NULL_VARIANT); //nazionalita
-		csv.set(9, soggetti.get(SOG_DOM_INDIR));
-		csv.set(10, soggetti.get(SOG_DOM_CAP));
-		csv.set(11, TVariant(find_comune(soggetti)));
-		csv.set(12, soggetti.get(SOG_TITSTUD));
-		csv.set(13, NULL_VARIANT); // professione
-		csv.set(14, soggetti.get(SOG_TELABI));
-		csv.set(15, soggetti.get(SOG_TELALT));
-		TString4 catdon = soggetti.get(SOG_CATDON).as_string();
-			
-		csv.set(16, TVariant(config.get(catdon, "CATDON"))); // categoria
-		csv.set(17, soggetti.get(SOG_EMAIL));
-		TString8 gruppoab0 = soggetti.get(SOG_GRUPPOAB0).as_string();
-		csv.set(18, TVariant(config.get(gruppoab0, "GRUPPOAB0"))); // gruppo ab0
-		TString8 kell = soggetti.get(SOG_KELL).as_string();		
-		csv.set(19, TVariant(config.get(kell, "KELL"))); // kell
-		csv.set(20, ""); // fattore rh
-		csv.set(21, soggetti.get(SOG_DATAISC));
-		csv.set(22, soggetti.get(SOG_DATADIM));
-		csv.set(23, NULL_VARIANT); // condizione non professionale
+
+		const TString4& catdon = soggetti.get(SOG_CATDON).as_string();
+		const TDate dataisc = soggetti.get(SOG_DATAISC).as_date();
+		const bool passa = config.get_bool(catdon, "CATEGORIE");
+		const TString4& codsez = soggetti.get(SOG_CODSEZ).as_string();
+		TString16 sez_on = config.get(codsez, "SEZIONI");
+			if (sez_on.empty())
+				sez_on = codsez;
+		//if ((catdon == "01" || catdon == "04") && (dataisc.empty() || dataisc <= data))
+		if (passa && (dataisc.empty() || dataisc <= data))
+		{
+			//creazione di un nuovo record di tipo soggetti
+			csv.new_rec("");
+			//..e successivo riempimento
+			csv.set(0, (TVariant) sez_on);
+			csv.set(1, soggetti.get(SOG_TESSAVIS));
+			csv.set(2, soggetti.get(SOG_CF));
+			csv.set(3, soggetti.get(SOG_COGNOME));
+			csv.set(4, soggetti.get(SOG_NOME));
+			csv.set(5, soggetti.get(SOG_SESSO));
+			csv.set(6, soggetti.get(SOG_DATANASC));
+			csv.set(7, NULL_VARIANT);
+			csv.set(8, NULL_VARIANT); //nazionalita
+			csv.set(9, soggetti.get(SOG_DOM_INDIR));
+			csv.set(10, soggetti.get(SOG_DOM_CAP));
+			csv.set(11, TVariant(find_comune(soggetti)));
+			csv.set(12, soggetti.get(SOG_TITSTUD));
+			csv.set(13, NULL_VARIANT); // professione
+			csv.set(14, soggetti.get(SOG_TELABI));
+			csv.set(15, soggetti.get(SOG_TELALT));
+			csv.set(16, TVariant(config.get(catdon, "CATDON"))); // categoria
+			csv.set(17, soggetti.get(SOG_EMAIL));
+			TString8 gruppoab0 = soggetti.get(SOG_GRUPPOAB0).as_string();
+			csv.set(18, TVariant(config.get(gruppoab0, "GRUPPOAB0"))); // gruppo ab0
+			TString8 kell = soggetti.get(SOG_KELL).as_string();		
+			csv.set(19, TVariant(config.get(kell, "KELL"))); // kell
+			csv.set(20, ""); // fattore rh
+			csv.set(21, soggetti.get(SOG_DATAISC));
+			csv.set(22, soggetti.get(SOG_DATADIM));
+			csv.set(23, NULL_VARIANT); // condizione non professionale
+		}
 	}	//for(move_first()..
  	
-	const TString path = "rimini.txt";
+	TString80 path = config.get("NOMEFILE", "GENERALE");
+	if (path.empty())
+		path = "file_on.txt";
 	csv.save_as(path, fmt_text);
 #ifdef DBG
 	xvt_sys_goto_url(path, "open");
diff --git a/at/at9600a.ini b/at/at9600a.ini
index 15b2dd647..1d9e0c9ae 100755
--- a/at/at9600a.ini
+++ b/at/at9600a.ini
@@ -1,6 +1,7 @@
 [CATDON]
 DA=5
 AV=4
+OC=3
 STD=0
 01=4
 04=3
@@ -29,3 +30,24 @@ A2=5
 A2B=9
 AB=7
 B=6
+
+[SEZIONI]
+01=4122
+02=4116
+03=4117
+04=4118
+05=4119
+06=4120
+08=4121
+09=4123
+10=4124
+11=4125
+
+[CATEGORIE]
+01=X
+04=X
+AV=X
+DA=X
+
+[GENERALE]
+NOMEFILE = reggioe.txt
\ No newline at end of file
diff --git a/at/batbbnz.h b/at/batbbnz.h
index 0b65de9c9..bfadb4c37 100755
--- a/at/batbbnz.h
+++ b/at/batbbnz.h
@@ -4,4 +4,5 @@
 #define F_TABBNZ_STATUTO        103
 #define F_TABBNZ_M_NDON         104 
 #define F_TABBNZ_M_ANNI         105
+#define F_TABBNZ_CATDON         106
 #define DLG_DEL                 108
diff --git a/at/batbbnz.uml b/at/batbbnz.uml
index 1414e10dc..2e8f8c346 100755
--- a/at/batbbnz.uml
+++ b/at/batbbnz.uml
@@ -73,5 +73,12 @@ BEGIN
 	FLAGS "U"
 END
 
+BOOLEAN F_TABBNZ_CATDON
+BEGIN
+  PROMPT 50 9 "Attribuisci solo ai dimessi"
+  FIELD B0
+  HELP "Inserire se la benemerenza va attribuita solo ai dimessi"
+END
+
 ENDPAGE
 ENDMASK