Patch level :4.0 673
Files correlati : Ricompilazione Demo : [ ] Commento :RICORDO CHE TC9 ESISTE SOLO NELLA 4.0; EVITARE I RIPORTI! git-svn-id: svn://10.65.10.50/trunk@15158 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									7388c8a340
								
							
						
					
					
						commit
						bb2ba3f216
					
				| @ -286,7 +286,8 @@ TTS_textset::TTS_textset(const char* query) | ||||
| 
 | ||||
| 	TString80 field; | ||||
| 	// dati iva
 | ||||
| 	for (int i=0; i<8; i++) | ||||
|   int i; | ||||
| 	for (i = 0; i < 8; i++) | ||||
| 	{ | ||||
| 		field.format("TRF-IMPONIB_%d", i);   | ||||
| 		add_field("0", field,	12,  n, 475+(31*i));	// imponibile
 | ||||
| @ -304,7 +305,7 @@ TTS_textset::TTS_textset(const char* query) | ||||
|   add_field("0", "TRF-TOT-FATT",				12,  n, 723);		// totale fattura
 | ||||
| 
 | ||||
|   // conti di ricavo/costo
 | ||||
| 	for (i=0; i<8; i++) | ||||
| 	for (i = 0; i < 8; i++) | ||||
| 	{ | ||||
| 		field.format("TRF-CONTORIC_%d", i);   | ||||
| 		add_field("0", field,	 7,  n, 735+(19*i));	// codice conto di ricavo/costo
 | ||||
| @ -319,7 +320,7 @@ TTS_textset::TTS_textset(const char* query) | ||||
|   add_field("0", "TRF-CAU-AGG-2-PAGAM",	34, an, 939);		// ulteriore descrizione aggiuntiva
 | ||||
| 
 | ||||
| 	// altri movimenti
 | ||||
| 	for (i=0; i<80; i++) | ||||
| 	for (i = 0; i < 80; i++) | ||||
| 	{ | ||||
| 		field.format("TRF-CONTO_%d", i);   | ||||
| 	  add_field("0", field,	 7,  n,  973+(64*i));		// codice conto
 | ||||
| @ -338,7 +339,7 @@ TTS_textset::TTS_textset(const char* query) | ||||
| 	} | ||||
| 
 | ||||
| 	// ratei e risconti
 | ||||
| 	for (i=0; i<10; i++) | ||||
| 	for (i = 0; i < 10; i++) | ||||
| 	{ | ||||
| 		field.format("TRF-RIFER-TAB_%d", i);   | ||||
| 		add_field("0", field,	 1, an, 6093+(19*i));		// tabella di riferimento
 | ||||
| @ -358,7 +359,7 @@ TTS_textset::TTS_textset(const char* query) | ||||
|   add_field("0", "TRF-AN-TIPO-SOGG", 1,  n, 6290);		// tipo soggetto ritenuta di acconto
 | ||||
| 
 | ||||
| 	// ulteriori dati ev. pagamento o movimenti diversi
 | ||||
| 	for (i=0; i<80; i++) | ||||
| 	for (i = 0; i < 80; i++) | ||||
| 	{ | ||||
| 		field.format("TRF-EC-PARTITA-SEZ-PAG_%d", i);   | ||||
| 		add_field("0", field,	 2,  n, 6291+(2*i));		// numero sezionale partita estratto conto
 | ||||
| @ -374,13 +375,13 @@ TTS_textset::TTS_textset(const char* query) | ||||
|   add_field("0", "TRF-RIT-4",								12,  n, 6526);		// 4
 | ||||
| 
 | ||||
| 	// ulteriori dati per unita' produttive ricavi
 | ||||
| 	for (i=0; i<8; i++) | ||||
| 	for (i = 0; i < 8; i++) | ||||
| 	{ | ||||
| 		field.format("TRF-UNITA-RICAVI_%d", i);   | ||||
| 		add_field("0", field, 2,  n, 6538+(2*i));		// 
 | ||||
| 	} | ||||
| 	// ulteriori dati per unita' produttive pagamenti
 | ||||
| 	for (i=0; i<80; i++) | ||||
| 	for (i = 0; i < 80; i++) | ||||
| 	{ | ||||
| 		field.format("TRF-UNITA-PAGAM_%d", i);   | ||||
| 		add_field("0", field,	 2,  n, 6554+(2*i));		// 
 | ||||
|  | ||||
| @ -7,8 +7,8 @@ int main(int argc, char** argv) | ||||
|   const int op = argc < 2 ? 0 : argv[1][1]-'0'; | ||||
|   switch (op) | ||||
|   { | ||||
|     case  0: tc9100(argc,argv); break;	// esiste sulla 4.0 Invio a Proforma
 | ||||
|     case  1: tc9200(argc,argv); break;  // esiste dalla 4.0 Invio a Sispac/Cosmo
 | ||||
|     case  0: tc9100(argc,argv); break;	// Invio a Proforma
 | ||||
|     case  1: tc9200(argc,argv); break;  // Invio a Sispac/Cosmo
 | ||||
|     default: tc9100(argc,argv); break; | ||||
|   } | ||||
|   exit(0); | ||||
|  | ||||
							
								
								
									
										1621
									
								
								tc/tc9100.cpp
									
									
									
									
									
								
							
							
						
						
									
										1621
									
								
								tc/tc9100.cpp
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										34
									
								
								tc/tc9100a.h
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								tc/tc9100a.h
									
									
									
									
									
								
							| @ -1,15 +1,23 @@ | ||||
| // invio dati ad altra procedura (Proforma)
 | ||||
| 
 | ||||
| #define F_CODDITTA      101 | ||||
| #define F_RAGSOC        102 | ||||
| #define F_MOVIMENTI     103 | ||||
| #define F_CLIENTI       104 | ||||
| #define F_FORNITORI     105 | ||||
| #define F_CONTI					106 | ||||
| #define F_PAGAMENTI			107 | ||||
| #define F_TIPOINVIO			108 | ||||
| #define F_DESTINAZIONE  109 | ||||
| #define F_DATAINI       110 | ||||
| #define F_DATAFIN       111 | ||||
| #define F_RIPRISTINA    112 | ||||
| #define F_DATARIPRISTINO 113 | ||||
| #define F_CODDITTA       301 | ||||
| #define F_RAGSOC         302 | ||||
| #define F_MOVIMENTI      303 | ||||
| #define F_CLIENTI        304 | ||||
| #define F_FORNITORI      305 | ||||
| #define F_CONTI					 306 | ||||
| #define F_PAGAMENTI			 307 | ||||
| #define F_TIPOINVIO			 308 | ||||
| #define F_DESTINAZIONE   309 | ||||
| #define F_DATAINI        310 | ||||
| #define F_DATAFIN        311 | ||||
| #define F_RIPRISTINA     312 | ||||
| #define F_DATARIPRISTINO 313 | ||||
| 
 | ||||
| #define F_PDCC					 315 | ||||
| 
 | ||||
| #define S_TIPO					101 | ||||
| #define S_GRUPPO				102 | ||||
| #define S_CONTO					103 | ||||
| #define S_SOTTOCONTO		104 | ||||
| #define S_DESCRIZIONE		105 | ||||
|  | ||||
							
								
								
									
										423
									
								
								tc/tc9100a.ini
									
									
									
									
									
								
							
							
						
						
									
										423
									
								
								tc/tc9100a.ini
									
									
									
									
									
								
							| @ -7,3 +7,426 @@ SKIPLINES = 0 | ||||
| TYPEFIELD = -1 | ||||
| TYPELEN = -1 | ||||
| TYPEPOS = -1 | ||||
| 
 | ||||
| [TYPE STRINGA] | ||||
| ALIGN = L | ||||
| DATA = S | ||||
| DECIMAL = 0 | ||||
| FILLER = ' ' | ||||
| LENGTH = 0 | ||||
| PICTURE = | ||||
| 
 | ||||
| [TYPE NUMERO] | ||||
| ALIGN = R | ||||
| DATA = N | ||||
| DECIMAL = 0 | ||||
| FILLER = '0' | ||||
| PICTURE = | ||||
| 
 | ||||
| [TYPE DATA] | ||||
| ALIGN = | ||||
| DATA = D | ||||
| DECIMAL = 0 | ||||
| FILLER = '0' | ||||
| LENGTH = 8 | ||||
| PICTURE = 1444 | ||||
| 
 | ||||
| [TYPE IMPORTO] | ||||
| ALIGN = R | ||||
| DATA = N | ||||
| DECIMAL = 2 | ||||
| FILLER = '0' | ||||
| LENGTH = 14 | ||||
| PICTURE = @@@@@@@@@,@@ | ||||
| 
 | ||||
| [RECORD T] | ||||
| 
 | ||||
| NAME(0) = ID REGISTRAZIONE | ||||
| TYPE(0) = NUMERO | ||||
| POSITION(0) = 0 | ||||
| LENGTH(0) = 10 | ||||
| FIELD(0) = NUMREG | ||||
| 
 | ||||
| NAME(1) = DATA REGISTRAZIONE | ||||
| TYPE(1) = DATA | ||||
| POSITION(1) = 10 | ||||
| LENGTH(1) = 8 | ||||
| FIELD(1) = DATAREG | ||||
| 
 | ||||
| NAME(2) = CODICE CAUSALE | ||||
| TYPE(2) = STRINGA | ||||
| POSITION(2) = 18 | ||||
| LENGTH(2) = 3 | ||||
| FIELD(2) = CODCAUS | ||||
| 
 | ||||
| NAME(3) = DESCRIZIONE CAUSALE | ||||
| TYPE(3) = STRINGA | ||||
| POSITION(3) = 21 | ||||
| LENGTH(3) = 40 | ||||
| FIELD(3) = 26->DESCR[1,40] | ||||
| 
 | ||||
| NAME(4) = DESCRIZIONE TESTATA | ||||
| TYPE(4) = STRINGA | ||||
| POSITION(4) = 61 | ||||
| LENGTH(4) = 240 | ||||
| FIELD(4) = DESCR[1,40] | ||||
| 
 | ||||
| NAME(5) = DATA DOCUMENTO | ||||
| TYPE(5) = DATA | ||||
| POSITION(5) = 301 | ||||
| LENGTH(5) = 8 | ||||
| FIELD(5) = DATADOC  | ||||
| 
 | ||||
| NAME(6) = NUMERO DOCUMENTO | ||||
| TYPE(6) = STRINGA | ||||
| POSITION(6) = 309 | ||||
| LENGTH(6) = 6 | ||||
| FIELD(6) = NUMDOC | ||||
| 
 | ||||
| NAME(7) = TIPO DOCUMENTO | ||||
| TYPE(7) = STRINGA | ||||
| POSITION(7) = 315 | ||||
| LENGTH(7) = 30 | ||||
| 
 | ||||
| NAME(8) = CODICE CLIFOR | ||||
| TYPE(8) = STRINGA | ||||
| POSITION(8) = 345 | ||||
| LENGTH(8) = 10 | ||||
| FIELD(8) = CODCF | ||||
| 
 | ||||
| NAME(9) = TOTALE IMPONIBILE | ||||
| TYPE(9) = IMPORTO | ||||
| POSITION(9) = 355 | ||||
| 
 | ||||
| NAME(10) = TOTALE IVA | ||||
| TYPE(10) = IMPORTO | ||||
| POSITION(10) = 369 | ||||
| 
 | ||||
| NAME(11) = TOTALE DOCUMENTO | ||||
| TYPE(11) = IMPORTO | ||||
| POSITION(11) = 383 | ||||
| FIELD(11) = TOTDOC | ||||
| 
 | ||||
| NAME(12) = DATA PAGAMENTO | ||||
| TYPE(12) = DATA | ||||
| POSITION(12) = 397 | ||||
| LENGTH(12) = 8 | ||||
| 
 | ||||
| NAME(13) = TIPO PAGAMENTO | ||||
| TYPE(13) = STRINGA | ||||
| POSITION(13) = 405 | ||||
| LENGTH(13) = 20 | ||||
| FIELD(13) = CODPAG | ||||
| 
 | ||||
| NAME(14) = DATA COMPETENZA | ||||
| TYPE(14) = DATA | ||||
| POSITION(14) = 425 | ||||
| LENGTH(14) = 8 | ||||
| FIELD(14) = DATACOMP | ||||
| 
 | ||||
| NAME(15) = NUMERO PROTOCOLLO | ||||
| TYPE(15) = STRINGA | ||||
| POSITION(15) = 433 | ||||
| LENGTH(15) = 10 | ||||
| FIELD(15) = PROTIVA | ||||
| 
 | ||||
| NAME(16) = VALUTA | ||||
| TYPE(16) = STRINGA | ||||
| POSITION(16) = 443 | ||||
| LENGTH(16) = 1 | ||||
| MESSAGE(16)=_FISSO,!1 | ||||
| 
 | ||||
| [RECORD R] | ||||
| 
 | ||||
| NAME(0) = ID REGISTRAZIONE | ||||
| TYPE(0) = NUMERO | ||||
| POSITION(0) = 0 | ||||
| LENGTH(0) = 10 | ||||
| FIELD(0) = 23->NUMREG | ||||
| 
 | ||||
| NAME(1) = FLAG RIGA IVA | ||||
| TYPE(1) = STRINGA | ||||
| POSITION(1) = 10 | ||||
| LENGTH(1) = 1 | ||||
| MESSAGE(1) = _FISSO,!N | ||||
| 
 | ||||
| NAME(2) = FLAG DARE/AVERE | ||||
| TYPE(2) = STRINGA | ||||
| POSITION(2) = 11 | ||||
| LENGTH(2) = 1 | ||||
| FIELD(2) = SEZIONE | ||||
| 
 | ||||
| NAME(3) = CODICE MASTRO | ||||
| TYPE(3) = STRINGA | ||||
| POSITION(3) = 12 | ||||
| LENGTH(3) = 5 | ||||
| 
 | ||||
| NAME(4) = CODICE CONTO | ||||
| TYPE(4) = STRINGA | ||||
| POSITION(4) = 17 | ||||
| LENGTH(4) = 5 | ||||
| 
 | ||||
| NAME(5) = CODICE SOTTOCONTO | ||||
| TYPE(5) = STRINGA | ||||
| POSITION(5) = 22 | ||||
| LENGTH(5) = 5 | ||||
| 
 | ||||
| NAME(6) = FLAG CLIFOR | ||||
| TYPE(6) = STRINGA | ||||
| POSITION(6) = 27 | ||||
| LENGTH(6) = 1 | ||||
| 
 | ||||
| NAME(7) = CODICE CLIFOR | ||||
| TYPE(7) = STRINGA | ||||
| POSITION(7) = 28 | ||||
| LENGTH(7) = 10 | ||||
| 
 | ||||
| NAME(8) = DESCRIZIONE RIGA | ||||
| TYPE(8) = STRINGA | ||||
| POSITION(8) = 38 | ||||
| LENGTH(8) = 40 | ||||
| FIELD(8) = DESCR[1,40] | ||||
| 
 | ||||
| NAME(9) = IMPORTO SOTTOCONTO | ||||
| TYPE(9) = IMPORTO | ||||
| POSITION(9) = 78 | ||||
| FIELD(9) = IMPORTO | ||||
| 
 | ||||
| NAME(10) = IMPONIBILE | ||||
| TYPE(10) = IMPORTO | ||||
| POSITION(10) = 92 | ||||
| 
 | ||||
| NAME(11) = CODICE IVA | ||||
| TYPE(11) = STRINGA | ||||
| POSITION(11) = 106 | ||||
| LENGTH(11) = 4 | ||||
| 
 | ||||
| NAME(12) = CP INDED | ||||
| TYPE(12) = STRINGA | ||||
| POSITION(12) = 110 | ||||
| LENGTH(12) = 15 | ||||
| 
 | ||||
| NAME(13) = COMMESSA | ||||
| TYPE(13) = STRINGA | ||||
| POSITION(13) = 125 | ||||
| LENGTH(13) = 20 | ||||
| FIELD(13) = CODCMS | ||||
| 
 | ||||
| NAME(14) = SOTTOPROGETTO | ||||
| TYPE(14) = STRINGA | ||||
| POSITION(14) = 145 | ||||
| LENGTH(14) = 20 | ||||
| 
 | ||||
| NAME(15) = EDIZIONE | ||||
| TYPE(15) = STRINGA | ||||
| POSITION(15) = 165 | ||||
| LENGTH(15) = 20 | ||||
| 
 | ||||
| NAME(16) = VOCE DI SPESA | ||||
| TYPE(16) = STRINGA | ||||
| POSITION(16) = 185 | ||||
| LENGTH(16) = 10 | ||||
| 
 | ||||
| [RECORD I] | ||||
| 
 | ||||
| NAME(0) = ID REGISTRAZIONE | ||||
| TYPE(0) = NUMERO | ||||
| POSITION(0) = 0 | ||||
| LENGTH(0) = 10 | ||||
| FIELD(0) = NUMREG | ||||
| 
 | ||||
| NAME(1) = FLAG RIGA IVA | ||||
| TYPE(1) = STRINGA | ||||
| POSITION(1) = 10 | ||||
| LENGTH(1) = 1 | ||||
| MESSAGE(1) = _FISSO,!S | ||||
| 
 | ||||
| NAME(3) = CODICE MASTRO | ||||
| TYPE(3) = STRINGA | ||||
| POSITION(3) = 12 | ||||
| LENGTH(3) = 5 | ||||
| FIELD(3) = GRUPPO | ||||
| 
 | ||||
| NAME(4) = CODICE CONTO | ||||
| TYPE(4) = STRINGA | ||||
| POSITION(4) = 17 | ||||
| LENGTH(4) = 5 | ||||
| FIELD(4) = CONTO | ||||
| 
 | ||||
| NAME(5) = CODICE SOTTOCONTO | ||||
| TYPE(5) = STRINGA | ||||
| POSITION(5) = 22 | ||||
| LENGTH(5) = 5 | ||||
| FIELD(5) = SOTTOCONTO | ||||
| 
 | ||||
| NAME(6) = FLAG CLIFOR | ||||
| TYPE(6) = STRINGA | ||||
| POSITION(6) = 27 | ||||
| LENGTH(6) = 1 | ||||
| FIELD(6) = TIPOC | ||||
| 
 | ||||
| NAME(7) = CODICE CLIFOR | ||||
| TYPE(7) = STRINGA | ||||
| POSITION(7) = 28 | ||||
| LENGTH(7) = 10 | ||||
| 
 | ||||
| NAME(8) = DESCRIZIONE RIGA | ||||
| TYPE(8) = STRINGA | ||||
| POSITION(8) = 38 | ||||
| LENGTH(8) = 40 | ||||
| 
 | ||||
| NAME(9) = IMPORTO SOTTOCONTO | ||||
| TYPE(9) = IMPORTO | ||||
| POSITION(9) = 78 | ||||
| 
 | ||||
| NAME(10) = IMPONIBILE | ||||
| TYPE(10) = IMPORTO | ||||
| POSITION(10) = 92 | ||||
| FIELD(10) = IMPONIBILE | ||||
| 
 | ||||
| NAME(11) = CODICE IVA | ||||
| TYPE(11) = STRINGA | ||||
| POSITION(11) = 106 | ||||
| LENGTH(11) = 4 | ||||
| FIELD(11) = CODIVA | ||||
| 
 | ||||
| NAME(12) = CP INDED | ||||
| TYPE(12) = STRINGA | ||||
| POSITION(12) = 110 | ||||
| LENGTH(12) = 15 | ||||
| 
 | ||||
| NAME(13) = COMMESSA | ||||
| TYPE(13) = STRINGA | ||||
| POSITION(13) = 125 | ||||
| LENGTH(13) = 20 | ||||
| 
 | ||||
| NAME(14) = SOTTOPROGETTO | ||||
| TYPE(14) = STRINGA | ||||
| POSITION(14) = 145 | ||||
| LENGTH(14) = 20 | ||||
| 
 | ||||
| NAME(15) = EDIZIONE | ||||
| TYPE(15) = STRINGA | ||||
| POSITION(15) = 165 | ||||
| LENGTH(15) = 20 | ||||
| 
 | ||||
| NAME(16) = VOCE DI SPESA | ||||
| TYPE(16) = STRINGA | ||||
| POSITION(16) = 185 | ||||
| LENGTH(16) = 10 | ||||
| 
 | ||||
| 
 | ||||
| [RECORD C] | ||||
| 
 | ||||
| NAME(0) = CODICE | ||||
| TYPE(0) = STRINGA | ||||
| POSITION(0) = 0 | ||||
| LENGTH(0) = 10 | ||||
| FIELD(0) = 20->CODCF | ||||
| 
 | ||||
| NAME(1) = RAGIONE SOCIALE | ||||
| TYPE(1) = STRINGA | ||||
| POSITION(1) = 11 | ||||
| LENGTH(1) = 40 | ||||
| MESSAGE(1) = _RAGSOC | ||||
| FIELD(1) = 20->RAGSOC | ||||
| 
 | ||||
| NAME(2) = PARTITA IVA | ||||
| TYPE(2) = STRINGA | ||||
| POSITION(2) = 50 | ||||
| LENGTH(2) = 12 | ||||
| FIELD(2)=20->PAIV | ||||
| 
 | ||||
| NAME(3) = CODICE FISCALE | ||||
| TYPE(3) = STRINGA | ||||
| POSITION(3) = 62 | ||||
| LENGTH(3) = 16 | ||||
| FIELD(3) = 20->COFI | ||||
| 
 | ||||
| NAME(4) = INDIRIZZO | ||||
| TYPE(4) = STRINGA | ||||
| POSITION(4) = 78 | ||||
| LENGTH(4) = 40 | ||||
| FIELD(4) = 20->INDCF | ||||
| 
 | ||||
| NAME(5) = CAP DI RESIDENZA | ||||
| TYPE(5) = STRINGA | ||||
| POSITION(5) = 118 | ||||
| LENGTH(5) = 5 | ||||
| FIELD(5)=20->CAPCF | ||||
| 
 | ||||
| NAME(6) = COMUNE DI RESIDENZA | ||||
| TYPE(6) = STRINGA | ||||
| POSITION(6) = 123 | ||||
| LENGTH(6) = 23 | ||||
| FIELD(6) = 13->DENCOM[1,40] | ||||
| 
 | ||||
| NAME(7) = PROVINCIA DI RESIDENZA | ||||
| TYPE(7) = STRINGA | ||||
| POSITION(7) = 163 | ||||
| LENGTH(7) = 2 | ||||
| FIELD(7) = 13->PROVCOM | ||||
| 
 | ||||
| NAME(8) = TELEFONO | ||||
| TYPE(8) = STRINGA | ||||
| POSITION(8) = 165 | ||||
| LENGTH(8) = 20 | ||||
| FIELD(8) = 20->TEL | ||||
| MESSAGE(8) = _TELEFONO | ||||
| 
 | ||||
| [RECORD P] | ||||
| 
 | ||||
| NAME(0) = CODICE MASTRO | ||||
| TYPE(0) = STRINGA | ||||
| POSITION(0) = 0 | ||||
| LENGTH(0) = 5 | ||||
| FIELD(0)=19->GRUPPO | ||||
| 
 | ||||
| NAME(1) = CODICE CONTO | ||||
| TYPE(1) = STRINGA | ||||
| POSITION(1) = 5 | ||||
| B LENGTH(1) = 5 | ||||
| FIELD(1)=19->CONTO | ||||
| 
 | ||||
| NAME(2) = CODICE SOTTOCONTO | ||||
| TYPE(2) = STRINGA | ||||
| POSITION(2) = 10 | ||||
| LENGTH(2) = 5 | ||||
| FIELD(2)=19->SOTTOCONTO | ||||
| 
 | ||||
| NAME(3) = DESCRIZIONE | ||||
| TYPE(3) = STRINGA | ||||
| POSITION(3) = 15 | ||||
| LENGTH(3) = 80 | ||||
| FIELD(3)=19->DESCR | ||||
| 
 | ||||
| [RECORD G] | ||||
| 
 | ||||
| NAME(0) = ID REGISTRAZIONE PAGAMENTO | ||||
| TYPE(0) = NUMERO | ||||
| POSITION(0) = 0 | ||||
| LENGTH(0) = 10 | ||||
| MESSAGE(0) = _NREGPAG | ||||
| 
 | ||||
| NAME(1) = ID REGISTRAZIONE COSTO | ||||
| TYPE(1) = NUMERO | ||||
| POSITION(1) = 10 | ||||
| LENGTH(1) = 10 | ||||
| MESSAGE(1) = _NREGCOSTO | ||||
| 
 | ||||
| NAME(2) = IMPORTO | ||||
| TYPE(2) = IMPORTO | ||||
| POSITION(2) = 20 | ||||
| MESSAGE(2) = _IMPORTO | ||||
| 
 | ||||
| NAME(3) = FLAG ACCONTO/SALDO | ||||
| TYPE(3) = STRINGA | ||||
| POSITION(3) = 34 | ||||
| LENGTH(3) = 1 | ||||
| MESSAGE(3) = _FLAG | ||||
| 
 | ||||
| NAME(4) = VALUTA | ||||
| TYPE(4) = STRINGA | ||||
| POSITION(4) = 35 | ||||
| LENGTH(4) = 1 | ||||
| MESSAGE(4)=_FISSO,!1 | ||||
|  | ||||
							
								
								
									
										144
									
								
								tc/tc9100a.uml
									
									
									
									
									
								
							
							
						
						
									
										144
									
								
								tc/tc9100a.uml
									
									
									
									
									
								
							| @ -1,5 +1,19 @@ | ||||
| #include "tc9100a.h" | ||||
| 
 | ||||
| TOOLBAR "" 0 -2 0 2 | ||||
| 
 | ||||
| BUTTON DLG_OK 10 2 | ||||
| BEGIN | ||||
|   PROMPT -12 -11 "" | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_QUIT 10 2 | ||||
| BEGIN | ||||
|   PROMPT -22 -11 "" | ||||
| END | ||||
| 
 | ||||
| ENDPAGE | ||||
| 
 | ||||
| PAGE "Invio dati contabilita'" -1 -1 78 20 | ||||
| 
 | ||||
| GROUPBOX DLG_NULL 76 3 | ||||
| @ -31,7 +45,8 @@ END | ||||
| BOOLEAN F_MOVIMENTI | ||||
| BEGIN | ||||
|   PROMPT 3 5 "Movimenti contabili" | ||||
|   MESSAGE TRUE,ENABLE F_DATAFIN | ||||
|   MESSAGE FALSE CLEAR,F_PAGAMENTI|DISABLE,F_DATAFIN | ||||
|   MESSAGE TRUE ENABLE,F_PAGAMENTI|ENABLE,F_DATAFIN | ||||
| END | ||||
| 
 | ||||
| BOOLEAN F_CLIENTI | ||||
| @ -75,7 +90,7 @@ BEGIN | ||||
|   PROMPT 40 12 "Data finale  " | ||||
| END | ||||
| 
 | ||||
| BUTTON F_RIPRISTINA 20 | ||||
| BUTTON F_RIPRISTINA 20 2 | ||||
| BEGIN | ||||
|   PROMPT 2 14 "Annulla invio" | ||||
|   MESSAGE SHOW,F_DATARIPRISTINO|ENABLE,F_DATARIPRISTINO | ||||
| @ -87,14 +102,131 @@ BEGIN | ||||
|   FLAGS "HD" | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_OK 9 2 | ||||
| ENDPAGE | ||||
| 
 | ||||
| PAGE "Conti" -1 -1 78 20 | ||||
| 
 | ||||
| TEXT -1 | ||||
| BEGIN | ||||
|   PROMPT -12 -1 "" | ||||
|   PROMPT 1 1 "@bPiano dei conti contabile" | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_QUIT 9 2 | ||||
| SPREADSHEET F_PDCC 78 -6 | ||||
| BEGIN | ||||
|   PROMPT -22 -1 "" | ||||
|   PROMPT 1 2 "Pdcc" | ||||
|   ITEM "Tipo" | ||||
|   ITEM "Gruppo" | ||||
|   ITEM "Conto" | ||||
|   ITEM "Sottoconto" | ||||
|   ITEM "Descrizione@50" | ||||
| END | ||||
| 
 | ||||
| TEXT -1 | ||||
| BEGIN | ||||
|   PROMPT 1 17 "Inserire conti di tipo F per ritenute Fiscali" | ||||
| END | ||||
| 
 | ||||
| TEXT -1 | ||||
| BEGIN | ||||
|   PROMPT 1 18 "S per ritenute Sociali, C per Costi, P per Pagamenti" | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_SAVEREC 12 2 | ||||
| BEGIN | ||||
|   PROMPT -11 19 "" | ||||
|   PICTURE BMP_SAVEREC | ||||
|   PICTURE BMP_SAVERECDN | ||||
| END | ||||
| 
 | ||||
| ENDPAGE | ||||
| 
 | ||||
| ENDMASK | ||||
| 
 | ||||
| //-------------------------------------------------------------------- | ||||
| //		Riga dello sheet dei conti | ||||
| //-------------------------------------------------------------------- | ||||
| 
 | ||||
| PAGE "Riga Piano dei conti contabile" -1 -1 78 8 | ||||
| 
 | ||||
| LIST S_TIPO 1 18 | ||||
| BEGIN | ||||
|   PROMPT 1 1 "Tipo        " | ||||
|   ITEM "C|Costi" | ||||
|   ITEM "P|Pagamenti" | ||||
|   ITEM "F|Ritenute fiscali" | ||||
|   ITEM "S|Ritenute sociali" | ||||
| END | ||||
| 
 | ||||
| NUMBER S_GRUPPO 3 | ||||
| BEGIN | ||||
|   PROMPT 1 2 "Gruppo      " | ||||
|   USE LF_PCON KEY 1 SELECT CONTO="" | ||||
|   INPUT GRUPPO S_GRUPPO | ||||
|   DISPLAY "Gruppo" GRUPPO | ||||
|   DISPLAY "Descrizione@50" DESCR | ||||
|   OUTPUT S_GRUPPO GRUPPO | ||||
|   CHECKTYPE REQUIRED | ||||
| END | ||||
| 
 | ||||
| NUMBER S_CONTO 3 | ||||
| BEGIN | ||||
|   PROMPT 1 3 "Conto       " | ||||
|   USE LF_PCON KEY 1 SELECT ((CONTO!="")&&(SOTTOCONTO="")) | ||||
|   COPY INPUT S_GRUPPO | ||||
|   INPUT CONTO S_CONTO | ||||
|   DISPLAY "Gruppo" GRUPPO | ||||
|   DISPLAY "Conto" CONTO | ||||
|   DISPLAY "Descrizione@50" DESCR | ||||
|   OUTPUT S_GRUPPO GRUPPO | ||||
|   OUTPUT S_CONTO CONTO | ||||
|   CHECKTYPE NORMAL | ||||
|   VALIDATE REQIF_FUNC 1 S_SOTTOCONTO | ||||
| END | ||||
| 
 | ||||
| NUMBER S_SOTTOCONTO 6 | ||||
| BEGIN | ||||
|   PROMPT 1 4 "Sottoconto  " | ||||
|   USE LF_PCON KEY 1 SELECT SOTTOCONTO!="" | ||||
|   COPY INPUT S_CONTO | ||||
|   INPUT SOTTOCONTO S_SOTTOCONTO | ||||
|   DISPLAY "Gruppo" GRUPPO | ||||
|   DISPLAY "Conto" CONTO | ||||
|   DISPLAY "Sottoconto" SOTTOCONTO | ||||
|   DISPLAY "Descrizione@50" DESCR | ||||
|   OUTPUT S_SOTTOCONTO SOTTOCONTO | ||||
|   OUTPUT S_CONTO CONTO | ||||
|   OUTPUT S_GRUPPO GRUPPO | ||||
|   OUTPUT S_DESCRIZIONE DESCR | ||||
|   CHECKTYPE NORMAL | ||||
| END | ||||
| 
 | ||||
| STRING S_DESCRIZIONE 50 | ||||
| BEGIN | ||||
|   PROMPT 1 5 "Descrizione " | ||||
|   KEY 2 | ||||
|   USE LF_PCON KEY 2 | ||||
|   INPUT DESCR S_DESCRIZIONE | ||||
|   DISPLAY "Descrizione@50" DESCR | ||||
|   DISPLAY "Gruppo" GRUPPO | ||||
|   DISPLAY "Conto" CONTO | ||||
|   DISPLAY "Sottoconto" SOTTOCONTO | ||||
|   COPY OUTPUT S_SOTTOCONTO | ||||
|   CHECKTYPE REQUIRED | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_OK 10 2 | ||||
| BEGIN | ||||
|   PROMPT -13 -1 "" | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_DELREC 10 2 | ||||
| BEGIN | ||||
|   PROMPT -23 -1 "" | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_CANCEL 10 2 | ||||
| BEGIN  | ||||
|   PROMPT -33 -1 "" | ||||
| END | ||||
| 
 | ||||
| ENDPAGE | ||||
|  | ||||
| @ -1,2 +1,5 @@ | ||||
| 
 | ||||
| [OPZIONI] | ||||
| CONFSTRINGA = | ||||
| DATA = | ||||
| PERCORSO = | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										382
									
								
								tc/tc9200.cpp
									
									
									
									
									
								
							
							
						
						
									
										382
									
								
								tc/tc9200.cpp
									
									
									
									
									
								
							| @ -1,7 +1,385 @@ | ||||
| //NON riportare nulla!!!! Esiste dalla 4.0; qui e' solo un segnaposto
 | ||||
| #include "tc9.h" | ||||
| #include <applicat.h> | ||||
| #include <automask.h> | ||||
| #include <filetext.h> | ||||
| 
 | ||||
| #include "tc0.h" | ||||
| #include "tc9200a.h" | ||||
| 
 | ||||
| #include <clifo.h> | ||||
| #include <mov.h> | ||||
| #include <rmov.h> | ||||
| #include <rmoviva.h> | ||||
| 
 | ||||
| #define ALIAS_REG		100 | ||||
|   | ||||
| class TInvioS_file: public TFile_text | ||||
| { | ||||
| protected: | ||||
|   virtual void validate(TCursor& cur,TRecord_text &rec, TToken_string &val, TString& str); | ||||
| 
 | ||||
| public: | ||||
|   TInvioS_file(const TString& file_name); | ||||
|   virtual ~TInvioS_file() { } | ||||
| }; | ||||
| 
 | ||||
| TInvioS_file::TInvioS_file(const TString& file_name) | ||||
|           : TFile_text(file_name, "tc9200a.ini") | ||||
| { | ||||
| } | ||||
| 
 | ||||
| class TInvioS_mask : public TAutomask | ||||
| { | ||||
| protected: | ||||
|   bool on_field_event(TOperable_field& o, TField_event e, long jolly); | ||||
| public: | ||||
| 
 | ||||
|   TInvioS_mask(); | ||||
|    | ||||
|   virtual ~TInvioS_mask(){}; | ||||
| }; | ||||
|    | ||||
| TInvioS_mask::TInvioS_mask() :TAutomask ("tc9200a") | ||||
| { | ||||
| }   | ||||
|    | ||||
| bool TInvioS_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) | ||||
| {  | ||||
| 	switch (o.dlg()) | ||||
| 	{ | ||||
| 	case F_CODDITTA:                                | ||||
| 		if (e==fe_init && o.empty()) | ||||
| 		{ | ||||
| 			set(F_CODDITTA, main_app().get_firm()); | ||||
| 			((TEdit_field&) o).check(); | ||||
| 			disable(F_CODDITTA); | ||||
| 		}	 | ||||
| 		break; | ||||
| 	default: | ||||
| 		break;	 | ||||
| 	} | ||||
|   return TRUE; | ||||
| } | ||||
| 
 | ||||
| class TInvioS : public TSkeleton_application | ||||
| {                      | ||||
| 	TCursor*				   _cur; | ||||
|   TInvioS_mask* 		 _msk; | ||||
|   TInvioS_file*			 _trasfile; | ||||
| 	TConfig*					 _configfile; | ||||
|   TDate							 _dataini, _datafin; | ||||
|    | ||||
| protected: | ||||
|   virtual bool create(void); | ||||
|   virtual bool destroy(void); | ||||
|   virtual void main_loop() ; | ||||
|   void invio_sispac(); | ||||
|   long i_sispac_clifor(const char* tipocf, const bool invio = TRUE); | ||||
|   long i_sispac_movcont(const bool invio = TRUE); | ||||
|   long i_sispac_moviva(const bool invio = TRUE); | ||||
| 
 | ||||
| public: | ||||
| 	TInvioS_file* apri_file(const char* nome); | ||||
| 	void chiudi_file(TInvioS_file* trasfile); | ||||
| 	TConfig& config() {return *_configfile;}; | ||||
|   TInvioS() {} ; | ||||
|   virtual ~TInvioS() {} ; | ||||
| };   | ||||
| 
 | ||||
| // restituisce un riferimento all' applicazione
 | ||||
| inline TInvioS& app() { return (TInvioS&) main_app();} | ||||
| 
 | ||||
| // gestione dei messaggi estesi nei campi
 | ||||
| void TInvioS_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TString& str) | ||||
| { | ||||
|   const TString code(s.get(0)); | ||||
|   TString valore; | ||||
|   if (code == "_FISSO") | ||||
|   { | ||||
|     // gestione dei campi fissi per i record delle riba
 | ||||
|     // sintassi: _FISSO,!<valore>
 | ||||
|     // dove: <valore> è la stringa fissa da emettere
 | ||||
|     TString in(s.get()); | ||||
|     CHECK(in[0]=='!',"Macro _FISSO senza carattere '!'"); | ||||
|     in.ltrim(1); | ||||
|     in.trim(); | ||||
|     valore = in; | ||||
|   }  | ||||
|   else if (code == "_TIPORIGA") | ||||
|   { | ||||
| 		valore = str.empty() ? " " : "S"; | ||||
|   }  | ||||
|   else if (code == "_CODPAG") | ||||
|   { | ||||
|  		valore = app().config().get(str, "PAGAMENTI"); | ||||
|   }  | ||||
|   else if (code == "_OPZIONI") | ||||
|   { | ||||
|  		TString in(s.get()); 	 | ||||
|  		valore = app().config().get(in, "OPZIONI"); | ||||
|   } | ||||
|   else if (code == "_IMPORTO") | ||||
|   {  | ||||
| 		real importo(str); | ||||
| 		valore = importo.string(0,2); | ||||
|   	valore.strip("-"); | ||||
|   	valore.strip("+"); | ||||
|   	valore.strip("."); | ||||
|   } | ||||
|   else if (code == "_IMPORTORIGAIVA") | ||||
|   {  | ||||
| 		real imponibile = cur.curr(LF_RMOVIVA).get_real(RMI_IMPONIBILE);; | ||||
| 		real imposta = cur.curr(LF_RMOVIVA).get_real(RMI_IMPOSTA);; | ||||
| 		imponibile += imposta; | ||||
| 		valore = imposta.string(0,2); | ||||
|   	valore.strip("-"); | ||||
|   	valore.strip("+"); | ||||
|   	valore.strip("."); | ||||
|   } | ||||
| 	else if (code == "_INDIR") | ||||
| 	{ | ||||
| 		valore = cur.curr(LF_CLIFO).get(CLI_INDCF); | ||||
| 		valore << ' ' << cur.curr(LF_CLIFO).get(CLI_CIVCF); | ||||
| 		valore.cut(40); | ||||
| 	} | ||||
| 	else if (code == "_GIUFIS") | ||||
| 	{ | ||||
| 		const char c = str[0]; | ||||
| 		valore = (c == 'F') ? "S" : "N"; | ||||
| 	} | ||||
| 	else if (code == "_TITOLARE") | ||||
| 	{ | ||||
| 		valore = (str.empty() ? "N" : "S"); | ||||
| 	} | ||||
| 	else if (code == "_TIPODET") | ||||
| 	{ | ||||
| 		valore = (str.empty() ? " " : "100"); | ||||
| 	} | ||||
| 	else if (code == "_CONTO") | ||||
| 	{ | ||||
| 		int gruppo = cur.curr(LF_CLIFO).get_int(CLI_GRUPPO); | ||||
| 		if (gruppo == 10) | ||||
| 			gruppo = 0; | ||||
| 		int conto = cur.curr(LF_CLIFO).get_int(CLI_CONTO); | ||||
| 		long codice = cur.curr(LF_CLIFO).get_int(CLI_CODCF); | ||||
| 		valore.format("%03d%03d%06ld", gruppo, conto, codice); | ||||
| 	} | ||||
| 	else if (code == "_CONTOMOV") | ||||
| 	{ | ||||
| 		int gruppo = cur.curr(LF_RMOV).get_int(RMV_GRUPPO); | ||||
| 		if (gruppo == 10) | ||||
| 			gruppo = 0; | ||||
| 		int conto = cur.curr(LF_RMOV).get_int(RMV_CONTO); | ||||
| 		long codice = cur.curr(LF_RMOV).get_int(RMV_SOTTOCONTO); | ||||
| 		valore.format("%03d%03d%06ld", gruppo, conto, codice); | ||||
| 	} | ||||
| 	else if (code == "_CONTOMOVIVA") | ||||
| 	{ | ||||
| 		int gruppo = cur.curr(LF_RMOVIVA).get_int(RMI_GRUPPO); | ||||
| 		if (gruppo == 10) | ||||
| 			gruppo = 0; | ||||
| 		int conto = cur.curr(LF_RMOVIVA).get_int(RMI_CONTO); | ||||
| 		long codice = cur.curr(LF_RMOVIVA).get_int(RMI_SOTTOCONTO); | ||||
| 		valore.format("%03d%03d%06ld", gruppo, conto, codice); | ||||
| 	} | ||||
|   else NFCHECK("Macro non definita: %s", (const char *)code); | ||||
|   str = valore; | ||||
| } | ||||
| 
 | ||||
| TInvioS_file* TInvioS::apri_file(const char* nome) | ||||
| { | ||||
| 	TFilename filename = _msk->get(F_DESTINAZIONE); | ||||
| 	filename.add(nome); | ||||
| 	filename.ext("txt"); | ||||
| 	if (filename.exist()) | ||||
| 		remove(filename); | ||||
| 	TInvioS_file* trasfile = new TInvioS_file(filename); | ||||
| 	trasfile->open(filename,'w'); | ||||
| 	trasfile->force_record_separator(); | ||||
| 	return trasfile; | ||||
| } | ||||
| 
 | ||||
| void TInvioS::chiudi_file(TInvioS_file* trasfile) | ||||
| { | ||||
| 	trasfile->close(); | ||||
| 	delete trasfile; | ||||
| } | ||||
| 
 | ||||
| long TInvioS::i_sispac_movcont(const bool invio) | ||||
| { | ||||
|   TRectype da(LF_MOV); | ||||
|   TRectype a(LF_MOV); | ||||
| 	TDate dataini = _msk->get_date(F_DATAINI); | ||||
| 	TDate datafin = _msk->get_date(F_DATAFIN); | ||||
| 	if (dataini.ok()) | ||||
| 		da.put(MOV_DATAREG, dataini); | ||||
| 	if (datafin.ok()) | ||||
| 		a.put(MOV_DATAREG, datafin); | ||||
|   TRelation rel(LF_MOV); | ||||
|   rel.add(LF_RMOV, "NUMREG==NUMREG", 1); | ||||
|   rel.add(LF_CLIFO, "TIPOCF==TIPO|CODCF==CODCF", 1); | ||||
|   TCursor cur(&rel, "", 2, &da, &a); | ||||
|   const long cur_items = cur.items(); | ||||
|   if (cur_items != 0)  | ||||
|   {                | ||||
| 	  cur.freeze(); | ||||
|     TRectype& cur_rec = cur.curr(); | ||||
|     for (cur = 0; cur.pos() < cur_items; ++(cur)) | ||||
|     {                                                     | ||||
| 			const long numreg = cur.curr().get_long(MOV_NUMREG); | ||||
|  			bool continua = TRUE; | ||||
|  			while (continua) | ||||
|  			{                                                    | ||||
|  				const long numregrig = cur.curr(LF_RMOV).get_long(RMV_NUMREG); | ||||
|  				if (numreg == numregrig) | ||||
|  				{       | ||||
|  					if (invio) | ||||
|  					{ | ||||
| 			    	TRectype& cur_rec_righe = cur.curr(LF_RMOV); | ||||
| 						TRecord_text recrighe; | ||||
| 						recrighe.set_type("R"); | ||||
| 						_trasfile->autoload(recrighe, cur);  | ||||
| 						_trasfile->write(recrighe); | ||||
| 					} | ||||
|  				} | ||||
| 		  	continua = cur.next_match(LF_RMOV, "NUMREG"); | ||||
|  			}	 | ||||
|     }	 | ||||
|   }                   | ||||
|   return 0; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| long TInvioS::i_sispac_moviva(const bool invio) | ||||
| { | ||||
|   TRectype da(LF_MOV); | ||||
|   TRectype a(LF_MOV); | ||||
|   da.put(MOV_DATAREG, _dataini); | ||||
|   a.put(MOV_DATAREG, _datafin); | ||||
|   TRelation rel(LF_MOV); | ||||
|   rel.add(LF_RMOVIVA, "NUMREG==NUMREG", 1); | ||||
|   rel.add("REG", "CODTAB[1,4]==ANNOIVA|CODTAB[5,7]==REG", 1); | ||||
|   rel.add(LF_CLIFO, "TIPOCF==TIPO|CODCF==CODCF", 1); | ||||
|   TCursor cur(&rel, "", 2, &da, &a); | ||||
|   const long cur_items = cur.items(); | ||||
|   if (cur_items != 0)  | ||||
| 
 | ||||
|   {                | ||||
| 	  cur.freeze(); | ||||
|     TRectype& cur_rec = cur.curr(); | ||||
|     for (cur = 0; cur.pos() < cur_items; ++(cur)) | ||||
|     {                                                     | ||||
| 			const long numreg = cur.curr().get_long(MOV_NUMREG); | ||||
|  			bool continua = TRUE; | ||||
|  			while (continua) | ||||
|  			{                                                    | ||||
|  				const long numregrig = cur.curr(LF_RMOVIVA).get_long(RMI_NUMREG); | ||||
|  				if (numreg == numregrig) | ||||
|  				{       | ||||
|  					if (invio) | ||||
|  					{ | ||||
| 			    	TRectype& cur_rec_righe = cur.curr(LF_RMOVIVA); | ||||
| 						TRecord_text recrighe; | ||||
| 						recrighe.set_type("I"); | ||||
| 						_trasfile->autoload(recrighe, cur);  | ||||
| 						_trasfile->write(recrighe); | ||||
| 					} | ||||
|  				} | ||||
| 		  	continua = cur.next_match(LF_RMOVIVA, "NUMREG"); | ||||
|  			}	 | ||||
|     }	 | ||||
|   }                   | ||||
|   return 0; | ||||
| } | ||||
| 
 | ||||
| long TInvioS::i_sispac_clifor(const char* tipocf, const bool invio) | ||||
| { | ||||
| 	TString80 nomefile = "FILE"; | ||||
| 	nomefile << tipocf; | ||||
| 	TInvioS_file* trasfilecf = apri_file(_configfile->get(nomefile, "OPZIONI")); | ||||
|   TRelation rel(LF_CLIFO); | ||||
|   rel.add(LF_COMUNI, "STATO==STATOCF|COM==COMCF", 1); | ||||
|   rel.add(LF_ANAGFIS,"CODANAGR==CODANAGPER", 1); | ||||
|   rel.add(LF_ANAG,"TIPOA==TIPOPERS|CODANAGR==CODANAGPER", 1); | ||||
| 	TString80 filtro; | ||||
| 	filtro = "20->TIPOCF == \""; | ||||
| 	filtro << tipocf; | ||||
| 	filtro << "\""; | ||||
|   TCursor cur(&rel); | ||||
| 	cur.setfilter(filtro, TRUE); | ||||
|   const long cur_items = cur.items(); | ||||
|   if (cur_items != 0 && invio)  | ||||
|   { | ||||
| 	  cur.freeze(); | ||||
|     TRectype& cur_rec = cur.curr(); | ||||
|     for (cur = 0; cur.pos() < cur_items; ++(cur)) | ||||
|     { | ||||
| 			TRecord_text rec; | ||||
| 			rec.set_type(tipocf); | ||||
| 			trasfilecf->autoload(rec, cur);  | ||||
| 			trasfilecf->write(rec); | ||||
|     }	 | ||||
|   }  | ||||
| 	chiudi_file(trasfilecf); | ||||
|   return 0; | ||||
| } | ||||
| 
 | ||||
| //metodone globale che chiama, come un menu, i vari sottometodi in base alle scelte sulla maschera
 | ||||
| void TInvioS::invio_sispac() | ||||
| { | ||||
| 	if (_msk->get_bool(F_CLIFOR)) | ||||
| 	{ | ||||
| 		i_sispac_clifor("C"); | ||||
| 		i_sispac_clifor("F"); | ||||
| 	} | ||||
| 	if (_msk->get_bool(F_MOVCONT)) | ||||
| 	{ | ||||
| 		TString80 filename = _configfile->get("FILEM", "OPZIONI"); | ||||
| 		_trasfile = apri_file(filename); | ||||
| 		i_sispac_movcont(); | ||||
| 		i_sispac_moviva(); | ||||
| 		chiudi_file(_trasfile); | ||||
| 	}	 | ||||
| } | ||||
| 
 | ||||
| bool TInvioS::create() | ||||
| { | ||||
|   _msk = new TInvioS_mask(); | ||||
| 	TFilename configname = "tc9200conf.ini"; | ||||
| 	configname.custom_path(); | ||||
| 	_configfile = new TConfig(configname); | ||||
|   return TSkeleton_application::create(); | ||||
| } | ||||
| 
 | ||||
| bool TInvioS::destroy() | ||||
| {  | ||||
| 	delete _configfile; | ||||
| 	delete _msk; | ||||
|   return TSkeleton_application::destroy(); | ||||
| } | ||||
| 
 | ||||
| void TInvioS::main_loop() | ||||
| { | ||||
| 	_msk->set(F_NUMEROINVIO, _configfile->get_int("NUMEROINVIO","OPZIONI")+1); | ||||
| 	_msk->set(F_DATAINI, _configfile->get("DATA","OPZIONI")); | ||||
| 	_msk->set(F_DESTINAZIONE, _configfile->get("PERCORSO","OPZIONI")); | ||||
|   while (_msk->run() != K_QUIT) | ||||
|   {                                   | ||||
|   	_configfile->set("NUMEROINVIO", _msk->get(F_NUMEROINVIO),"OPZIONI"); | ||||
|   	_configfile->set("DATA", _msk->get_date(F_DATAFIN),"OPZIONI"); | ||||
|   	_configfile->set("PERCORSO", _msk->get(F_DESTINAZIONE),"OPZIONI"); | ||||
|   	_configfile->set_paragraph("PAGAMENTI"); | ||||
|   	_dataini = _msk->get_date(F_DATAINI); | ||||
|   	_datafin = _msk->get_date(F_DATAFIN); | ||||
| 		const char tipoinvio = _msk->get(F_TIPOINVIO)[0]; | ||||
| 		if (tipoinvio == 'S') | ||||
| 			invio_sispac(); | ||||
| 	}	 | ||||
| } | ||||
| 
 | ||||
| int tc9200(int argc, char **argv)  | ||||
| { | ||||
|   TInvioS a; | ||||
|   a.run(argc, argv, "Invio dati contabilità Sispac/Cosmo"); | ||||
|   return 0; | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -5,6 +5,8 @@ Module  = 27 | ||||
| Flags   = "" | ||||
| Item_01 = "TeamSystem", [TCMENU_002] | ||||
| Item_02 = "Zucchetti", "tc1 -0", "" | ||||
| Item_03 = "Proforma", "tc9 -0", "" | ||||
| Item_04 = "Sispac/Cosmo", "tc9 -1", "" | ||||
| 
 | ||||
| [TCMENU_002] | ||||
| Caption = "TeamSystem" | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user