90 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
//**************************************************
 | 
						|
//* Aggiornamento Flag Operazioni Intracomunitarie *
 | 
						|
//**************************************************
 | 
						|
#include <mask.h>
 | 
						|
#include <progind.h>
 | 
						|
#include <relation.h>
 | 
						|
#include <urldefid.h>
 | 
						|
 | 
						|
#include <mov.h>  
 | 
						|
#include <rmoviva.h>
 | 
						|
#include <causali.h>
 | 
						|
 | 
						|
#include "cg1301.h"  
 | 
						|
 | 
						|
bool TAgg_opintra::create()
 | 
						|
{
 | 
						|
  TApplication::create();
 | 
						|
 | 
						|
  _causali = new TLocalisamfile(LF_ATTIV);
 | 
						|
  
 | 
						|
  dispatch_e_menu (BAR_ITEM(1));
 | 
						|
  return TRUE;
 | 
						|
}
 | 
						|
 | 
						|
bool TAgg_opintra::destroy()
 | 
						|
{ 
 | 
						|
  delete _causali;
 | 
						|
  return TApplication::destroy();
 | 
						|
}                                
 | 
						|
 | 
						|
bool TAgg_opintra::menu(MENU_TAG m)
 | 
						|
{
 | 
						|
  TMask msk("cg1300a");
 | 
						|
  
 | 
						|
  while (msk.run() == K_ENTER) 
 | 
						|
  {
 | 
						|
    look_mov();
 | 
						|
    message_box(TR("Aggiornamento completato"));
 | 
						|
    //return TRUE;
 | 
						|
  }
 | 
						|
  return FALSE;
 | 
						|
}
 | 
						|
 | 
						|
void TAgg_opintra::look_mov()
 | 
						|
{
 | 
						|
  TLocalisamfile caus(LF_CAUSALI);
 | 
						|
  
 | 
						|
  TRelation rel (LF_MOV);
 | 
						|
  rel.add(LF_RMOVIVA, "NUMREG=NUMREG",1);
 | 
						|
  TCursor cursor(&rel,"",1);
 | 
						|
  
 | 
						|
  TLocalisamfile& mov = rel.lfile();
 | 
						|
  TLocalisamfile& rmoviva = rel.lfile(LF_RMOVIVA);
 | 
						|
  
 | 
						|
//  long ditta = get_firm();
 | 
						|
  cursor = 0L;
 | 
						|
  const long nitems = cursor.items();
 | 
						|
  
 | 
						|
  TProgind p(nitems ? nitems : 1, TR("Aggiornamento in corso...") , TRUE, TRUE, 70);
 | 
						|
 | 
						|
  for (; cursor.pos() < cursor.items(); ++cursor)
 | 
						|
  {
 | 
						|
    p.addstatus(1);
 | 
						|
    const TString16 reg(mov.get(MOV_REG));
 | 
						|
    if (reg.empty()) continue;
 | 
						|
    
 | 
						|
    const TDate& datareg = mov.get_date(MOV_DATAREG);
 | 
						|
    if (datareg.year() < 1993) continue;   // Meglio cosi'
 | 
						|
    
 | 
						|
    const TString16 codcaus(mov.get(MOV_CODCAUS)); 
 | 
						|
    if (codcaus.not_empty())
 | 
						|
    {
 | 
						|
      caus.setkey(1);
 | 
						|
      caus.put(CAU_CODCAUS, codcaus);
 | 
						|
      if (caus.read() == NOERR)
 | 
						|
      { 
 | 
						|
        bool intra = caus.get_bool(CAU_INTRACOM);
 | 
						|
        bool ok = rel.is_first_match(LF_RMOVIVA);
 | 
						|
        while (ok)
 | 
						|
        {
 | 
						|
          rmoviva.put(RMI_INTRA, intra); 
 | 
						|
          rmoviva.rewrite();
 | 
						|
          ok = rel.next_match(LF_RMOVIVA); 
 | 
						|
        }  
 | 
						|
      }
 | 
						|
    }   
 | 
						|
  } 
 | 
						|
}
 | 
						|
 |