Correzioni a gestione distinte in modo da non bloccarsi su distinte non generate da questo programma
git-svn-id: svn://10.65.10.50/branches/R_10_00@22656 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									896b7a6552
								
							
						
					
					
						commit
						e361f0becd
					
				| @ -11,13 +11,23 @@ BEGIN | |||||||
|   PROMPT 0 0 "" |   PROMPT 0 0 "" | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
|  | LIST F_TIPOCF 10 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 1 1 "Tipo effetto  " | ||||||
|  |   ITEM "C|Attivo" | ||||||
|  |     MESSAGE SHOW,8@|HIDE,9@ | ||||||
|  |   ITEM "F|Passivo" | ||||||
|  |     MESSAGE HIDE,8@|SHOW,9@ | ||||||
|  |   FIELD TIPOCF | ||||||
|  | END | ||||||
|  | 
 | ||||||
| NUMBER F_NPROGTR 7 | NUMBER F_NPROGTR 7 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 1 1 "Numero        " |   PROMPT 1 2 "Numero        " | ||||||
|   FIELD NPROGTR |   FIELD NPROGTR | ||||||
|   KEY 1 |   KEY 1 | ||||||
|   USE LF_EFFETTI KEY 1 |   USE LF_EFFETTI SELECT (TIPOCF=#F_TIPOCF)&&(BETWEEN(CODCF,#F_CODCF,#F_CODCF)) | ||||||
|   JOIN LF_CLIFO TO LF_EFFETTI KEY 1 INTO CODCF=CODCF TIPOCF=TIPOCF |   JOIN LF_CLIFO INTO CODCF=CODCF TIPOCF=TIPOCF | ||||||
|   INPUT NPROGTR F_NPROGTR |   INPUT NPROGTR F_NPROGTR | ||||||
|   DISPLAY "Nr.progr." NPROGTR    |   DISPLAY "Nr.progr." NPROGTR    | ||||||
|   DISPLAY "Tipo" TIPOCF |   DISPLAY "Tipo" TIPOCF | ||||||
| @ -32,16 +42,6 @@ BEGIN | |||||||
|   MESSAGE COPY,10@ |   MESSAGE COPY,10@ | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| LIST F_TIPOCF 10 |  | ||||||
| BEGIN |  | ||||||
|   PROMPT 1 2 "Tipo effetto  " |  | ||||||
|   ITEM "C|Attivo" |  | ||||||
|     MESSAGE SHOW,8@|HIDE,9@ |  | ||||||
|   ITEM "F|Passivo" |  | ||||||
|     MESSAGE HIDE,8@|SHOW,9@ |  | ||||||
|   FIELD TIPOCF |  | ||||||
| END |  | ||||||
| 
 |  | ||||||
| TEXT DLG_NULL | TEXT DLG_NULL | ||||||
| BEGIN          | BEGIN          | ||||||
|   PROMPT 1 3 "Cliente" |   PROMPT 1 3 "Cliente" | ||||||
| @ -91,8 +91,8 @@ BEGIN | |||||||
|   PROMPT 1 4 "Data scadenza " |   PROMPT 1 4 "Data scadenza " | ||||||
|   FIELD DATASCAD |   FIELD DATASCAD | ||||||
|   KEY 3 |   KEY 3 | ||||||
|   USE LF_EFFETTI KEY 3 |   USE LF_EFFETTI KEY 3 SELECT (TIPOCF=#F_TIPOCF)&&(BETWEEN(CODCF, #F_CODCF, #F_CODCF)) | ||||||
|   JOIN LF_CLIFO TO LF_EFFETTI KEY 1 INTO CODCF=CODCF TIPOCF="C" |   JOIN LF_CLIFO INTO TIPOCF==TIPOCF CODCF==CODCF | ||||||
|   INPUT DATASCAD F_DATASCAD |   INPUT DATASCAD F_DATASCAD | ||||||
|   INPUT NPROGTR F_NPROGTR |   INPUT NPROGTR F_NPROGTR | ||||||
|   DISPLAY "Data scadenza" DATASCAD |   DISPLAY "Data scadenza" DATASCAD | ||||||
| @ -100,6 +100,7 @@ BEGIN | |||||||
|   DISPLAY "Codice cliente" CODCF |   DISPLAY "Codice cliente" CODCF | ||||||
|   DISPLAY "Nr. distinta" NDIST |   DISPLAY "Nr. distinta" NDIST | ||||||
|   DISPLAY "Tipo distinta" TIPODIST |   DISPLAY "Tipo distinta" TIPODIST | ||||||
|  |   DISPLAY "Ragione Sociale@50" LF_CLIFO->RAGSOC | ||||||
|   COPY OUTPUT F_NPROGTR |   COPY OUTPUT F_NPROGTR | ||||||
|   OUTPUT F_DATASCAD DATASCAD |   OUTPUT F_DATASCAD DATASCAD | ||||||
|   CHECKTYPE REQUIRED |   CHECKTYPE REQUIRED | ||||||
|  | |||||||
| @ -10,7 +10,7 @@ | |||||||
| 
 | 
 | ||||||
| #include <clifo.h> | #include <clifo.h> | ||||||
| #include <cfven.h> | #include <cfven.h> | ||||||
| #include <partite.h> | #include <doc.h> | ||||||
| #include <mov.h> | #include <mov.h> | ||||||
| #include <rmov.h> | #include <rmov.h> | ||||||
| #include "../cg/cgsaldac.h" | #include "../cg/cgsaldac.h" | ||||||
| @ -488,8 +488,45 @@ bool TPE_mask::fill_distinta(bool clear_all) | |||||||
|       for (int r = 1; r <= eff.rows_r(); r++) |       for (int r = 1; r <= eff.rows_r(); r++) | ||||||
|       { |       { | ||||||
|         const TRectype& reff = eff.row_r(r); |         const TRectype& reff = eff.row_r(r); | ||||||
|         const int anno = reff.get_int(REFF_ANNO); |         int anno = reff.get_int(REFF_ANNO); | ||||||
|         const TString16 part = reff.get(REFF_NUMPART); |         TString8 part = reff.get(REFF_NUMPART); | ||||||
|  | 
 | ||||||
|  |         if (anno <= 0 || part.blank()) | ||||||
|  |         { | ||||||
|  |           TToken_string dockey;  | ||||||
|  |           dockey.add(reff.get(REFF_PROVV)); | ||||||
|  |           dockey.add(reff.get(REFF_ANNODOC)); | ||||||
|  |           dockey.add(reff.get(REFF_CODNUM)); | ||||||
|  |           dockey.add(reff.get(REFF_NFATT)); | ||||||
|  |           const long numreg = atol(cache().get(LF_DOC, dockey, DOC_NUMREG)); | ||||||
|  |           if (numreg > 0) | ||||||
|  |           { | ||||||
|  |             TPartite_array games; | ||||||
|  |             if (games.add_numreg(numreg) == 1) | ||||||
|  |             { | ||||||
|  |               const TPartita* g = games.first(); | ||||||
|  |               const int nriga = g->prima_fattura(numreg); | ||||||
|  |               if (nriga > 0) | ||||||
|  |               { | ||||||
|  |                 TRectype& wreff = (TRectype&)reff; | ||||||
|  |                 wreff.put(REFF_ANNO, anno = g->anno()); | ||||||
|  |                 wreff.put(REFF_NUMPART, part = g->numero()); | ||||||
|  |                 wreff.put(REFF_NRIGA, nriga); | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  | 
 | ||||||
|  |           if (anno <= 0) | ||||||
|  |           { | ||||||
|  |             warning_box(TR("La riga %d della distinta è priva di riferimenti al saldaconto"), e+1); | ||||||
|  |             if (e == 0) | ||||||
|  |             { | ||||||
|  |               e = dist.items(); | ||||||
|  |               break; | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         const int nriga = reff.get_int(REFF_NRIGA); |         const int nriga = reff.get_int(REFF_NRIGA); | ||||||
|         const int nrata = reff.get_int(REFF_NRATA); |         const int nrata = reff.get_int(REFF_NRATA); | ||||||
|         TPartita game(clifo, anno, part);             |         TPartita game(clifo, anno, part);             | ||||||
| @ -883,12 +920,17 @@ bool TPE_mask::on_sheet_event(TOperable_field& o, TField_event e, long jolly) | |||||||
|     switch(e) |     switch(e) | ||||||
|     { |     { | ||||||
|     case se_query_add: |     case se_query_add: | ||||||
|  |       if (!field(F_UNCONTABIL).active())  // Non posso modificare distinte contabilizzate
 | ||||||
|       { |       { | ||||||
|         TOperable_field& ronaldo = (TOperable_field&)field(F_AGGIORNA); |         TOperable_field& ronaldo = (TOperable_field&)field(F_AGGIORNA); | ||||||
|         if (ronaldo.active()) |         if (ronaldo.active()) | ||||||
|           on_field_event(ronaldo, fe_button, 0); |           on_field_event(ronaldo, fe_button, 0); | ||||||
|       } |       } | ||||||
|       return false; |       return false; | ||||||
|  |     case se_query_modify: | ||||||
|  |       if (field(F_UNCONTABIL).active())  // Non posso modificare distinte contabilizzate
 | ||||||
|  |         return false;  | ||||||
|  |       break; | ||||||
|     case se_notify_modify: |     case se_notify_modify: | ||||||
|       _spork = true; |       _spork = true; | ||||||
|       update_total(); |       update_total(); | ||||||
| @ -989,7 +1031,7 @@ bool TPE_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) | |||||||
|       TEdit_field& numdist = efield(F_DIST); |       TEdit_field& numdist = efield(F_DIST); | ||||||
|       if (!numdist.empty()) |       if (!numdist.empty()) | ||||||
|       { |       { | ||||||
|         bool go = TRUE; |         bool go = true; | ||||||
|         if (!numdist.enabled() && sfield(F_SHEET).items() > 0) |         if (!numdist.enabled() && sfield(F_SHEET).items() > 0) | ||||||
|         {      |         {      | ||||||
|           go = check_fields(); |           go = check_fields(); | ||||||
| @ -1057,7 +1099,7 @@ bool TPE_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) | |||||||
|         if (movs.items() > 0) |         if (movs.items() > 0) | ||||||
|         {  |         {  | ||||||
|           TString msg; |           TString msg; | ||||||
|           msg = "E' necessario cancellare i seguenti movimenti contabili:\n"; |           msg = TR("E' necessario cancellare i seguenti movimenti contabili:\n"); | ||||||
|           FOR_EACH_ASSOC_OBJECT(movs, hash, key, obj) |           FOR_EACH_ASSOC_OBJECT(movs, hash, key, obj) | ||||||
|             msg << key << ' '; |             msg << key << ' '; | ||||||
|           warning_box(msg); |           warning_box(msg); | ||||||
| @ -1067,7 +1109,7 @@ bool TPE_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) | |||||||
|     } |     } | ||||||
|     break; |     break; | ||||||
|   case DLG_DELREC: |   case DLG_DELREC: | ||||||
|     if (e == fe_button && yesno_box("Confermare l'eliminazione della distinta %ld",  |     if (e == fe_button && yesno_box(FR("Confermare l'eliminazione della distinta %ld"),  | ||||||
|                                     get_long(F_DIST))) |                                     get_long(F_DIST))) | ||||||
|     {                 |     {                 | ||||||
|       TSheet_field& sheet = sfield(F_SHEET); |       TSheet_field& sheet = sfield(F_SHEET); | ||||||
|  | |||||||
| @ -312,11 +312,11 @@ END | |||||||
| SPREADSHEET F_SHEET 0 -2 | SPREADSHEET F_SHEET 0 -2 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 0 12 "" |   PROMPT 0 12 "" | ||||||
|   ITEM "Importo@18" |   ITEM "Importo@16" | ||||||
|   ITEM "A/S@3" |   ITEM "A/S@3" | ||||||
|   ITEM "Data Pagamento" |   ITEM "Data\nPagamento@10" | ||||||
|   ITEM "Val.Ben." |   ITEM "Val.\nBen.@3" | ||||||
|   ITEM "Residuo@18" |   ITEM "Residuo@16" | ||||||
|   ITEM "Codice" |   ITEM "Codice" | ||||||
|   ITEM "Ragione Sociale@20" |   ITEM "Ragione Sociale@20" | ||||||
|   ITEM "Anno" |   ITEM "Anno" | ||||||
| @ -458,9 +458,9 @@ BEGIN | |||||||
|   CHECKTYPE NORMAL |   CHECKTYPE NORMAL | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| STRING F_DCUP 50 30 | STRING F_DCUP 50 35 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 40 8 "" |   PROMPT 28 8 "" | ||||||
|   USE %CUP KEY 2 |   USE %CUP KEY 2 | ||||||
|   INPUT S0 F_DCUP |   INPUT S0 F_DCUP | ||||||
|   DISPLAY "Descrizione@50" S0 |   DISPLAY "Descrizione@50" S0 | ||||||
| @ -482,9 +482,9 @@ BEGIN | |||||||
|   CHECKTYPE NORMAL |   CHECKTYPE NORMAL | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| STRING F_DCIG 50 30 | STRING F_DCIG 50 35 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 40 9 "" |   PROMPT 28 9 "" | ||||||
|   USE %CIG KEY 2 |   USE %CIG KEY 2 | ||||||
|   INPUT S0 F_DCIG |   INPUT S0 F_DCIG | ||||||
|   DISPLAY "Descrizione@50" S0 |   DISPLAY "Descrizione@50" S0 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user