Files correlati : Ricompilazione Demo : [ ] Commento : Modifiche al pacchetto gestione 770 (ora denominato Gestione Percipienti), in modo da avere diciture corrette per quanto riguarda i programmi di stampa e gestione quadri, ora chiamati RIEPILOGHI. Commentato l'uso dei quadri che non servivano piu', modificati opportunamente i menus e programmi per gestione parametri ed azzeramenti git-svn-id: svn://10.65.10.50/trunk@7030 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			118 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
// Applicazione generica di stampa riepiloghi SC|SF|SG|SH|SP|SQ|SL/SK
 | 
						|
// Invocazione astrale:
 | 
						|
 | 
						|
// 772mod -5 [SC|SF|SG|SH|SP|SQ|SL/SK]
 | 
						|
 | 
						|
#include <applicat.h>
 | 
						|
#include <form.h>
 | 
						|
#include <printer.h>
 | 
						|
#include "77lib.h"
 | 
						|
#include "77sr.h"
 | 
						|
 | 
						|
class TStampa_riepilogo : public TSkeleton_application
 | 
						|
{ 
 | 
						|
  TForm   *_frm;
 | 
						|
  TMask   *_msk;
 | 
						|
  TString _titolo;
 | 
						|
  TString16
 | 
						|
          _riepilogo; 
 | 
						|
  long    _currfirm; // Ditta corrente
 | 
						|
  int     _curryear; // Anno corrente
 | 
						|
 | 
						|
protected:
 | 
						|
  virtual bool create();
 | 
						|
  virtual bool destroy();
 | 
						|
  virtual void main_loop();
 | 
						|
public:
 | 
						|
  const TString& titolo() const { return _titolo; }
 | 
						|
  TStampa_riepilogo(const char* riepilogo);
 | 
						|
  virtual ~TStampa_riepilogo() {};
 | 
						|
};
 | 
						|
 | 
						|
TStampa_riepilogo::TStampa_riepilogo(const char * riepilogo)
 | 
						|
{
 | 
						|
  _titolo = "Stampa riepilogo ";
 | 
						|
  _riepilogo = riepilogo;
 | 
						|
  _titolo << _riepilogo;
 | 
						|
}
 | 
						|
 | 
						|
bool TStampa_riepilogo::create()
 | 
						|
{
 | 
						|
  TString form_name;
 | 
						|
 | 
						|
  form_name = "77sr";
 | 
						|
  if (_riepilogo == "SL/SK")
 | 
						|
    form_name << "SL";
 | 
						|
  else
 | 
						|
    form_name << _riepilogo;
 | 
						|
  form_name.lower();
 | 
						|
  _frm = new TForm(form_name); // fatal_box automaGico se il form non esiste...
 | 
						|
  _msk = new TMask("77sr");    // La maschera est unica.
 | 
						|
  _msk->set_caption(titolo());
 | 
						|
  {
 | 
						|
    TConfig conf(CONFIG_USER, "77");
 | 
						|
    _currfirm  = conf.get_long(DITTA_770, "77");
 | 
						|
  }
 | 
						|
  {
 | 
						|
    TConfig conf(CONFIG_STUDIO, "77");
 | 
						|
    _curryear  = conf.get_int(ANNO_SEL, "77");
 | 
						|
  }
 | 
						|
  _msk->set(F_CODICE,_currfirm);
 | 
						|
  _msk->set(F_ANNO,_curryear);
 | 
						|
  TLocalisamfile& ditte = _frm->cursor()->file(LF_NDITTE);
 | 
						|
  ditte.put("CODDITTA",_currfirm);
 | 
						|
  _msk->set(F_RAGIONE,ditte.read() == NOERR ? ditte.get("RAGSOC") : "Ditta inesistente");
 | 
						|
  return TSkeleton_application::create();
 | 
						|
}
 | 
						|
 | 
						|
bool TStampa_riepilogo::destroy()
 | 
						|
{
 | 
						|
  delete _msk;
 | 
						|
  delete _frm;
 | 
						|
  return TApplication::destroy();
 | 
						|
}
 | 
						|
 | 
						|
void TStampa_riepilogo::main_loop()
 | 
						|
{
 | 
						|
  while (_msk->run() != K_QUIT) // Visualizza la maschera ebbasta
 | 
						|
  {
 | 
						|
    // Setta il filtro del cursore sulla ditta
 | 
						|
    //                       
 | 
						|
    TCursor *cur = _frm->cursor();
 | 
						|
    TRectype from(cur->curr());
 | 
						|
    from.zero();
 | 
						|
    from.put("CODDITTA",_currfirm);
 | 
						|
    if (_riepilogo == "SL/SK")
 | 
						|
      from.put("QLAP", _curryear); // E' necessario filtrare anche l'anno !?
 | 
						|
    TRectype to(from);
 | 
						|
    cur->setregion(from, to);
 | 
						|
    
 | 
						|
    const int hh = 6;
 | 
						|
    const int fl = printer().formlen();
 | 
						|
    int rows[4];
 | 
						|
    rows[0] = hh-2;
 | 
						|
    rows[1] = hh;
 | 
						|
    rows[2] = fl-1;
 | 
						|
    rows[3] = 0;
 | 
						|
    _frm->genera_intestazioni(odd_page, hh-1);
 | 
						|
    _frm->genera_fincatura(odd_page, hh-2, fl-1, rows);
 | 
						|
    
 | 
						|
    if (cur->items() > 0)
 | 
						|
      _frm->print();
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
int stampa_riepilogo(int argc, char* argv[])
 | 
						|
{ 
 | 
						|
  // Bzz:
 | 
						|
  // Di default sulla linea di comando passa il riepilogo SC
 | 
						|
  // anche se non viene passato niun parametro.
 | 
						|
  
 | 
						|
  TStampa_riepilogo*  app = new TStampa_riepilogo(argc > 2 ? argv[2] : "SC");
 | 
						|
  
 | 
						|
  app->run(argc, argv, app->titolo());
 | 
						|
  delete app;
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
 |