76 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
#include <applicat.h>
 | 
						|
#include <config.h>
 | 
						|
#include <form.h>
 | 
						|
#include <mask.h>   
 | 
						|
#include <relation.h>
 | 
						|
#include <tabutil.h>
 | 
						|
#include <urldefid.h>
 | 
						|
#include <utility.h>
 | 
						|
#include "mg0200.h"
 | 
						|
 | 
						|
class TStampa_tabmag : public TApplication
 | 
						|
{
 | 
						|
  TMask * _mask;
 | 
						|
  TForm * _form; 
 | 
						|
 | 
						|
  void set_print(TString & tabname);
 | 
						|
protected:
 | 
						|
  virtual bool create();
 | 
						|
  virtual bool destroy();
 | 
						|
};
 | 
						|
 | 
						|
void TStampa_tabmag::set_print(TString & tabname)
 | 
						|
{
 | 
						|
  TString filter;
 | 
						|
  TRectype from_rec(LF_TAB),to_rec(LF_TAB);
 | 
						|
  from_rec.put("COD",tabname);
 | 
						|
  from_rec.put("CODTAB",_mask->get(F_INIZIO1));
 | 
						|
  to_rec.put("COD",tabname);
 | 
						|
  to_rec.put("CODTAB",_mask->get(F_FINE1));
 | 
						|
  if (tabname=="FCA" || tabname=="FCG") {
 | 
						|
    if (*_mask->get(F_INIZIO2))
 | 
						|
      filter << "500@->CODTAB[2,20]>="  << _mask->get(F_INIZIO2);
 | 
						|
    if (filter.not_empty())
 | 
						|
      filter << "&&";
 | 
						|
    if (*_mask->get(F_FINE2))
 | 
						|
      filter << "500@->CODTAB[2,20]<="  << _mask->get(F_FINE2);
 | 
						|
    _form->find_field('B',odd_page,"GRUPPI").show(_mask->get_bool(F_DETTAGLIO));
 | 
						|
  }
 | 
						|
  _form->cursor()->setregion(from_rec,to_rec);
 | 
						|
  if (filter.not_empty()) 
 | 
						|
    _form->cursor()->setfilter(filter);
 | 
						|
}
 | 
						|
 | 
						|
bool TStampa_tabmag::create()
 | 
						|
{
 | 
						|
  TString16 maskname("bast");
 | 
						|
  TString16 formname("tab_");
 | 
						|
  TString16 tabname(argv(2));
 | 
						|
  tabname.upper();
 | 
						|
  
 | 
						|
  maskname << tabname;
 | 
						|
  formname << tabname;
 | 
						|
 | 
						|
  _mask = new TMask(maskname);
 | 
						|
  while ((_mask->run() == K_ENTER)) {
 | 
						|
    _form = new TForm(formname);
 | 
						|
    set_print(tabname);
 | 
						|
    _form->print();
 | 
						|
    delete _form;
 | 
						|
  } // while 
 | 
						|
  return FALSE;
 | 
						|
}
 | 
						|
 | 
						|
bool TStampa_tabmag::destroy()
 | 
						|
{
 | 
						|
  delete _mask;
 | 
						|
  return TRUE;
 | 
						|
}
 | 
						|
 | 
						|
int mg0200(int argc, char* argv[])
 | 
						|
{
 | 
						|
  TStampa_tabmag a;// derivata da Application e con uso di form
 | 
						|
  a.run(argc,argv,"Stampa tabelle di magazzino");
 | 
						|
  return 0;
 | 
						|
}
 |