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 "lvlib.h"
 | 
				
			||||||
#include "lvcondv.h"
 | 
					#include "lvcondv.h"
 | 
				
			||||||
#include "lvrcondv.h"
 | 
					#include "lvrcondv.h"
 | 
				
			||||||
 | 
					#include "lvrconsplan.h"
 | 
				
			||||||
#include "../mg/clifogiac.h"
 | 
					#include "../mg/clifogiac.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                            ////////////////////////////////////
 | 
					                            ////////////////////////////////////
 | 
				
			||||||
@ -236,6 +237,7 @@ protected:
 | 
				
			|||||||
  static bool lv_consegnato_handler(TMask_field& f, KEY k);
 | 
					  static bool lv_consegnato_handler(TMask_field& f, KEY k);
 | 
				
			||||||
  static bool lv_codart_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_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);
 | 
					  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();
 | 
					  TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&)f.mask();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  TDate oggi(TODAY);
 | 
					  TDate oggi(TODAY);
 | 
				
			||||||
  if (!dmsk.field(F_DATADOC).enabled() && dmsk.insert_mode())
 | 
					  if (dmsk.insert_mode())
 | 
				
			||||||
    dmsk.set(F_DATADOC,oggi);
 | 
					    dmsk.set(F_DATADOC,oggi);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  TSheet_field& sheet = dmsk.sfield(F_SHEET);
 | 
					  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
 | 
					      //instanzio una cache sulle anagrafice di magazzino
 | 
				
			||||||
      const TRectype& anamag = cache().get(LF_ANAMAG,codart);
 | 
					      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_CODART,codart);
 | 
				
			||||||
      rdoc.put(RDOC_CODARTMAG,codart);
 | 
					      rdoc.put(RDOC_CODARTMAG,codart);
 | 
				
			||||||
      rdoc.put(RDOC_CHECKED,'X');
 | 
					      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_CODAGG1,causale);
 | 
				
			||||||
      rdoc.put(RDOC_CODIVA,anamag.get(ANAMAG_CODIVA));
 | 
					      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
 | 
					      //elaborazione per il prezzo: o lo prendo dalle righe contratto, o dall'anagrafica magazzino
 | 
				
			||||||
      const TString& sconto = rcont.get(LVRCONDV_SCONTPERC).as_string();
 | 
					      const TString& sconto = rcont.get(LVRCONDV_SCONTPERC).as_string();
 | 
				
			||||||
      rdoc.put(RDOC_SCONTO, sconto);
 | 
					      rdoc.put(RDOC_SCONTO, sconto);
 | 
				
			||||||
@ -657,6 +673,40 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
 | 
				
			|||||||
  return true;
 | 
					  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
 | 
					//metodo che setta gli handler sui campi di riga
 | 
				
			||||||
void TGestione_bolle_msk::user_set_row_handler(TMask& rm, short field, int index)
 | 
					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 4102: rm.set_handler(field, lv_consegnato_handler); break;
 | 
				
			||||||
  case 4103: rm.set_handler(field, lv_codart_handler); break;
 | 
					  case 4103: rm.set_handler(field, lv_codart_handler); break;
 | 
				
			||||||
  case 4104: rm.set_handler(field, lv_causale_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;
 | 
					  default  : TDocumento_mask::user_set_row_handler(rm, field, index); break;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -30,7 +30,7 @@ Title(7)=Totali
 | 
				
			|||||||
// TIPOCF          = S_NORMALE
 | 
					// TIPOCF          = S_NORMALE
 | 
				
			||||||
// CODCF           = S_OBBLIGATORIO
 | 
					// CODCF           = S_OBBLIGATORIO
 | 
				
			||||||
// RAGSOC          = S_NORMALE
 | 
					// RAGSOC          = S_NORMALE
 | 
				
			||||||
//RICALT           = S_NORMALE
 | 
					// RICALT          = S_NORMALE
 | 
				
			||||||
OCCASEDIT       = S_NORMALE                     //100
 | 
					OCCASEDIT       = S_NORMALE                     //100
 | 
				
			||||||
OCFPI           = S_DISABILITATO                //100
 | 
					OCFPI           = S_DISABILITATO                //100
 | 
				
			||||||
COFI            = S_NON_VISIBILE                //100
 | 
					COFI            = S_NON_VISIBILE                //100
 | 
				
			||||||
@ -181,19 +181,21 @@ Col(8)=FR_QTA|Cons.|6
 | 
				
			|||||||
Col(9)=FR_PREZZO||6
 | 
					Col(9)=FR_PREZZO||6
 | 
				
			||||||
Col(10)=FR_JOLLY1|Dotaz.|7
 | 
					Col(10)=FR_JOLLY1|Dotaz.|7
 | 
				
			||||||
Col(11)=FR_JOLLY2|D.Temp.|7
 | 
					Col(11)=FR_JOLLY2|D.Temp.|7
 | 
				
			||||||
Col(12)=FR_UMQTA
 | 
					Col(12)=FR_JOLLY3|Inizio|10
 | 
				
			||||||
Col(13)=FR_SCONTO
 | 
					Col(13)=FR_JOLLY4|Fine|10
 | 
				
			||||||
Col(14)=FR_PERCPROV
 | 
					Col(14)=FR_UMQTA
 | 
				
			||||||
Col(15)=FR_CODIVA
 | 
					Col(15)=FR_SCONTO
 | 
				
			||||||
Col(16)=FR_NCOLLI
 | 
					Col(16)=FR_PERCPROV
 | 
				
			||||||
Col(17)=FR_PNETTO
 | 
					Col(17)=FR_CODIVA
 | 
				
			||||||
Col(18)=FR_TARA
 | 
					Col(18)=FR_NCOLLI
 | 
				
			||||||
Col(19)=FR_CAUS
 | 
					Col(19)=FR_PNETTO
 | 
				
			||||||
Col(20)=FR_CODMAGC
 | 
					Col(20)=FR_TARA
 | 
				
			||||||
Col(21)=FR_CODDEPC
 | 
					Col(21)=FR_CAUS
 | 
				
			||||||
Col(22)=FR_CODMAG
 | 
					Col(22)=FR_CODMAGC
 | 
				
			||||||
Col(23)=FR_CODDEP
 | 
					Col(23)=FR_CODDEPC
 | 
				
			||||||
Col(24)=FR_TIPORIGA|Tipo|4
 | 
					Col(24)=FR_CODMAG
 | 
				
			||||||
 | 
					Col(25)=FR_CODDEP
 | 
				
			||||||
 | 
					Col(26)=FR_TIPORIGA|Tipo|4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[RIGHE]
 | 
					[RIGHE]
 | 
				
			||||||
Tipo(0)=21
 | 
					Tipo(0)=21
 | 
				
			||||||
@ -267,3 +269,12 @@ NGROUPS=22
 | 
				
			|||||||
21=1700
 | 
					21=1700
 | 
				
			||||||
22=2900
 | 
					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
 | 
				
			||||||
 | 
				
			|||||||
@ -8,3 +8,13 @@ BEGIN
 | 
				
			|||||||
  PROMPT 20 13 "Dot.temp "
 | 
					  PROMPT 20 13 "Dot.temp "
 | 
				
			||||||
  FIELD DOTMP
 | 
					  FIELD DOTMP
 | 
				
			||||||
END
 | 
					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
 | 
					2 = 112|4102
 | 
				
			||||||
3 = 105|4103
 | 
					3 = 105|4103
 | 
				
			||||||
4 = 152|4104
 | 
					4 = 152|4104
 | 
				
			||||||
 | 
					5 = 158|4105
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user