Patch level : 10.0
Files correlati : lv3, lvbollac.msk (+velib06) Ricompilazione Demo : [ ] Commento : 0001136: Colori righe bolle (1) Descrizione Si chiede di colorare (per esempio in giallo) le righe bolla che hanno Consegnato e Ritirato entrambe a zero 0001137: Colori righe bolle (2) Descrizione Si chiede di colorare (per esempio in rosso) le righe bolla che hanno Dotazione temporanea maggiore di zero se la data documento è maggiore della data di scadenza della dotazione temporanea git-svn-id: svn://10.65.10.50/trunk@18224 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									c60f5f27ce
								
							
						
					
					
						commit
						46d63d894b
					
				| @ -8,6 +8,7 @@ | ||||
| #include "lvlib.h" | ||||
| #include "lvcondv.h" | ||||
| #include "lvrcondv.h" | ||||
| #include "lvrconsplan.h" | ||||
| #include "../mg/clifogiac.h" | ||||
| 
 | ||||
|                             ////////////////////////////////////
 | ||||
| @ -236,6 +237,7 @@ protected: | ||||
|   static bool lv_consegnato_handler(TMask_field& f, KEY k); | ||||
|   static bool lv_codart_handler(TMask_field& f, KEY k); | ||||
|   static bool lv_causale_handler(TMask_field& f, KEY k); | ||||
|   static bool lv_dotmp_handler(TMask_field& f, KEY k); | ||||
| 
 | ||||
|   static bool ss_notify(TSheet_field& ss, int r, KEY key); | ||||
| 
 | ||||
| @ -335,7 +337,7 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k) | ||||
|   TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&)f.mask(); | ||||
| 
 | ||||
|   TDate oggi(TODAY); | ||||
|   if (!dmsk.field(F_DATADOC).enabled() && dmsk.insert_mode()) | ||||
|   if (dmsk.insert_mode()) | ||||
|     dmsk.set(F_DATADOC,oggi); | ||||
| 
 | ||||
|   TSheet_field& sheet = dmsk.sfield(F_SHEET); | ||||
| @ -410,6 +412,13 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k) | ||||
|       //instanzio una cache sulle anagrafice di magazzino
 | ||||
|       const TRectype& anamag = cache().get(LF_ANAMAG,codart); | ||||
| 
 | ||||
|       //instanzio in TRecordset sui giri
 | ||||
|       TISAM_recordset giri("USE LVRCONSPLAN KEY 3\nSELECT DTCONS>#DATADOC\nFROM CODCF=#CODCF CODCONT=#CODCONT\nTO CODCF=#CODCF CODCONT=#CODCONT"); | ||||
|       giri.set_var("#DATADOC", datadoc); | ||||
|       giri.set_var("#CODCF", codcf); | ||||
|       giri.set_var("#CODCONT", codcont);       | ||||
|       giri.move_first(); | ||||
| 
 | ||||
|       rdoc.put(RDOC_CODART,codart); | ||||
|       rdoc.put(RDOC_CODARTMAG,codart); | ||||
|       rdoc.put(RDOC_CHECKED,'X'); | ||||
| @ -418,6 +427,13 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k) | ||||
|       rdoc.put(RDOC_CODAGG1,causale); | ||||
|       rdoc.put(RDOC_CODIVA,anamag.get(ANAMAG_CODIVA)); | ||||
| 
 | ||||
|       //setto le date di inizio e fine della dotazione temporanea
 | ||||
|       rdoc.put("DADATATMP", rcont.get(LVRCONDV_INDTTMP).as_date()); | ||||
|       if (rcont.get(LVRCONDV_FIDTTMP).as_date() < datadoc) | ||||
|         rdoc.put("ADATATMP", rcont.get(LVRCONDV_FIDTTMP).as_date()); | ||||
|       else | ||||
|         rdoc.put("ADATATMP", giri.get(LVRCONSPLAN_DTCONS).as_date()); | ||||
| 
 | ||||
|       //elaborazione per il prezzo: o lo prendo dalle righe contratto, o dall'anagrafica magazzino
 | ||||
|       const TString& sconto = rcont.get(LVRCONDV_SCONTPERC).as_string(); | ||||
|       rdoc.put(RDOC_SCONTO, sconto); | ||||
| @ -657,6 +673,40 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k) | ||||
|   return true; | ||||
| } | ||||
| 
 | ||||
| //LV_DOTMP_HANDLER: handler che aggiorna la data di fine dotazione temporanea sul contratto se l'utente lo richiede
 | ||||
| bool TGestione_bolle_msk::lv_dotmp_handler(TMask_field& f, KEY k) | ||||
| { | ||||
|   if (f.to_check(k, true)) | ||||
|   { | ||||
|     TDate finetmp = f.get(); | ||||
|     TMask& msk = f.mask();     | ||||
|     TSheet_field* sheet = msk.get_sheet(); | ||||
|     TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&)sheet->mask(); | ||||
| 
 | ||||
|     if (!finetmp.empty() && finetmp > msk.get_date(F_DATADOC) && | ||||
|         yesno_box(TR("La data di fine dotazione temporanea è diversa da quella presente sul contratto." | ||||
|                      "Si desidera aggiornarla con quella attuale?"))) | ||||
|     { | ||||
|       //ricerco la riga contratto che mi interessa
 | ||||
|       const long codcf = dmsk.get_long(F_CODCF); | ||||
|       const int indsped = dmsk.get_int(F_CODINDSP); | ||||
|       const TDate datadoc = dmsk.get_date(F_DATADOC); | ||||
| 
 | ||||
|       TLaundry_contract cont(codcf,indsped,datadoc); | ||||
|       TLocalisamfile rcondv(LF_LVRCONDV); | ||||
|       rcondv.put(LVRCONDV_CODCF,codcf); | ||||
|       rcondv.put(LVRCONDV_CODCONT,cont.get_int(LVCONDV_CODCONT)); | ||||
|       rcondv.put(LVRCONDV_CODART,msk.get(FR_CODART)); | ||||
|       if (rcondv.read() == NOERR) | ||||
|       { | ||||
|         rcondv.put(LVRCONDV_FIDTTMP, finetmp); | ||||
|         rcondv.rewrite(); | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|   return true; | ||||
| } | ||||
| 
 | ||||
| //metodo che setta gli handler sui campi di riga
 | ||||
| void TGestione_bolle_msk::user_set_row_handler(TMask& rm, short field, int index) | ||||
| { | ||||
| @ -666,6 +716,7 @@ void TGestione_bolle_msk::user_set_row_handler(TMask& rm, short field, int index | ||||
|   case 4102: rm.set_handler(field, lv_consegnato_handler); break; | ||||
|   case 4103: rm.set_handler(field, lv_codart_handler); break; | ||||
|   case 4104: rm.set_handler(field, lv_causale_handler); break; | ||||
|   case 4105: rm.set_handler(field, lv_dotmp_handler); break; | ||||
|   default  : TDocumento_mask::user_set_row_handler(rm, field, index); break; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -30,7 +30,7 @@ Title(7)=Totali | ||||
| // TIPOCF          = S_NORMALE | ||||
| // CODCF           = S_OBBLIGATORIO | ||||
| // RAGSOC          = S_NORMALE | ||||
| //RICALT           = S_NORMALE | ||||
| // RICALT          = S_NORMALE | ||||
| OCCASEDIT       = S_NORMALE                     //100 | ||||
| OCFPI           = S_DISABILITATO                //100 | ||||
| COFI            = S_NON_VISIBILE                //100 | ||||
| @ -181,19 +181,21 @@ Col(8)=FR_QTA|Cons.|6 | ||||
| Col(9)=FR_PREZZO||6 | ||||
| Col(10)=FR_JOLLY1|Dotaz.|7 | ||||
| Col(11)=FR_JOLLY2|D.Temp.|7 | ||||
| Col(12)=FR_UMQTA | ||||
| Col(13)=FR_SCONTO | ||||
| Col(14)=FR_PERCPROV | ||||
| Col(15)=FR_CODIVA | ||||
| Col(16)=FR_NCOLLI | ||||
| Col(17)=FR_PNETTO | ||||
| Col(18)=FR_TARA | ||||
| Col(19)=FR_CAUS | ||||
| Col(20)=FR_CODMAGC | ||||
| Col(21)=FR_CODDEPC | ||||
| Col(22)=FR_CODMAG | ||||
| Col(23)=FR_CODDEP | ||||
| Col(24)=FR_TIPORIGA|Tipo|4 | ||||
| Col(12)=FR_JOLLY3|Inizio|10 | ||||
| Col(13)=FR_JOLLY4|Fine|10 | ||||
| Col(14)=FR_UMQTA | ||||
| Col(15)=FR_SCONTO | ||||
| Col(16)=FR_PERCPROV | ||||
| Col(17)=FR_CODIVA | ||||
| Col(18)=FR_NCOLLI | ||||
| Col(19)=FR_PNETTO | ||||
| Col(20)=FR_TARA | ||||
| Col(21)=FR_CAUS | ||||
| Col(22)=FR_CODMAGC | ||||
| Col(23)=FR_CODDEPC | ||||
| Col(24)=FR_CODMAG | ||||
| Col(25)=FR_CODDEP | ||||
| Col(26)=FR_TIPORIGA|Tipo|4 | ||||
| 
 | ||||
| [RIGHE] | ||||
| Tipo(0)=21 | ||||
| @ -267,3 +269,12 @@ NGROUPS=22 | ||||
| 21=1700 | ||||
| 22=2900 | ||||
| 
 | ||||
| [Colors] | ||||
| RuleName(1) = Dotazione scaduta | ||||
| Rule(1) = (ADATATMP!="")&&(ANSI(33.DATADOC)>ANSI(ADATATMP))|N | ||||
| BgCol(1) = 255,0,0 | ||||
| FgCol(1) = 0,0,0 | ||||
| RuleName(2) = Riga vuota | ||||
| Rule(2) = STR(TIPORIGA!="05")&&(QTA==0)&&(QTAGG1==0)|N | ||||
| BgCol(2) = 255,255,128 | ||||
| FgCol(2) = 0,0,0 | ||||
|  | ||||
| @ -7,4 +7,14 @@ STRING FR_JOLLY2 5 | ||||
| BEGIN | ||||
|   PROMPT 20 13 "Dot.temp " | ||||
|   FIELD DOTMP | ||||
| END | ||||
| DATE FR_JOLLY3 | ||||
| BEGIN | ||||
|   PROMPT 36 13 "Inizio " | ||||
|   FIELD DADATATMP | ||||
| END | ||||
| DATE FR_JOLLY4 | ||||
| BEGIN | ||||
|   PROMPT 54 13 "Fine   " | ||||
|   FIELD ADATATMP | ||||
| END | ||||
| @ -10,3 +10,4 @@ NHANDLER = 4 | ||||
| 2 = 112|4102 | ||||
| 3 = 105|4103 | ||||
| 4 = 152|4104 | ||||
| 5 = 158|4105 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user