Patch level :
Files correlati : cg2.exe cg2100a.msk cg2100b.msk cg2100e.msk cg2100p.msk Ricompilazione Demo : [ ] Commento : Riportato nuovo saldaconto dalla versione 11.0 git-svn-id: svn://10.65.10.50/branches/R_10_00@22467 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									df2381572b
								
							
						
					
					
						commit
						94cf0d05d3
					
				| @ -169,7 +169,7 @@ TMask* TPrimanota_application::load_mask(int n) | ||||
|         m->set_handler(FS_VSCAB,     codcab_handler); | ||||
|      | ||||
|         TMask& sm = ps.sheet_mask(); | ||||
|         sm.set_handler(102, ratalit_handler); | ||||
|         sm.set_handler(102, rataeur_handler); | ||||
|         sm.set_handler(103, rataval_handler); | ||||
|         sm.set_handler(105, tipopag_handler); | ||||
|         sm.set_handler(106, tipopag_handler); | ||||
| @ -523,6 +523,8 @@ void TPrimanota_application::on_config_change() | ||||
|   TConfig cnf(CONFIG_DITTA, "cg"); | ||||
|   _ges_val       = cnf.get_bool("GesVal"); | ||||
|   _ges_sal       = cnf.get_bool("GesSal"); | ||||
|   _easy_sal      = _ges_sal && cnf.get_bool("EasySal", NULL, -1, false); | ||||
| 
 | ||||
|   _npart_is_prot = cnf.get_bool("RifPro");  | ||||
| 	_liqdiff       = cnf.get_bool("GesLiqDiff"); | ||||
| 
 | ||||
|  | ||||
| @ -169,11 +169,10 @@ | ||||
| #define SK_DATACAMBIO  303 | ||||
| #define SK_CAMBIO      304 | ||||
| #define SK_TIPORIGA    305 | ||||
| #define SK_CONTROEURO  306 | ||||
| 
 | ||||
| // copie 2a pag. 
 | ||||
| #define K_CODDITTA    401 | ||||
| #define K_RAGSOC      402 | ||||
| //#define K_CODDITTA    401
 | ||||
| //#define K_RAGSOC      402
 | ||||
| #define K_DATAREG     403 | ||||
| #define K_NUMREG      404 | ||||
| #define K_CODCAUS     405 | ||||
|  | ||||
| @ -105,10 +105,9 @@ END | ||||
| NUMBER F_NUMREG 7 | ||||
| BEGIN | ||||
|   PROMPT 3 10 "Numero operazione   " | ||||
|   HELP "Numero del movimento di prima nota da gestire" | ||||
|   FLAGS "R" | ||||
|   HELP "Numero del movimento di prima nota da modificare" | ||||
|   FIELD LF_MOV->NUMREG | ||||
|   USE LF_MOV | ||||
|   USE LF_MOV SELECT BETWEEN(CODCAUS,#F_CODCAUS,#F_CODCAUS) | ||||
|   INPUT NUMREG F_NUMREG | ||||
|   DISPLAY "Numero@7" NUMREG | ||||
|   DISPLAY "Data@10" DATAREG | ||||
|  | ||||
| @ -283,94 +283,82 @@ ENDPAGE | ||||
| 
 | ||||
| PAGE "Righe" -1 -1 77 20 | ||||
| 
 | ||||
| GROUPBOX DLG_NULL 78 3 | ||||
| TEXT DLG_NULL | ||||
| BEGIN | ||||
|   PROMPT 1 0 "@BMovimento di sola contabilita'" | ||||
| END | ||||
| 
 | ||||
| NUMBER K_CODDITTA 5 | ||||
| BEGIN | ||||
|   PROMPT 3 1 "Ditta  " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| STRING K_RAGSOC 50 56 | ||||
| BEGIN | ||||
|   PROMPT 21 1 "" | ||||
|   FLAGS "D" | ||||
|   PROMPT 1 0 "@BMovimento di sola contabilità" | ||||
| END | ||||
| 
 | ||||
| NUMBER K_NUMREG 7 | ||||
| BEGIN | ||||
|   PROMPT 1 3 "Operazione " | ||||
|   PROMPT 1 1 "Operazione " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| DATE K_DATAREG | ||||
| BEGIN | ||||
|   PROMPT 22 3 "del " | ||||
|   PROMPT 22 1 "del " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| DATE K_DATACOMP | ||||
| BEGIN | ||||
|   PROMPT 41 3 "Competenza " | ||||
|   PROMPT 41 1 "Competenza " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| NUMBER K_ANNOES 4 | ||||
| BEGIN | ||||
|   PROMPT 64 3 "Esercizio " | ||||
|   PROMPT 64 1 "Esercizio " | ||||
|   FLAGS "DZ" | ||||
| END | ||||
| 
 | ||||
| STRING K_NUMDOC 7 | ||||
| BEGIN | ||||
|   PROMPT 1 4 "Documento  " | ||||
|   PROMPT 1 2 "Documento  " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| DATE K_DATADOC | ||||
| BEGIN | ||||
|   PROMPT 22 4 "del " | ||||
|   PROMPT 22 2 "del " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| STRING K_TIPODOC 2 | ||||
| BEGIN | ||||
|   PROMPT 41 4 "Tipo documento " | ||||
|   PROMPT 41 2 "Tipo documento " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| STRING K_CODCAUS 3 | ||||
| BEGIN | ||||
|   PROMPT 1 5 "Causale        " | ||||
|   PROMPT 1 3 "Causale        " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| STRING K_DESCRCAUS 50 52 | ||||
| BEGIN | ||||
|   PROMPT 26 5 "" | ||||
|   PROMPT 26 3 "" | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| CURRENCY K_TOTALE 18 | ||||
| BEGIN | ||||
|   PROMPT 1 6 "Imp. mov. " | ||||
|   PROMPT 1 4 "Imp. mov. " | ||||
|   FLAGS "D" | ||||
|   GROUP 5 | ||||
| END | ||||
| 
 | ||||
| CURRENCY K_RESIDUO 18 | ||||
| BEGIN | ||||
|   PROMPT 32 6 "Residuo " | ||||
|   PROMPT 32 4 "Residuo " | ||||
|   FLAGS "D" | ||||
|   GROUP 5 | ||||
| END | ||||
| 
 | ||||
| LIST SK_TIPORIGA 1 12 | ||||
| BEGIN | ||||
|   PROMPT 60 6 "Riga " | ||||
|   PROMPT 60 4 "Riga " | ||||
|   ITEM "K|Saldaconto" | ||||
|   ITEM "G|Spese" | ||||
|   ITEM "A|Normale" | ||||
| @ -378,7 +366,7 @@ END | ||||
| 
 | ||||
| SPREADSHEET F_SHEETCG 0 -3 | ||||
| BEGIN | ||||
|   PROMPT 0 7 "" | ||||
|   PROMPT 0 5 "" | ||||
|   ITEM "Dare@15F" | ||||
|   ITEM "Avere@15F" | ||||
|   ITEM "CF@2" | ||||
|  | ||||
							
								
								
									
										64
									
								
								cg/cg2100e.h
									
									
									
									
									
								
							
							
						
						
									
										64
									
								
								cg/cg2100e.h
									
									
									
									
									
								
							| @ -1,24 +1,48 @@ | ||||
| #define F_TUTTE        101 | ||||
| #define F_VALUTA       102 | ||||
| #define F_DATACAMBIO   103 | ||||
| #define F_CAMBIO       104  | ||||
| #define F_PARTITE      105 | ||||
| #define G_TIPOCF       201 | ||||
| #define G_CODCF        202 | ||||
| #define G_RAGSOC       203 | ||||
| 
 | ||||
| #define F_DOCUMENTI_P  201  | ||||
| #define F_PAGAMENTI_P  202 | ||||
| #define F_IMPORTI_P    203 | ||||
| #define F_SALDO_P      204 | ||||
| #define G_SORT         210 | ||||
| #define G_VALUTA       211 | ||||
| #define G_DATACAMBIO   212 | ||||
| #define G_CAMBIO       213  | ||||
| #define G_TOTALE       214 | ||||
| #define G_RESIDUO_EUR  215 | ||||
| #define G_RESIDUO_VAL  216 | ||||
| 
 | ||||
| #define F_DATA_R       301 | ||||
| #define F_IMPORTO_R    303 | ||||
| #define G_ABI          220 | ||||
| #define G_CAB          221 | ||||
| #define G_DESBANCA     222 | ||||
| 
 | ||||
| #define F_DATA_S       401 | ||||
| #define F_IMPORTO_S    402 | ||||
| #define F_PAGAMENTI_S  403 | ||||
| #define F_SALDO_S      404 | ||||
|   | ||||
| #define F_DATA_PAG       501  | ||||
| #define F_IMPORTO_PAG  502 | ||||
| #define F_ABBUONI_PAG    503 | ||||
| #define F_DIFFCAM_PAG 504 | ||||
| #define G_GRUPPOC      223 | ||||
| #define G_CONTOC       224 | ||||
| #define G_SOTTOCONTOC  225 | ||||
| #define G_DESCONTOC    226 | ||||
| 
 | ||||
| #define G_SHEET        300 | ||||
| 
 | ||||
| #define G_TUTTE        301 | ||||
| #define G_INVALUTA     302 | ||||
| #define G_PARTITE      310 | ||||
| 
 | ||||
| #define S_SPUNTA       101 | ||||
| #define S_IMPORTO      102 | ||||
| #define S_SALDO        103 | ||||
| #define S_VALUTA       104 | ||||
| #define S_RESIDUO      105 | ||||
| #define S_TOTALE       106 | ||||
| #define S_DATASCAD     107 | ||||
| #define S_NUMDOC       108 | ||||
| #define S_DATADOC      109 | ||||
| #define S_IMPORTO_EUR  110 | ||||
| #define S_RESIDUO_EUR  111 | ||||
| #define S_ANNO         112 | ||||
| #define S_PARTITA      113 | ||||
| #define S_RIGAF        114 | ||||
| #define S_RATA         115 | ||||
| #define S_RIGAP        116 | ||||
| #define S_RITFIS       117 | ||||
| #define S_RITSOC       118 | ||||
| #define S_MODOPAG      119 | ||||
| #define S_NREG         120 | ||||
| #define S_NRIG         121 | ||||
|  | ||||
							
								
								
									
										556
									
								
								cg/cg2100e.uml
									
									
									
									
									
								
							
							
						
						
									
										556
									
								
								cg/cg2100e.uml
									
									
									
									
									
								
							| @ -2,51 +2,183 @@ | ||||
| 
 | ||||
| TOOLBAR "topbar" 0 0 0 2 | ||||
| 
 | ||||
| BUTTON DLG_NEWREC 10 2 | ||||
| BUTTON DLG_SAVEREC 2 2 | ||||
| BEGIN | ||||
|   PROMPT -13 -11 "~Nuovo" | ||||
|   PICTURE TOOL_NEWREC | ||||
|   PROMPT 2 1 "Conferma" | ||||
|   PICTURE TOOL_OK | ||||
|   MESSAGE EXIT,K_ENTER | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_OK 10 2 | ||||
| BUTTON DLG_NULL 2 2 | ||||
| BEGIN | ||||
|   PROMPT -33 -11 "" | ||||
|   PROMPT -1 1 "" | ||||
|   PICTURE 0 | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_INFO 2 2 | ||||
| BEGIN | ||||
|   PROMPT 1 1 "Info" | ||||
|   MESSAGE EXIT,K_F2 | ||||
|   PICTURE TOOL_INFO | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_HELP 2 2 | ||||
| BEGIN | ||||
|   PROMPT 2 1 "Help" | ||||
|   MESSAGE EXIT,K_F1 | ||||
|   PICTURE TOOL_HELP | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_CANCEL 2 2 | ||||
| BEGIN | ||||
|   PROMPT 3 1 "Annulla" | ||||
|   MESSAGE EXIT,K_ESC | ||||
|   PICTURE TOOL_CANCEL | ||||
| END | ||||
| 
 | ||||
| ENDPAGE | ||||
| 
 | ||||
| PAGE "Partite" -1 -1 77 20 | ||||
| PAGE "Rate" 0 0 0 0 | ||||
| 
 | ||||
| BOOLEAN F_TUTTE | ||||
| LIST G_TIPOCF 1 9 | ||||
| BEGIN | ||||
|   PROMPT 1 0 "Mostra tutte le partite" | ||||
|   PROMPT 1 0 "" | ||||
|   ITEM " |Conto"  | ||||
|     MESSAGE SHOW,2@|HIDE,1@ | ||||
|   ITEM "C|Cliente" | ||||
|     MESSAGE SHOW,1@|HIDE,2@ | ||||
|   ITEM "F|Fornitore" | ||||
|     MESSAGE SHOW,1@|HIDE,2@ | ||||
|   FLAGS "DG" | ||||
| END | ||||
| 
 | ||||
| STRING F_VALUTA 3 | ||||
| NUMBER G_CODCF 6 | ||||
| BEGIN | ||||
|   PROMPT 28 0 "Valuta " | ||||
|   FLAGS "DUZ" | ||||
|   PROMPT 15 0 "" | ||||
|   FLAGS "D" | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| DATE F_DATACAMBIO | ||||
| STRING G_RAGSOC 50 | ||||
| BEGIN | ||||
|   PROMPT 41 0 "Data " | ||||
|   PROMPT 28 0 "" | ||||
|   FLAGS "D" | ||||
|   GROUP 1 | ||||
| END | ||||
| 
 | ||||
| NUMBER G_ABI 5 | ||||
| BEGIN | ||||
|   PROMPT 1 1 "Banca " | ||||
|   FLAGS "Z" | ||||
|   CHECKTYPE NORMAL | ||||
| END | ||||
| 
 | ||||
| NUMBER G_CAB 5 | ||||
| BEGIN | ||||
|   PROMPT 17 1 "" | ||||
|   FLAGS "Z" | ||||
|   USE BNP SELECT CODTAB[6,10]!='' | ||||
|   JOIN %BAN ALIAS 401 INTO CODTAB==CODTAB[1,5] | ||||
|   JOIN %BAN ALIAS 402 INTO CODTAB==CODTAB[1,10] | ||||
|   INPUT CODTAB[1,5] G_ABI | ||||
|   INPUT CODTAB[6,10] G_CAB | ||||
|   DISPLAY "ABI@5" CODTAB[1,5] | ||||
|   DISPLAY "CAB@5" CODTAB[6,10] | ||||
|   DISPLAY "Pr.@2" CODTAB[11,12] | ||||
|   DISPLAY "Istituto@50" 401@->S0 | ||||
|   DISPLAY "Filiale@50" 402@->S0 | ||||
|   OUTPUT G_ABI CODTAB[1,5]  | ||||
|   OUTPUT G_CAB CODTAB[6,10] | ||||
|   OUTPUT G_DESBANCA 402@->S0 | ||||
|   CHECKTYPE NORMAL | ||||
| END | ||||
| 
 | ||||
| STRING G_DESBANCA 50 | ||||
| BEGIN | ||||
|   PROMPT 28 1 "" | ||||
|   FLAGS "D" | ||||
|   /* | ||||
|   USE %BAN SELECT LF_TAB->CODTAB!='' | ||||
|   JOIN BNP INTO CODTAB==CODTAB | ||||
|   DISPLAY "Descrizione@50" S0 | ||||
|   DISPLAY "ABI@5" CODTAB[1,5] | ||||
|   DISPLAY "CAB@5" CODTAB[6,10] | ||||
|   COPY OUTPUT G_CAB | ||||
|   CHECKTYPE NORMAL | ||||
|   */ | ||||
| END | ||||
| 
 | ||||
| NUMBER G_GRUPPOC 3 | ||||
| BEGIN | ||||
|   PROMPT 1 2 "Conto " | ||||
|   CHECKTYPE REQUIRED | ||||
| END | ||||
| 
 | ||||
| NUMBER G_CONTOC 3 | ||||
| BEGIN | ||||
|   PROMPT 11 2 "" | ||||
|   CHECKTYPE REQUIRED | ||||
| END | ||||
| 
 | ||||
| NUMBER G_SOTTOCONTOC 6 | ||||
| BEGIN | ||||
|   PROMPT 16 2 "" | ||||
|   USE LF_PCON SELECT SOTTOCONTO!="" | ||||
|   INPUT GRUPPO G_GRUPPOC | ||||
|   INPUT CONTO G_CONTOC | ||||
|   INPUT SOTTOCONTO G_SOTTOCONTOC | ||||
|   DISPLAY "Gruppo" GRUPPO | ||||
|   DISPLAY "Conto" CONTO | ||||
|   DISPLAY "Sottoconto" SOTTOCONTO | ||||
|   DISPLAY "Descrizione@50" DESCR | ||||
|   OUTPUT G_GRUPPOC GRUPPO  | ||||
|   OUTPUT G_CONTOC CONTO | ||||
|   OUTPUT G_SOTTOCONTOC SOTTOCONTO | ||||
|   OUTPUT G_DESCONTOC DESCR | ||||
|   CHECKTYPE REQUIRED | ||||
|   ADD RUN cg0 -0 | ||||
| END | ||||
| 
 | ||||
| STRING G_DESCONTOC 50 | ||||
| BEGIN | ||||
|   PROMPT 28 2 "" | ||||
|   USE LF_PCON KEY 2 SELECT SOTTOCONTO!="" | ||||
|   INPUT DESCR G_DESCONTOC | ||||
|   DISPLAY "Descrizione@50" DESCR | ||||
|   DISPLAY "Gruppo" GRUPPO | ||||
|   DISPLAY "Conto" CONTO | ||||
|   DISPLAY "Sottoconto" SOTTOCONTO | ||||
|   COPY OUTPUT G_SOTTOCONTOC | ||||
|   CHECKTYPE NONE  | ||||
| END | ||||
| 
 | ||||
| STRING G_VALUTA 3 | ||||
| BEGIN | ||||
|   PROMPT 28 3 "Valuta " | ||||
|   FLAGS "DGUZ" | ||||
|   MESSAGE EMPTY CLEAR,G_INVALUTA | ||||
|   MESSAGE ENABLE,G_INVALUTA | ||||
| END | ||||
| 
 | ||||
| DATE G_DATACAMBIO | ||||
| BEGIN | ||||
|   PROMPT 40 3 "Data " | ||||
|   FLAGS "DR" | ||||
|   USE CAM | ||||
|   INPUT CODTAB[1,3] F_VALUTA SELECT | ||||
|   INPUT CODTAB[4,11] F_DATACAMBIO | ||||
|   INPUT CODTAB[1,3] G_VALUTA SELECT | ||||
|   INPUT CODTAB[4,11] G_DATACAMBIO | ||||
|   DISPLAY "Codice valuta" CODTAB[1,3] | ||||
|   DISPLAY "Data@10" D0 | ||||
|   DISPLAY "Cambio@18R" S4    | ||||
|   OUTPUT F_DATACAMBIO D0 | ||||
|   OUTPUT F_CAMBIO S4 | ||||
|   OUTPUT G_DATACAMBIO D0 | ||||
|   OUTPUT G_CAMBIO S4 | ||||
|   CHECKTYPE SEARCH | ||||
|   GROUP 3 | ||||
| END | ||||
| 
 | ||||
| NUMBER F_CAMBIO 15 6 | ||||
| NUMBER G_CAMBIO 15 6 | ||||
| BEGIN | ||||
|   PROMPT 58 0 "Cambio  " | ||||
|   PROMPT 58 3 "Cambio " | ||||
|   FLAGS "DU" | ||||
|   GROUP 3 | ||||
|   PICTURE ".6" | ||||
| @ -54,133 +186,295 @@ BEGIN | ||||
|   CHECKTYPE REQUIRED | ||||
| END | ||||
| 
 | ||||
| TREE F_PARTITE 78 8 | ||||
| CURRENCY G_TOTALE 15 | ||||
| BEGIN | ||||
|   PROMPT 1 1 "" | ||||
|   PROMPT 1 4 "Totale riga " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| GROUPBOX DLG_NULL 37 6 | ||||
| CURRENCY G_RESIDUO_EUR 15 | ||||
| BEGIN | ||||
|   PROMPT 1 10 "@bPartita" | ||||
|   GROUP 10 | ||||
|   PROMPT 30 4 "Residuo " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| STRING F_DOCUMENTI_P 18 | ||||
| CURRENCY G_RESIDUO_VAL 15 | ||||
| BEGIN | ||||
|   PROMPT 2 11 "Documenti      " | ||||
|   GROUP 10 | ||||
|   FLAGS "LR" | ||||
|   PROMPT 55 4 "in valuta " | ||||
|   DRIVENBY G_VALUTA | ||||
|   FLAGS "D" | ||||
|   GROUP 3 | ||||
| END | ||||
| 
 | ||||
| STRING F_PAGAMENTI_P 18 | ||||
| 
 | ||||
| LIST G_SORT 1 15 | ||||
| BEGIN | ||||
|   PROMPT 2 12 "Pagamenti      " | ||||
|   GROUP 10 | ||||
|   FLAGS "LR" | ||||
|   PROMPT 1 5 "Ordinamento " | ||||
|   ITEM "D|Data Scadenza" | ||||
|   ITEM "P|Partita/Rata" | ||||
|   ITEM "C|Documento/Rata" | ||||
|   ITEM "M|Modalità pag." | ||||
|   ITEM "I|Importo Pagato" | ||||
|   ITEM "R|Residuo Rata" | ||||
|   ITEM "T|Totale Rata" | ||||
| END | ||||
| 
 | ||||
| STRING F_IMPORTI_P 18 | ||||
| SPREADSHEET G_SHEET | ||||
| BEGIN | ||||
|   PROMPT 2 13 "Altri importi  " | ||||
|   GROUP 10 | ||||
|   FLAGS "LR" | ||||
| END | ||||
| 
 | ||||
| STRING F_SALDO_P 18 | ||||
| BEGIN | ||||
|   PROMPT 2 14 "Saldo          " | ||||
|   GROUP 10 | ||||
|   FLAGS "LR" | ||||
| END | ||||
| 
 | ||||
| GROUPBOX DLG_NULL 37 6 | ||||
| BEGIN | ||||
|   PROMPT 41 10 "@bRiga" | ||||
|   GROUP 20 | ||||
| END | ||||
| 
 | ||||
| DATE F_DATA_R | ||||
| BEGIN | ||||
|   PROMPT 42 11 "Data           " | ||||
|   GROUP 20 | ||||
| END | ||||
| 
 | ||||
| STRING F_IMPORTO_R 18 | ||||
| BEGIN | ||||
|   PROMPT 42 12 "Importo        " | ||||
|   GROUP 20 | ||||
|   FLAGS "LR" | ||||
| END | ||||
| 
 | ||||
| GROUPBOX DLG_NULL 37 6 | ||||
| BEGIN | ||||
|   PROMPT 1 16 "@bScadenza" | ||||
|   GROUP 30 | ||||
| END | ||||
| 
 | ||||
| DATA F_DATA_S | ||||
| BEGIN | ||||
|   PROMPT 2 17 "Data           " | ||||
|   GROUP 30 | ||||
|   FLAGS "L" | ||||
| END | ||||
| 
 | ||||
| STRING F_IMPORTO_S 18 | ||||
| BEGIN | ||||
|   PROMPT 2 18 "Importo        " | ||||
|   GROUP 30 | ||||
|   FLAGS "LR" | ||||
| END | ||||
| 
 | ||||
| STRING F_PAGAMENTI_S 18 | ||||
| BEGIN | ||||
|   PROMPT 2 19 "Pagamenti      " | ||||
|   GROUP 30 | ||||
|   FLAGS "LR" | ||||
| END | ||||
| 
 | ||||
| STRING F_SALDO_S 18 | ||||
| BEGIN | ||||
|   PROMPT 2 20 "Saldo          " | ||||
|   GROUP 30 | ||||
|   FLAGS "LR" | ||||
| END | ||||
| 
 | ||||
| GROUPBOX DLG_NULL 37 6 | ||||
| BEGIN | ||||
|   PROMPT 41 16 "@bPagamento" | ||||
|   GROUP 40 | ||||
| END | ||||
| 
 | ||||
| DATE F_DATA_PAG | ||||
| BEGIN | ||||
|   PROMPT 42 17 "Data           " | ||||
|   GROUP 40 | ||||
|   FLAGS "L" | ||||
| END | ||||
| 
 | ||||
| STRING F_IMPORTO_PAG 18 | ||||
| BEGIN | ||||
|   PROMPT 42 18 "Pagamenti      " | ||||
|   GROUP 40 | ||||
|   FLAGS "LR" | ||||
| END | ||||
| 
 | ||||
| STRING F_ABBUONI_PAG 18 | ||||
| BEGIN | ||||
|   PROMPT 42 19 "Abbuoni        " | ||||
|   GROUP 40 | ||||
|   FLAGS "LR" | ||||
| END | ||||
| 
 | ||||
| STRING F_DIFFCAM_PAG 18 | ||||
| BEGIN | ||||
|   PROMPT 42 20 "Differ. cambi  " | ||||
|   GROUP 40 | ||||
|   FLAGS "LR" | ||||
|   PROMPT 0 6 "Righe" | ||||
|   ITEM " @1B" | ||||
|   ITEM "Importo\nPagamento@13F" | ||||
|   ITEM "Sal\ndo@3BF" | ||||
|   ITEM "Val.@3" | ||||
|   ITEM "Residuo\nScadenza@13F" | ||||
|   ITEM "Importo\nScadenza@13F" | ||||
|   ITEM "Data\nScadenza@10" | ||||
|   ITEM "Numero\nDocum.@8" | ||||
|   ITEM "Data\nDocumento@10" | ||||
|   ITEM "Importo Euro\nPagamento@13" | ||||
|   ITEM "Residuo Euro\nScadenza@13" | ||||
|   ITEM "Anno" | ||||
|   ITEM "Partita" | ||||
|   ITEM "Riga\nFatt.@4" | ||||
|   ITEM "Num.\nRata@4" | ||||
|   ITEM "Riga\nPag.@4" | ||||
|   ITEM "Ritenute\nfiscali@13" | ||||
|   ITEM "Ritenute\nsociali@13" | ||||
|   ITEM "Modalità di\npagamento@30" | ||||
|   ITEM "N.reg." | ||||
|   ITEM "N.riga" | ||||
| END | ||||
| 
 | ||||
| ENDPAGE | ||||
| 
 | ||||
| ENDMASK                | ||||
| PAGE "Partite" 0 0 0 0 | ||||
| 
 | ||||
| TLIST G_PARTITE -3 -1 | ||||
| BEGIN | ||||
|   PROMPT 0 3 "" | ||||
|   DISPLAY "Partita@35" DESCR | ||||
|   DISPLAY "Docum.@8" NUMDOC   | ||||
|   DISPLAY "Data@10R" DATADOC | ||||
|   DISPLAY "Val@4" CODVAL | ||||
|   DISPLAY "Dare@15R" DARE | ||||
|   DISPLAY "Avere@15R" AVERE | ||||
|   DISPLAY "Abbuoni@15R" ABBUONI | ||||
|   DISPLAY "Diff. Cambio@15R" DIFFCAM | ||||
|   DISPLAY "Ritenute fiscali@15R" RITENUTE | ||||
|   DISPLAY "Ritenute sociali@15R" RITSOC | ||||
| END | ||||
| 
 | ||||
| RADIOBUTTON G_TUTTE 1 58 | ||||
| BEGIN | ||||
|   PROMPT 1 0 "Mostra partite" | ||||
|   ITEM "0|Corrente" | ||||
|   ITEM "1|Aperte" | ||||
|   ITEM "2|Chiuse" | ||||
|   ITEM "3|Tutte" | ||||
|   FLAGS "Z" | ||||
| END | ||||
| 
 | ||||
| BOOLEAN G_INVALUTA | ||||
| BEGIN | ||||
|   PROMPT 60 1 "Importi in valuta" | ||||
|   GROUP 3 | ||||
| END | ||||
| 
 | ||||
| ENDPAGE | ||||
| 
 | ||||
| ENDMASK | ||||
| 
 | ||||
| PAGE "Riga" -1 -1 78 11 | ||||
| 
 | ||||
| GROUPBOX DLG_NULL 76 6 | ||||
| BEGIN | ||||
|   PROMPT 1 0 "@BDati rata" | ||||
| END | ||||
| 
 | ||||
| NUMBER S_ANNO 4 | ||||
| BEGIN | ||||
|   PROMPT 2 1 "Anno " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| STRING S_PARTITA 7 | ||||
| BEGIN | ||||
|   PROMPT 15 1 "Partita " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| NUMBER S_RIGAF 4 | ||||
| BEGIN | ||||
|   PROMPT 33 1 "Riga " | ||||
|   FLAGS "D_" | ||||
| END | ||||
| 
 | ||||
| NUMBER S_RATA 4 | ||||
| BEGIN | ||||
|   PROMPT 46 1 "Rata " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| DATE S_DATASCAD | ||||
| BEGIN | ||||
|   PROMPT 60 1 "del " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| STRING S_NUMDOC 8 | ||||
| BEGIN | ||||
|   PROMPT 2 2 "Documento " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| DATE S_DATADOC | ||||
| BEGIN | ||||
|   PROMPT 22 2 "del " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| NUMBER S_NREG 6 | ||||
| BEGIN | ||||
|   PROMPT 42 2 "Registrazione " | ||||
|   FLAGS "D_" | ||||
| END | ||||
| 
 | ||||
| NUMBER S_NRIG 4 | ||||
| BEGIN | ||||
|   PROMPT 65 2 "Riga " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| TEXT DLG_NULL | ||||
| BEGIN | ||||
|   PROMPT 2 3 "Totale" | ||||
| END | ||||
| 
 | ||||
| TEXT DLG_NULL | ||||
| BEGIN | ||||
|   PROMPT 24 3 "Residuo" | ||||
| END | ||||
| 
 | ||||
| TEXT DLG_NULL | ||||
| BEGIN | ||||
|   PROMPT 47 3 "In Euro" | ||||
| END | ||||
| 
 | ||||
| STRING S_VALUTA 3 | ||||
| BEGIN | ||||
|   PROMPT 19 4 "" | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| CURRENCY S_RESIDUO 15 | ||||
| BEGIN | ||||
|   PROMPT 24 4 "" | ||||
|   FLAGS "D" | ||||
|   DRIVENBY S_VALUTA | ||||
| END | ||||
| 
 | ||||
| CURRENCY S_TOTALE 15 | ||||
| BEGIN | ||||
|   PROMPT 2 4 "" | ||||
|   FLAGS "D" | ||||
|   DRIVENBY S_VALUTA | ||||
| END | ||||
| 
 | ||||
| CURRENCY S_RESIDUO_EUR 15 | ||||
| BEGIN | ||||
|   PROMPT 47 4 "" | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| BOOLEAN S_SPUNTA | ||||
| BEGIN | ||||
|   PROMPT 2 6 "Seleziona" | ||||
| END | ||||
| 
 | ||||
| BOOLEAN S_SALDO | ||||
| BEGIN | ||||
|   PROMPT 2 7 "Importo a saldo" | ||||
| END | ||||
| 
 | ||||
| CURRENCY S_IMPORTO 15 | ||||
| BEGIN | ||||
|   PROMPT 24 6 "" | ||||
|   DRIVENBY -G_VALUTA | ||||
| END | ||||
| 
 | ||||
| CURRENCY S_IMPORTO_EUR 15 | ||||
| BEGIN | ||||
|   PROMPT 47 6 "" | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| NUMBER S_RIGAP 4 | ||||
| BEGIN | ||||
|   PROMPT 65 6 "Pag. " | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| TEXT DLG_NULL | ||||
| BEGIN | ||||
|   PROMPT 2 8 "Ritenute" | ||||
| END | ||||
| 
 | ||||
| TEXT DLG_NULL | ||||
| BEGIN | ||||
|   PROMPT 24 7 "Fiscali" | ||||
| END | ||||
| 
 | ||||
| TEXT DLG_NULL | ||||
| BEGIN | ||||
|   PROMPT 47 7 "Sociali" | ||||
| END | ||||
| 
 | ||||
| CURRENCY S_RITFIS 15 | ||||
| BEGIN | ||||
|   PROMPT 24 8 "" | ||||
|   FLAGS "U" | ||||
| END | ||||
| 
 | ||||
| CURRENCY S_RITSOC 15 | ||||
| BEGIN | ||||
|   PROMPT 47 8 "" | ||||
|   FLAGS "U" | ||||
| END | ||||
| 
 | ||||
| LIST S_MODOPAG 1 34 | ||||
| BEGIN | ||||
|   PROMPT 2 9 "Modalità di pagamento " | ||||
|   ITEM "1|Rimessa Diretta" | ||||
|   ITEM "2|Tratta" | ||||
|   ITEM "3|Ricevuta Bancaria" | ||||
|   ITEM "4|Cessione" | ||||
|   ITEM "5|Pagherò" | ||||
|   ITEM "6|Lettera di credito" | ||||
|   ITEM "7|Tratta accettata" | ||||
|   ITEM "8|Rapporti interbancari diretti" | ||||
|   ITEM "9|Bonifico" | ||||
| END | ||||
| 
 | ||||
| ENDPAGE | ||||
| 
 | ||||
| TOOLBAR "topbar" 0 0 0 2 | ||||
| 
 | ||||
| BUTTON DLG_OK 2 2 | ||||
| BEGIN | ||||
|   PROMPT 1 1 "" | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_USER 2 2 | ||||
| BEGIN | ||||
|   PROMPT 2 1 "Seleziona" | ||||
|   PICTURE TOOL_RECALC | ||||
| END | ||||
| 
 | ||||
| BUTTON DLG_CANCEL 2 2 | ||||
| BEGIN | ||||
|   PROMPT 3 1 "" | ||||
| END | ||||
| 
 | ||||
| ENDPAGE | ||||
| 
 | ||||
| ENDMASK | ||||
|  | ||||
| @ -9,7 +9,6 @@ | ||||
| #define P_DATACAMBIO   116 | ||||
| #define P_CAMBIO       117 | ||||
| #define P_RESIDUOVAL   118 | ||||
| #define P_CONTROEURO   119 | ||||
| 
 | ||||
| #define P_SHOWALL      180 | ||||
| #define P_SORT         181 | ||||
|  | ||||
| @ -40,10 +40,8 @@ BEGIN | ||||
|   DISPLAY "Codice valuta" CODTAB[1,3] | ||||
|   DISPLAY "Data@10" D0 | ||||
|   DISPLAY "Cambio@18R" S4    | ||||
| //  DISPLAY "Contro Euro" B1 | ||||
|   OUTPUT P_DATACAMBIO D0 | ||||
|   OUTPUT P_CAMBIO S4 | ||||
| //  OUTPUT P_CONTROEURO B1 | ||||
|   CHECKTYPE SEARCH | ||||
|   GROUP 3 | ||||
| END | ||||
| @ -58,14 +56,6 @@ BEGIN | ||||
|   CHECKTYPE REQUIRED | ||||
| END | ||||
| 
 | ||||
| /* | ||||
| BOOLEAN P_CONTROEURO | ||||
| BEGIN | ||||
|   PROMPT 73 2 "Euro" | ||||
|   GROUP 3 | ||||
| END | ||||
| */ | ||||
| 
 | ||||
| NUMBER P_ANNO 4 | ||||
| BEGIN | ||||
|   PROMPT 1 2 "Partita " | ||||
|  | ||||
| @ -1657,13 +1657,13 @@ bool TPrimanota_application::iva_notify(TSheet_field& iva, int r, KEY k) | ||||
|     if (m.insert_mode() && a.is_fattura()) | ||||
|     {           | ||||
|       TPagamento& pag = a.pagamento();                          | ||||
|       const TValuta cambio(m, SK_VALUTA, SK_DATACAMBIO, SK_CAMBIO, SK_CONTROEURO); | ||||
|       const TValuta cambio(m, SK_VALUTA, SK_DATACAMBIO, SK_CAMBIO); | ||||
|       const bool inv = cambio.in_valuta(); | ||||
|       real imposta, imponibile;               | ||||
|       if (inv) | ||||
|       {          | ||||
|         const real il = m.get(F_IMPOSTE); | ||||
|         imposta = cambio.lit2val(il); | ||||
|         imposta = cambio.eur2val(il); | ||||
|         imponibile = m.get_real(SK_TOTDOCVAL) - imposta;    | ||||
|       } | ||||
|       else | ||||
| @ -2950,16 +2950,16 @@ void TPrimanota_application::gioca_cambi(int force) | ||||
| 
 | ||||
|   if ( (force == 0x1 || totale.is_zero()) && !(totval.is_zero() || cambio.is_zero()) ) | ||||
|   { | ||||
|     const TValuta cam(m, SK_VALUTA, SK_DATACAMBIO, SK_CAMBIO, SK_CONTROEURO); | ||||
|     const real new_totale = cam.val2lit(totval); | ||||
|     const TValuta cam(m, SK_VALUTA, SK_DATACAMBIO, SK_CAMBIO); | ||||
|     const real new_totale = cam.val2eur(totval); | ||||
|     if (new_totale != totale) | ||||
|       m.set(F_TOTALE, new_totale, true); | ||||
|   }  | ||||
|    | ||||
|   if ( (force == 0x2 || totval.is_zero()) && !(totale.is_zero() || cambio.is_zero()) ) | ||||
|   { | ||||
|     const TValuta cam(m, SK_VALUTA, SK_DATACAMBIO, SK_CAMBIO, SK_CONTROEURO); | ||||
|     const real new_totval = cam.lit2val(totale); | ||||
|     const TValuta cam(m, SK_VALUTA, SK_DATACAMBIO, SK_CAMBIO); | ||||
|     const real new_totval = cam.eur2val(totale); | ||||
|     if (new_totval != totval) | ||||
|       m.set(SK_TOTDOCVAL, new_totval, true); | ||||
|   }  | ||||
| @ -2967,9 +2967,6 @@ void TPrimanota_application::gioca_cambi(int force) | ||||
|   if ( (force == 0x4 || cambio.is_zero()) && !(totale.is_zero() || totval.is_zero()) ) | ||||
|   { | ||||
|     real new_cambio = totale / totval; | ||||
|     if (m.id2pos(SK_CONTROEURO) >= 0) | ||||
|       m.reset(SK_CONTROEURO); | ||||
|      | ||||
|     exchange_type dummy_contro_euro;   | ||||
|     const real& fc = TCurrency::get_firm_change(dummy_contro_euro); | ||||
|     if (fc > ZERO) | ||||
| @ -3015,11 +3012,11 @@ bool TPrimanota_application::totdoc_handler(TMask_field& f, KEY key) | ||||
|      | ||||
|     if (ok) | ||||
|     { | ||||
|       const TValuta cambio(m, SK_VALUTA, SK_DATACAMBIO, SK_CAMBIO, SK_CONTROEURO); | ||||
|       const TValuta cambio(m, SK_VALUTA, SK_DATACAMBIO, SK_CAMBIO); | ||||
|       if (cambio.in_valuta()) | ||||
|       { | ||||
|         const real totval(m.get(SK_TOTDOCVAL)); | ||||
|         const TCurrency totlit(cambio.val2lit(totval)); | ||||
|         const TCurrency totlit(cambio.val2eur(totval)); | ||||
|         if (totale != totlit) | ||||
|           ok = f.yesno_box(FR("Il totale documento dovrebbe essere %s: continuare ugualmente?"), | ||||
|                          totlit.string(true)); | ||||
|  | ||||
| @ -45,7 +45,9 @@ class TPrimanota_application : public TRelation_application | ||||
| 
 | ||||
|   bool _is_saldaconto;        // saldaconto si/no (vede parametri e causale)
 | ||||
|   bool _scad_free;            // posso variare liberamente le rate della fattura 
 | ||||
|   bool _easy_sal;             // Nuovo saldaconto semplificato
 | ||||
|   bool _quadratura;           // Bottone quadratura automatica per ATS 
 | ||||
| 
 | ||||
| 	TString _perc_attesa_fld;   // Percentuale del fornitore/cliente
 | ||||
|    | ||||
|   TSaldo_agg _saldi;          // Saldi da aggiornare
 | ||||
| @ -139,7 +141,7 @@ class TPrimanota_application : public TRelation_application | ||||
|   static bool linkdoc_handler(TMask_field& f, KEY k); | ||||
|   static bool mastrino_handler(TMask_field& f, KEY k); | ||||
|                 | ||||
|   static bool ratalit_handler(TMask_field& f, KEY key); | ||||
|   static bool rataeur_handler(TMask_field& f, KEY key); | ||||
|   static bool rataval_handler(TMask_field& f, KEY key); | ||||
| 
 | ||||
|   static bool iva_handler(TMask_field& f, KEY key); | ||||
|  | ||||
| @ -147,8 +147,8 @@ const TString& TCausale::causale_reg_iva() const | ||||
| const TString& TCausale::tipo_doc() const  | ||||
| { return _rec.get(CAU_TIPODOC); } | ||||
| 
 | ||||
| int TCausale::tipomov() const | ||||
| { return _rec.get_int(CAU_TIPOMOV); } | ||||
| tipo_movimento TCausale::tipomov() const | ||||
| { return tipo_movimento(_rec.get_int(CAU_TIPOMOV)); } | ||||
| 
 | ||||
| const TString& TCausale::tipodoc() const | ||||
| { return _rec.get(CAU_TIPODOC); } | ||||
|  | ||||
| @ -52,7 +52,7 @@ public: | ||||
|   // bill deve essere il conto di ricavo
 | ||||
|   bool IVA2bill(const TCodiceIVA& iva, TBill& bill) const; | ||||
| 
 | ||||
|   int tipomov() const; | ||||
|   tipo_movimento tipomov() const; | ||||
|   const TString& tipodoc() const; | ||||
|   bool saldaconto(const TDate& datareg) const; | ||||
|   int link_m770() const; | ||||
|  | ||||
| @ -483,8 +483,6 @@ bool TPrimanota_application::valuta_handler(TMask_field& f, KEY key) | ||||
|     { | ||||
|       m.set(SK_CAMBIO, "", TRUE);  | ||||
|       m.set(SK_TOTDOCVAL, "", TRUE); | ||||
|       if (m.id2pos(SK_CONTROEURO) >= 0) | ||||
|         m.set(SK_CONTROEURO, "", TRUE); | ||||
|     }   | ||||
|     m.enable(SK_CAMBIO, full);  | ||||
|     m.enable(SK_TOTDOCVAL, full); | ||||
| @ -639,7 +637,7 @@ bool TPrimanota_application::codcab_handler(TMask_field& f, KEY key) | ||||
|   return TRUE; | ||||
| } | ||||
| 
 | ||||
| bool TPrimanota_application::ratalit_handler(TMask_field& f, KEY key) | ||||
| bool TPrimanota_application::rataeur_handler(TMask_field& f, KEY key) | ||||
| {  | ||||
|   TMask& m = app().curr_mask(); | ||||
|   if (key == K_F8 || (key == K_TAB && f.get().empty() && m.is_running()))    | ||||
| @ -647,9 +645,9 @@ bool TPrimanota_application::ratalit_handler(TMask_field& f, KEY key) | ||||
|     const TPagamento& pag = app().pagamento(); | ||||
|     if (pag.in_valuta()) | ||||
|     { | ||||
|       const TValuta v(m, FS_VALUTA, FS_DATACAMBIO, FS_CAMBIO, SK_CONTROEURO);  | ||||
|       const TValuta v(m, FS_VALUTA, FS_DATACAMBIO, FS_CAMBIO);  | ||||
|       const real other(f.mask().get(103)); | ||||
|       const char* s = v.val2lit(other).string(); | ||||
|       const char* s = v.val2eur(other).string(); | ||||
|       f.set(s);     | ||||
|     }                         | ||||
|   } | ||||
| @ -663,9 +661,9 @@ bool TPrimanota_application::rataval_handler(TMask_field& f, KEY key) | ||||
|     TPagamento& pag = app().pagamento(); | ||||
|     if (pag.in_valuta()) | ||||
|     {            | ||||
|       const TValuta v(app().curr_mask(), FS_VALUTA, FS_DATACAMBIO, FS_CAMBIO, SK_CONTROEURO);  | ||||
|       const TValuta v(app().curr_mask(), FS_VALUTA, FS_DATACAMBIO, FS_CAMBIO);  | ||||
|       const real other(f.mask().get(102)); | ||||
|       TString80 s(v.lit2val(other).string()); | ||||
|       TString80 s(v.eur2val(other).string()); | ||||
|       f.set(s); | ||||
|     } | ||||
|   } | ||||
| @ -718,10 +716,10 @@ void TPrimanota_application::set_totale_pagamento(bool update) | ||||
|   const real imponibile = m.get_real(F_TOTALE) - imposta; | ||||
|   const real spese      = ZERO;         | ||||
|    | ||||
|   const TValuta cambio(m, SK_VALUTA, SK_DATACAMBIO, SK_CAMBIO, SK_CONTROEURO);  | ||||
|   const TValuta cambio(m, SK_VALUTA, SK_DATACAMBIO, SK_CAMBIO);  | ||||
|   if (cambio.in_valuta()) | ||||
|   {  | ||||
|     const real imposval = cambio.lit2val(imposta); | ||||
|     const real imposval = cambio.eur2val(imposta); | ||||
|     const real imponval = m.get_real(SK_TOTDOCVAL) - imposval;    | ||||
|     pag.set_total_valuta(imponval, imposval, spese, cambio.cambio(),  | ||||
|                          imponibile, imposta, spese, cambio.codice()); | ||||
| @ -953,7 +951,7 @@ void TPrimanota_application::write_scadenze(const TMask& m) | ||||
|     const TString& desc = m.get(F_DESCR); | ||||
|     const TString& codpag = m.get(F_CODPAG); | ||||
|     const TString8 codcaus = causale().codice();  | ||||
|     const TValuta cambio(m, SK_VALUTA, SK_DATACAMBIO, SK_CAMBIO, SK_CONTROEURO);  | ||||
|     const TValuta cambio(m, SK_VALUTA, SK_DATACAMBIO, SK_CAMBIO);  | ||||
|     const TString& agente = m.get(FS_AGENTE);  | ||||
|     const char sezione = causale().sezione(1); //get_cgs_imp(0).sezione();        // Dare/Avere
 | ||||
|   | ||||
| @ -1188,7 +1186,7 @@ bool TPrimanota_application::notify_edit_pagamento(TPartita& p, TRectype& new_pa | ||||
|      | ||||
|     if (old_importo != new_importo || old_conto != new_conto) | ||||
|     { | ||||
|       int old_riga = bill2pos(old_conto, 'I'); | ||||
|       int old_riga = _easy_sal ? type2pos('I') : bill2pos(old_conto, 'I'); | ||||
|       if (old_riga >= 0) | ||||
|       { | ||||
|         const bool empty = sub_cgs_imp(old_riga, old_importo); | ||||
| @ -1205,7 +1203,7 @@ bool TPrimanota_application::notify_edit_pagamento(TPartita& p, TRectype& new_pa | ||||
|       // Importo della contropartita
 | ||||
|       if (!new_importo.is_zero() && new_conto.ok()) | ||||
|       { | ||||
|         int new_riga = bill2pos(new_conto, 'I'); | ||||
|         int new_riga = _easy_sal ? type2pos('I') : bill2pos(new_conto, 'I'); | ||||
|         if (new_riga < 0) | ||||
|         {                                  | ||||
|           const int tp = somma.get_int(PART_TIPOPAG); | ||||
| @ -1230,7 +1228,18 @@ bool TPrimanota_application::notify_edit_pagamento(TPartita& p, TRectype& new_pa | ||||
|           clifo.add_to(new_row, 9, 0x3); | ||||
|         }   | ||||
|         else | ||||
|           add_cgs_imp(new_riga, new_importo);   | ||||
|         { | ||||
|           add_cgs_imp(new_riga, new_importo);  // Incrementa importo sulla banca
 | ||||
|           if (_easy_sal) | ||||
|           { | ||||
|             // Aggiorna conto della riga della  banca
 | ||||
|             TToken_string& new_row = sheet.row(new_riga); | ||||
|             new_conto.add_to(new_row, 2, 0x3);  | ||||
|             // Aggiorna contropartita delle righe cliente
 | ||||
|             FOR_EACH_SHEET_ROW(sheet, r, cli_row) if (row_type(*cli_row) == 'K') | ||||
|               new_conto.add_to(*cli_row, 9, 0x3); | ||||
|           } | ||||
|         } | ||||
|       }     | ||||
|     } | ||||
|      | ||||
|  | ||||
| @ -400,21 +400,21 @@ void TPay_mask::gioca_cambi(int force) | ||||
|   const real totval = get_real(S_IMPORTOVAL); | ||||
| 
 | ||||
| #ifdef __EXTRA__ | ||||
|   const TValuta cambio(*this, E_VALUTA, E_DATACAMBIO, E_CAMBIO, E_CONTROEURO); | ||||
|   const TValuta cambio(*this, E_VALUTA, E_DATACAMBIO, E_CAMBIO); | ||||
| #else   | ||||
|   const TValuta cambio(*_parent, P_VALUTA, P_DATACAMBIO, P_CAMBIO, P_CONTROEURO); | ||||
|   const TValuta cambio(*_parent, P_VALUTA, P_DATACAMBIO, P_CAMBIO); | ||||
| #endif   | ||||
| 
 | ||||
|   if ( (force == 0x1 || totale.is_zero()) && !(totval.is_zero() || cambio.in_lire()) ) | ||||
|   if ( (force == 0x1 || totale.is_zero()) && !(totval.is_zero() || cambio.in_euro()) ) | ||||
|   { | ||||
|     const real new_totale = cambio.val2lit(totval); | ||||
|     const real new_totale = cambio.val2eur(totval); | ||||
|     if (new_totale != totale) | ||||
|       set(S_IMPORTO, new_totale, TRUE); | ||||
|   }  | ||||
|    | ||||
|   if ( (force == 0x2 || totval.is_zero()) && !(totale.is_zero() || cambio.in_lire())) | ||||
|   if ( (force == 0x2 || totval.is_zero()) && !(totale.is_zero() || cambio.in_euro())) | ||||
|   { | ||||
|     const real new_totval = cambio.lit2val(totale); | ||||
|     const real new_totval = cambio.eur2val(totale); | ||||
|     if (new_totval != totval) | ||||
|       set(S_IMPORTOVAL, new_totval, TRUE); | ||||
|   }  | ||||
| @ -685,7 +685,7 @@ void TGame_mask::init(const TBill& bill, long numreg, int riga) | ||||
|   else | ||||
|   { | ||||
|     TMask& cm = app().curr_mask();               // Legge valuta dal movimento      
 | ||||
|     val.get(cm, SK_VALUTA, SK_DATACAMBIO, SK_CAMBIO, SK_CONTROEURO); | ||||
|     val.get(cm, SK_VALUTA, SK_DATACAMBIO, SK_CAMBIO); | ||||
|      | ||||
|     if (cm.id2pos(F_ANNORIF) > 0)                // Se in testata c'e' l'anno di riferimento
 | ||||
|     { | ||||
| @ -794,7 +794,7 @@ bool TGame_mask::cambio_handler(TMask_field& f, KEY k) | ||||
|     const bool needed = app().partite().mov2rig(gm._numreg, gm._numrig) > 0; | ||||
|     if (needed && yesno_box(TR("Aggiornare il cambio di tutti i pagamenti effettuati in questa registrazione?"))) | ||||
|     {                                      | ||||
|       const TValuta val(gm, P_VALUTA, P_DATACAMBIO, P_CAMBIO, P_CONTROEURO); | ||||
|       const TValuta val(gm, P_VALUTA, P_DATACAMBIO, P_CAMBIO); | ||||
|       gm.aggiorna_valuta(val); | ||||
|     }   | ||||
|     gm.aggiorna_residuo(); | ||||
| @ -821,14 +821,14 @@ void TGame_mask::aggiorna_residuo() | ||||
|   _residuo.normalize(sez); | ||||
|   set(P_RESIDUO, _residuo.valore()); | ||||
|    | ||||
|   const TValuta cambio(*this, P_VALUTA, P_DATACAMBIO, P_CAMBIO, P_CONTROEURO); | ||||
|   const TValuta cambio(*this, P_VALUTA, P_DATACAMBIO, P_CAMBIO); | ||||
|   if (cambio.in_valuta()) | ||||
|   {                                                                          | ||||
|     // Importo della riga contabile senza differenza cambi
 | ||||
|     _resval = _importo; | ||||
|     const TImporto abb_diff = giochi.importo_speso(_numreg, _numrig, FALSE, 0x6); | ||||
|     _resval -= abb_diff; | ||||
|     cambio.lit2val(_resval); | ||||
|     cambio.eur2val(_resval); | ||||
|     const TImporto spesoval = giochi.importo_speso(_numreg, _numrig, TRUE, 0x1); | ||||
|     _resval -= spesoval;                                       // Residuo della riga
 | ||||
|     _resval.normalize(sez); | ||||
| @ -866,7 +866,7 @@ void TGame_mask::aggiorna_valuta(const TValuta& val) | ||||
|           {      | ||||
|             TRectype pag(scad.row(p)); | ||||
|             real imp(pag.get(PAGSCA_IMPORTOVAL)); | ||||
|             val.val2lit(imp); | ||||
|             val.val2eur(imp); | ||||
|             pag.put(PAGSCA_IMPORTO, imp);          // Converte in lire l'importo in valuta
 | ||||
| #ifdef __EXTRA__ | ||||
|             game->modifica_pagamento(pag, val, TRUE); | ||||
| @ -1047,7 +1047,7 @@ bool TGame_mask::partite_notify(TSheet_field& partite, int r, KEY k) | ||||
|                 if (in_valuta) | ||||
|                 {                    | ||||
|                   TImporto abb_lit = abb; | ||||
|                   prima_valuta.val2lit(abb_lit); | ||||
|                   prima_valuta.val2eur(abb_lit); | ||||
|                   gm.add_importo(rabb, abb_lit); | ||||
|                   gm.add_importo(rabb, abb, prima_valuta.codice()); | ||||
|                 }   | ||||
| @ -1278,7 +1278,7 @@ int TGame_mask::nuova_riga(TPartita& partita, tipo_movimento tm) const | ||||
|   part.put(PART_DATAREG, s); | ||||
| #else | ||||
|   // Setta il cambio corrente
 | ||||
|   const TValuta valuta(*this, P_VALUTA, P_DATACAMBIO, P_CAMBIO, P_CONTROEURO); | ||||
|   const TValuta valuta(*this, P_VALUTA, P_DATACAMBIO, P_CAMBIO); | ||||
|   valuta.put(part); | ||||
| 
 | ||||
|   TMask& cm = app().curr_mask(); | ||||
| @ -1410,7 +1410,7 @@ bool TGame_mask::edit_scadenza_handler(TMask_field& f, KEY k) | ||||
| 
 | ||||
| #ifndef __EXTRA__ | ||||
|       const TValuta parval(game.riga(nriga)); | ||||
|       const TValuta curval(gm, P_VALUTA, P_DATACAMBIO, P_CAMBIO, P_CONTROEURO); | ||||
|       const TValuta curval(gm, P_VALUTA, P_DATACAMBIO, P_CAMBIO); | ||||
|       if (parval != curval) | ||||
|       { | ||||
|         TString16 c = parval.codice(); | ||||
| @ -2057,10 +2057,8 @@ bool TPrimanota_application::edit_partite(const TMask& m, int riga) | ||||
|    | ||||
|   partite().update_reg(pn->curr());  | ||||
|   | ||||
|   TConfig cfg(CONFIG_GUI, "sc"); | ||||
| 
 | ||||
|   bool changed = false; | ||||
|   if (cfg.get_bool("EasyMode")) | ||||
|   if (_easy_sal) | ||||
|   { | ||||
|     // Nuova maschera di gestione partite
 | ||||
|     static TEasySolder_mask* mask = NULL; | ||||
| @ -2068,8 +2066,7 @@ bool TPrimanota_application::edit_partite(const TMask& m, int riga) | ||||
|       mask = new TEasySolder_mask(b, numreg, riga+1);  | ||||
|     else                                         | ||||
|       mask->init(b, numreg, riga+1);  | ||||
|     mask->run();         | ||||
|     changed = mask->changed(); | ||||
|     changed = mask->run() != K_ESC;         | ||||
|   } | ||||
|   else | ||||
|   { | ||||
| @ -2146,7 +2143,7 @@ bool TPrimanota_application::crea_partita(const TBill& bill, int anno, const TSt | ||||
|     pagamento.put(PAGSCA_IMPORTO, implit); | ||||
|     if (valuta.in_valuta()) | ||||
|     {                                                     | ||||
|       const real impval = valuta.lit2val(implit); | ||||
|       const real impval = valuta.eur2val(implit); | ||||
|       pagamento.put(PAGSCA_IMPORTOVAL, impval); | ||||
|     } | ||||
|     partita.modifica_pagamento(pagamento, valuta, TRUE); | ||||
|  | ||||
							
								
								
									
										1423
									
								
								cg/cg2107.cpp
									
									
									
									
									
								
							
							
						
						
									
										1423
									
								
								cg/cg2107.cpp
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										29
									
								
								cg/cg2107.h
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								cg/cg2107.h
									
									
									
									
									
								
							| @ -5,28 +5,41 @@ | ||||
| #include <automask.h> | ||||
| #endif | ||||
| 
 | ||||
| #ifndef __TREE_H | ||||
| #include <tree.h> | ||||
| #ifndef __CSSALDA3_H | ||||
| #include "../cg/cgsalda3.h" | ||||
| #endif | ||||
| 
 | ||||
| #ifndef __CGLIB01_H__ | ||||
| #include "cglib01.h" | ||||
| #endif | ||||
| 
 | ||||
| #include <tree.h> | ||||
| 
 | ||||
| class TEasySolder_mask : public TAutomask | ||||
| {                        | ||||
|   TBill _conto;                // Conto fisso del cliente/fornitore
 | ||||
|   int _anno;                   // Anno della partita corrente 
 | ||||
|   TString8 _numpart;           // Numero partita corrente
 | ||||
|   long _numreg;                // Numero movimento contabile
 | ||||
|   int  _numrig;                // Riga contabile corrente (prima = 1!)
 | ||||
|   tipo_movimento _tipomov;     // Tipo movimento specificato sulla causale
 | ||||
|   bool _changed; | ||||
|   TTree* _tree; | ||||
|   TSolder_tree* _tree; | ||||
| 
 | ||||
|   real _tot_val, _tot_eur, _res_val, _res_eur; | ||||
| 
 | ||||
| protected: | ||||
|   virtual long handler(WINDOW w, EVENT* e); | ||||
|   virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); | ||||
|   void set_imp(short id, const TImporto& imp); | ||||
| 
 | ||||
|   void fill_sheet(); | ||||
|   void save_sheet(); | ||||
| 
 | ||||
|   char calcola_sezione() const; | ||||
|   void calcola_residuo(); | ||||
|   void aggiorna_residuo(); | ||||
|   bool in_valuta() const; | ||||
| 
 | ||||
|   real val2eur(const real& val) const; | ||||
|   real eur2val(const real& val) const; | ||||
|   TImporto eur2val(const TImporto& imp) const; | ||||
| 
 | ||||
| public: | ||||
|   bool changed() const { return _changed; } | ||||
|   void init(const TBill& conto, long numreg, int numrig); | ||||
|  | ||||
| @ -777,15 +777,18 @@ bool TBill::get(const TRectype& r, bool c) | ||||
| 
 | ||||
| void TBill::set(TMask& m, short g, short c, short s, short t, short d) const | ||||
| { | ||||
|   m.set(g, gruppo()); | ||||
|   m.set(c, conto()); | ||||
|   m.set(s, sottoconto()); | ||||
|   if (t)  | ||||
|   if (g > 0) | ||||
|     m.set(g, gruppo()); | ||||
|   if (c > 0) | ||||
|     m.set(c, conto()); | ||||
|   if (s > 0) | ||||
|     m.set(s, sottoconto()); | ||||
|   if (t > 0)  | ||||
|   { | ||||
|     char typ[2] = { tipo(), '\0' }; | ||||
|     m.set(t, typ); | ||||
|   }   | ||||
|   if (d) | ||||
|   if (d > 0) | ||||
|     m.set(d, descrizione()); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -248,6 +248,9 @@ public: | ||||
| 
 | ||||
| enum TIndbil { ib_null, ib_attivita, ib_passivita, ib_costi, ib_ricavi, ib_conti_ordine }; | ||||
| 
 | ||||
| const char * num2str(const TString & s); | ||||
| enum tipo_movimento { tm_nessuno = 0, tm_fattura = 1, tm_nota_credito = 2,  | ||||
|                       tm_pagamento = 3, tm_insoluto = 5, tm_pagamento_insoluto = 6 }; | ||||
| 
 | ||||
| const char* num2str(const TString & s); | ||||
| 
 | ||||
| #endif | ||||
|  | ||||
| @ -6,7 +6,7 @@ | ||||
| #endif | ||||
| 
 | ||||
| #ifndef __CGSALDAC_H__ | ||||
| #include "cgsaldac.h" | ||||
| #include "../cg/cgsaldac.h" | ||||
| #endif | ||||
| 
 | ||||
| ///////////////////////////////////////////////////////////
 | ||||
|  | ||||
| @ -110,25 +110,24 @@ int TTree_rectype::remove(TBaseisamfile& f) const | ||||
| // Valuta
 | ||||
| ///////////////////////////////////////////////////////////
 | ||||
| 
 | ||||
| TValuta::TValuta(const char* cod, const TDate& dat, const real& cam, exchange_type eur) | ||||
| : _cod(cod), _dat(dat), _cam(cam), _et(eur) | ||||
| TValuta::TValuta(const char* cod, const TDate& dat, const real& cam) | ||||
| : _cod(cod), _dat(dat), _cam(cam) | ||||
| { | ||||
|   adjust(); | ||||
| } | ||||
| 
 | ||||
| TValuta::TValuta() : _cod(""), _dat(TODAY), _cam(ZERO), _et(_exchange_undefined) | ||||
| TValuta::TValuta() : _cod(""), _dat(TODAY), _cam(ZERO) | ||||
| { | ||||
|   adjust(); | ||||
| } | ||||
| 
 | ||||
| void TValuta::adjust() | ||||
| {  | ||||
|   const TCurrency this_cur(ZERO, _cod, _cam, _et); | ||||
|   const TCurrency this_cur(ZERO, _cod, _cam, _exchange_contro); | ||||
|   if (this_cur.is_firm_value()) | ||||
|   { | ||||
|     _cod.cut(0); | ||||
|     _cam = ZERO; | ||||
|     _et = _exchange_undefined; | ||||
|   }  | ||||
|   else | ||||
|   {  | ||||
| @ -136,8 +135,6 @@ void TValuta::adjust() | ||||
|       _cam = ZERO;  | ||||
|     _cod = this_cur.get_value(); | ||||
|   }     | ||||
|   if (_et == _exchange_undefined) | ||||
|     this_cur.get_change(_et); | ||||
| } | ||||
| 
 | ||||
| int TValuta::compare(const TSortable& s) const | ||||
| @ -151,10 +148,6 @@ void TValuta::get(const TRectype& rec) | ||||
|   _cod = rec.get("CODVAL"); | ||||
|   _dat = rec.get("DATACAM"); | ||||
|   _cam = rec.get_real("CAMBIO"); | ||||
|   if (rec.exist("CONTROEURO")) | ||||
|     _et = rec.get_bool("CONTROEURO") ? _exchange_contro : _exchange_base; | ||||
|   else | ||||
|     _et = _exchange_undefined; | ||||
|   adjust(); | ||||
| } | ||||
| 
 | ||||
| @ -166,7 +159,7 @@ void TValuta::put(TRectype& rec) const | ||||
|     rec.put("DATACAM", _dat); | ||||
|     rec.put("CAMBIO",  _cam); | ||||
|     if (rec.exist("CONTROEURO")) | ||||
|       rec.put("CONTROEURO", _et == _exchange_contro ? "X" : ""); | ||||
|       rec.put("CONTROEURO", "X"); | ||||
|   } | ||||
|   else | ||||
|   { | ||||
| @ -178,35 +171,27 @@ void TValuta::put(TRectype& rec) const | ||||
|   }   | ||||
| } | ||||
| 
 | ||||
| void TValuta::set(TMask& m, short v, short d, short c, short e) const | ||||
| void TValuta::set(TMask& m, short v, short d, short c) const | ||||
| { | ||||
|   if (in_valuta())             | ||||
|   { | ||||
|     m.set(v, _cod); | ||||
|     m.set(d, _dat.string()); | ||||
|     m.set(c, _cam.string()); | ||||
|     if (e && m.id2pos(e) >= 0) | ||||
|       m.set(e, _et == _exchange_contro ? "X" : ""); | ||||
|   }   | ||||
|   else | ||||
|   { | ||||
|     m.reset(v); | ||||
|     m.reset(d); | ||||
|     m.reset(c); | ||||
|     if (e && m.id2pos(e) >= 0) | ||||
|       m.reset(e); | ||||
|   }   | ||||
| } | ||||
| 
 | ||||
| void TValuta::get(const TMask& m, short v, short d, short c, short e) | ||||
| void TValuta::get(const TMask& m, short v, short d, short c) | ||||
| { | ||||
|   _cod = m.get(v); | ||||
|   _dat = m.get(d); | ||||
|   _cam = m.get_real(c); | ||||
|   if (e && m.id2pos(e) >= 0) | ||||
|     _et = m.get_bool(e) ? _exchange_contro : _exchange_base; | ||||
|   else | ||||
|     _et = _exchange_undefined;   | ||||
|   adjust(); | ||||
| } | ||||
| 
 | ||||
| @ -215,45 +200,44 @@ void TValuta::set(const TValuta& v) | ||||
|   _cod = v._cod; | ||||
|   _dat = v._dat; | ||||
|   _cam = v._cam;  | ||||
|   _et  = v._et; | ||||
| } | ||||
| 
 | ||||
| real TValuta::lit2val(const real& lit) const | ||||
| real TValuta::eur2val(const real& lit) const | ||||
| { | ||||
|   TCurrency cur(lit); | ||||
|   cur.change_value(_cod, _cam, _et); | ||||
|   cur.change_value(_cod, _cam, _exchange_contro); | ||||
|   return cur.get_num(); | ||||
| } | ||||
| 
 | ||||
| real TValuta::val2lit(const real& val) const | ||||
| real TValuta::val2eur(const real& val) const | ||||
| {    | ||||
|   TCurrency cur(val, _cod, _cam, _et); | ||||
|   TCurrency cur(val, _cod, _cam, _exchange_contro); | ||||
|   cur.change_to_firm_val(); | ||||
|   return cur.get_num(); | ||||
| } | ||||
| 
 | ||||
| void TValuta::val2lit(real& val) const | ||||
| void TValuta::val2eur(real& val) const | ||||
| {    | ||||
|   TCurrency cur(val, _cod, _cam, _et); | ||||
|   TCurrency cur(val, _cod, _cam, _exchange_contro); | ||||
|   cur.change_to_firm_val(); | ||||
|   val = cur.get_num(); | ||||
| } | ||||
| 
 | ||||
| void TValuta::lit2val(real& lit) const | ||||
| void TValuta::eur2val(real& lit) const | ||||
| {    | ||||
|   TCurrency cur(lit); | ||||
|   cur.change_value(_cod, _cam, _et); | ||||
|   cur.change_value(_cod, _cam, _exchange_contro); | ||||
|   lit = cur.get_num(); | ||||
| } | ||||
| 
 | ||||
| void TValuta::val2lit(TImporto& imp) const | ||||
| void TValuta::val2eur(TImporto& imp) const | ||||
| {            | ||||
|   val2lit(imp.valore()); | ||||
|   val2eur(imp.valore()); | ||||
| } | ||||
| 
 | ||||
| void TValuta::lit2val(TImporto& imp) const | ||||
| void TValuta::eur2val(TImporto& imp) const | ||||
| {            | ||||
|   lit2val(imp.valore()); | ||||
|   eur2val(imp.valore()); | ||||
| } | ||||
| 
 | ||||
| ///////////////////////////////////////////////////////////
 | ||||
|  | ||||
| @ -70,7 +70,6 @@ class TValuta : public TSortable | ||||
|   TString4 _cod; | ||||
|   TDate _dat; | ||||
|   real _cam; | ||||
|   exchange_type _et; | ||||
|    | ||||
| protected:           // TSortable
 | ||||
|   virtual int compare(const TSortable& s) const; | ||||
| @ -83,30 +82,29 @@ public: | ||||
|   const TString& codice() const { return _cod; } | ||||
|   const TDate& data() const { return _dat; } | ||||
|   const real& cambio() const { return _cam; } | ||||
|   exchange_type tipo_cambio() const { return _et; } | ||||
|    | ||||
|   real lit2val(const real& lit) const; | ||||
|   real val2lit(const real& val) const; | ||||
|   void val2lit(real& val) const; | ||||
|   void lit2val(real& lit) const; | ||||
|   void val2lit(TImporto& impval) const; | ||||
|   void lit2val(TImporto& implit) const; | ||||
|   real eur2val(const real& lit) const; | ||||
|   real val2eur(const real& val) const; | ||||
|   void val2eur(real& val) const; | ||||
|   void eur2val(real& lit) const; | ||||
|   void val2eur(TImporto& impval) const; | ||||
|   void eur2val(TImporto& implit) const; | ||||
|    | ||||
|   bool in_lire() const { return _cod.empty(); } | ||||
|   bool in_euro() const { return _cod.empty(); } | ||||
|   bool in_valuta() const { return _cod.not_empty(); } | ||||
|    | ||||
|   void get(const TRectype& rec); | ||||
|   void put(TRectype& rec) const; | ||||
|    | ||||
|   void set(TMask& m, short v, short d, short c, short e = 0) const; | ||||
|   void get(const TMask& m, short v, short d, short c, short e = 0);  | ||||
|   void set(TMask& m, short v, short d, short c) const; | ||||
|   void get(const TMask& m, short v, short d, short c);  | ||||
| 
 | ||||
|   const TValuta& operator =(const TValuta& v) { set(v); return *this; } | ||||
|    | ||||
|   TValuta(); | ||||
|   TValuta(const char* cod, const TDate& dat, const real& cam, exchange_type et = _exchange_undefined); | ||||
|   TValuta(const char* cod, const TDate& dat, const real& cam); | ||||
|   TValuta(const TRectype& rec) { get(rec); } | ||||
|   TValuta(const TMask& m, short v, short d, short c, short e = 0) { get(m, v, d, c, e); } | ||||
|   TValuta(const TMask& m, short v, short d, short c) { get(m, v, d, c); } | ||||
|   TValuta(const TValuta& v) { set(v); } | ||||
|   virtual ~TValuta() {} | ||||
| };     | ||||
| @ -161,9 +159,6 @@ public: | ||||
|   virtual ~TRiga_scadenze(); | ||||
| }; | ||||
| 
 | ||||
| enum tipo_movimento { tm_nessuno = 0, tm_fattura = 1, tm_nota_credito = 2,  | ||||
|                       tm_pagamento = 3, tm_insoluto = 5, tm_pagamento_insoluto = 6 }; | ||||
| 
 | ||||
| class TRiga_partite : public TTree_rectype | ||||
| {          | ||||
|   friend class TPartita; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user