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