98 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
#include <applicat.h>
 | 
						|
#include <config.h>
 | 
						|
#include <mask.h>   
 | 
						|
#include <printer.h>
 | 
						|
#include <relation.h>
 | 
						|
#include <tabutil.h>
 | 
						|
#include <urldefid.h>
 | 
						|
#include <utility.h>
 | 
						|
#include <form.h>
 | 
						|
#include <printapp.h>
 | 
						|
 | 
						|
#include "mglib.h"
 | 
						|
#include "mg3500.h"
 | 
						|
#include "mg3frm.h"
 | 
						|
 | 
						|
// mg3500       Stampa 
 | 
						|
class TStampa_storgiac : public TPrint_application
 | 
						|
{
 | 
						|
	TArray * _files;
 | 
						|
	TMask * _mask;
 | 
						|
	TCursor * _cur;
 | 
						|
	TForm_stampemg * _form; // to be moved into TPrint_application
 | 
						|
 | 
						|
protected:
 | 
						|
  virtual bool print_one(int file) 
 | 
						|
	  {return TRUE;}
 | 
						|
  virtual bool user_create();
 | 
						|
  virtual bool user_destroy();
 | 
						|
  virtual bool set_print(int i=1);
 | 
						|
  virtual void set_page(int file,int count)
 | 
						|
		{	}
 | 
						|
	void setprint_permagazzini();
 | 
						|
	void setprint_perarticoli();
 | 
						|
 | 
						|
public:
 | 
						|
  TStampa_storgiac() {}
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
bool TStampa_storgiac::user_create()
 | 
						|
{
 | 
						|
  _mask = new TMask("mg3500");
 | 
						|
  _files = new TArray();
 | 
						|
  _files->add(new TLocalisamfile(LF_STOMAG));
 | 
						|
  return TRUE;
 | 
						|
}
 | 
						|
 | 
						|
bool TStampa_storgiac::user_destroy()
 | 
						|
{
 | 
						|
	delete _mask;
 | 
						|
	delete _files;
 | 
						|
  return TRUE;
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
// ORDINAMENTO 
 | 
						|
 | 
						|
bool TStampa_storgiac::set_print(int i)
 | 
						|
{
 | 
						|
	while (TRUE) {
 | 
						|
  	if (_mask->run() != K_ENTER) 
 | 
						|
	    return FALSE;
 | 
						|
	  TRectype darec(LF_ANAMAG),arec(LF_ANAMAG);
 | 
						|
	  TString cfilter,filter,joinexp;
 | 
						|
 | 
						|
		joinexp << "ANNOESRIF==" << _mask->get(F_ANNOES) << "|CODART==CODART";
 | 
						|
 | 
						|
	 	_form = new TForm_stampemg("mg3500", "");
 | 
						|
	  _cur = _form->cursor();
 | 
						|
	  switch (*_mask->get(F_ORDINE))
 | 
						|
	  {
 | 
						|
	  	case 'C':
 | 
						|
	  		_cur->setkey(1);
 | 
						|
				darec.put("CODART",_mask->get(F_DAART));
 | 
						|
				arec.put("CODART",_mask->get(F_AART));
 | 
						|
	  	break;
 | 
						|
	  	case 'D':
 | 
						|
	  		_cur->setkey(2);
 | 
						|
				darec.put("DESCR",_mask->get(F_DADES));
 | 
						|
				arec.put("DESCR",_mask->get(F_ADES));
 | 
						|
	  	break;
 | 
						|
		}	
 | 
						|
		_cur->relation()->replace(new TLocalisamfile(LF_STOMAG),1,joinexp);
 | 
						|
		_cur->setfilter(cfilter);
 | 
						|
		_cur->setregion(darec,arec);
 | 
						|
		_form->print();
 | 
						|
		delete _form;
 | 
						|
	} // while true  
 | 
						|
  return TRUE;
 | 
						|
}
 | 
						|
 | 
						|
int mg3500(int argc, char* argv[])
 | 
						|
{
 | 
						|
	TStampa_storgiac a;
 | 
						|
	a.run(argc,argv,"Stampa storico rimanenze");
 | 
						|
	return 0;
 | 
						|
}
 |