aggiunta file programma "stampe di controllo"
git-svn-id: svn://10.65.10.50/trunk@4061 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									8f8009969c
								
							
						
					
					
						commit
						c2763f2977
					
				
							
								
								
									
										593
									
								
								ef/ef0600.cpp
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										593
									
								
								ef/ef0600.cpp
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,593 @@
 | 
				
			|||||||
 | 
					#include <config.h>
 | 
				
			||||||
 | 
					#include <execp.h>
 | 
				
			||||||
 | 
					#include <mask.h>
 | 
				
			||||||
 | 
					#include <printapp.h>
 | 
				
			||||||
 | 
					#include <tabutil.h>
 | 
				
			||||||
 | 
					#include <utility.h>                      
 | 
				
			||||||
 | 
					#include <relation.h>
 | 
				
			||||||
 | 
					#include <real.h> 
 | 
				
			||||||
 | 
					#include <printer.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <effetti.h>
 | 
				
			||||||
 | 
					#include <reffetti.h>
 | 
				
			||||||
 | 
					#include <clifo.h>        
 | 
				
			||||||
 | 
					#include "ef0600.h"
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					enum pt {undefined = 0, scadenza = 1, banca = 2, distinta = 3};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class TPrint_effetti_app : public TPrintapp
 | 
				
			||||||
 | 
					{    
 | 
				
			||||||
 | 
					  pt              _pr_type;           
 | 
				
			||||||
 | 
					  TRelation* _rel;                
 | 
				
			||||||
 | 
					   int             _cur_1, _cur_2, _cur_3;
 | 
				
			||||||
 | 
					   int             _interline, i;
 | 
				
			||||||
 | 
					  TString _ban, _cli, _val, _data_stampa, _ban_prec;
 | 
				
			||||||
 | 
					  long  _dist_prec;
 | 
				
			||||||
 | 
					  TDate _scad_prec;
 | 
				
			||||||
 | 
					  real _tot_data, _tot_mese,  _tot_banca, _tot_distinta, _tot_stampa;
 | 
				
			||||||
 | 
					  bool _prima_volta;
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
					  virtual bool preprocess_page(int file, int counter);
 | 
				
			||||||
 | 
					  virtual bool preprocess_print(int file, int counter);         
 | 
				
			||||||
 | 
					  virtual print_action postprocess_print(int file, int counter);
 | 
				
			||||||
 | 
					  virtual void preprocess_header();
 | 
				
			||||||
 | 
					  void header_scadenza();
 | 
				
			||||||
 | 
					  void header_banca();
 | 
				
			||||||
 | 
					  void header_distinta();
 | 
				
			||||||
 | 
					  virtual bool user_create();
 | 
				
			||||||
 | 
					  virtual bool user_destroy();
 | 
				
			||||||
 | 
					  virtual bool set_print(int);
 | 
				
			||||||
 | 
					  virtual void set_page (int file, int counter);  
 | 
				
			||||||
 | 
					  void set_scadenza();
 | 
				
			||||||
 | 
					  void set_banca();
 | 
				
			||||||
 | 
					  void set_distinta();
 | 
				
			||||||
 | 
					  const char* get_field(int ln, const char* fn) {return current_cursor()->curr(ln).get(fn);}
 | 
				
			||||||
 | 
					  const char* look_tab(const char* tabname, TString& cod,const char* fld="S0");
 | 
				
			||||||
 | 
					  TPrint_effetti_app() : TPrintapp(), _ban(11), _ban_prec(11), _cli(60), _val(3){_rel = NULL;  _interline = 1;}
 | 
				
			||||||
 | 
					};  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void  TPrint_effetti_app::preprocess_header()
 | 
				
			||||||
 | 
					{  
 | 
				
			||||||
 | 
					  reset_header();
 | 
				
			||||||
 | 
					  const long firm = get_firm();  
 | 
				
			||||||
 | 
					  int  j = 1;     
 | 
				
			||||||
 | 
					  TLocalisamfile ditte(LF_NDITTE);
 | 
				
			||||||
 | 
					  ditte.zero();
 | 
				
			||||||
 | 
					  ditte.put("CODDITTA", firm);
 | 
				
			||||||
 | 
					  ditte.read();
 | 
				
			||||||
 | 
					  if (ditte.bad()) ditte.zero();
 | 
				
			||||||
 | 
					  TString s(ditte.get("RAGSOC"));
 | 
				
			||||||
 | 
					  set_header(j, "Ditta:  %ld %s@125gPag @#", firm, (const char*) s);
 | 
				
			||||||
 | 
					  set_header(j++, "@102gData %s", (const char*) _data_stampa);
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  switch(_pr_type)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    case scadenza:
 | 
				
			||||||
 | 
					      header_scadenza();
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    case banca:
 | 
				
			||||||
 | 
					      header_banca();
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    case distinta:
 | 
				
			||||||
 | 
					      header_distinta();
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    default:
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TPrint_effetti_app::header_scadenza()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  int j =1;
 | 
				
			||||||
 | 
					  set_header(j, "@52gSTAMPA RI.BA. PER SCADENZA");  j++;
 | 
				
			||||||
 | 
					  set_header(j++, (const char *)(TString(132).fill('-')));
 | 
				
			||||||
 | 
					  set_header(j++, "  Scadenza     Banca      Cliente                 N.Riba     N.Dist          Importo    Val   N.Rata   St.Def. Fattura del.   N.");
 | 
				
			||||||
 | 
					  set_header(j, (const char *)(TString(132).fill('-')));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TPrint_effetti_app::header_banca()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  int  j = 1;     
 | 
				
			||||||
 | 
					  set_header(j, "@45gSTAMPA RI.BA. PER BANCHE DI PRESENTAZIONE");  j++;
 | 
				
			||||||
 | 
					  set_header(j++, (const char *)(TString(132).fill('-')));
 | 
				
			||||||
 | 
					  set_header(j++, "   Banca       Scadenza       Cliente                 N.Riba     N.Dist       Importo      Val.  N.Rata  St.Def.  Fattura del.   N.");
 | 
				
			||||||
 | 
					  set_header(j, (const char *)(TString(132).fill('-')));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TPrint_effetti_app::header_distinta()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  int  j = 1;     
 | 
				
			||||||
 | 
					  set_header(j, "@55gSTAMPA RI.BA. PER DISTINTE");  j++;
 | 
				
			||||||
 | 
					  set_header(j++, (const char *)(TString(132).fill('-')));
 | 
				
			||||||
 | 
					  set_header(j++, "   Distinta ");
 | 
				
			||||||
 | 
					  set_header(j++, "@1gTipo    Num.   N.Riba      Scadenza       Banca        Cliente               Importo      Val.  N.Rata  St.Def.  Fattura del.  N.");
 | 
				
			||||||
 | 
					  set_header(j, (const char *)(TString(132).fill('-')));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print_action TPrint_effetti_app::postprocess_print(int file, int counter)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    TString s;
 | 
				
			||||||
 | 
					    TPrintrow pr;
 | 
				
			||||||
 | 
					    TPrinter& p = printer(); 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     if (_tot_data != 0.0) 
 | 
				
			||||||
 | 
					      {          
 | 
				
			||||||
 | 
					         pr.put("-------------------------------------------",50);
 | 
				
			||||||
 | 
					         p.print(pr);
 | 
				
			||||||
 | 
					         pr.reset();      
 | 
				
			||||||
 | 
					         pr.put("Totale",52);   
 | 
				
			||||||
 | 
					         pr.put(_scad_prec.string(),60);  
 | 
				
			||||||
 | 
					         pr.put(_tot_data.string("###.###.##@,@@"),72);
 | 
				
			||||||
 | 
					         p.print(pr);
 | 
				
			||||||
 | 
					         _tot_data = 0.0;  
 | 
				
			||||||
 | 
					         pr.reset();                         
 | 
				
			||||||
 | 
					        }    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					       if(_tot_mese != 0.0)
 | 
				
			||||||
 | 
					       {               
 | 
				
			||||||
 | 
					              pr.put("Totale ",50);   
 | 
				
			||||||
 | 
					              pr.put(itom(_scad_prec.month()),57);  
 | 
				
			||||||
 | 
					              pr.put(_tot_mese.string("###.###.##@,@@"),72);
 | 
				
			||||||
 | 
					              p.print(pr);
 | 
				
			||||||
 | 
					              _tot_mese = 0.0;  
 | 
				
			||||||
 | 
					              pr.reset();                         
 | 
				
			||||||
 | 
					       } 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      if (_tot_banca != 0.0)
 | 
				
			||||||
 | 
					      {                            
 | 
				
			||||||
 | 
					         pr.put("Totale",50);   
 | 
				
			||||||
 | 
					         s = (look_tab("%BAN",_ban_prec));
 | 
				
			||||||
 | 
					         if (s.empty())
 | 
				
			||||||
 | 
					            s = "Nessuna Banca ";
 | 
				
			||||||
 | 
					         s = s.left(20);   
 | 
				
			||||||
 | 
					         pr.put(s,57);   
 | 
				
			||||||
 | 
					         pr.put(_tot_banca.string("###.###.##@,@@"),72);
 | 
				
			||||||
 | 
					         p.print(pr);
 | 
				
			||||||
 | 
					         _tot_banca = 0.0;  
 | 
				
			||||||
 | 
					         pr.reset();                         
 | 
				
			||||||
 | 
					      }                                
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     if (_tot_distinta != 0.0)
 | 
				
			||||||
 | 
					     {
 | 
				
			||||||
 | 
					       pr.put("Totale",50);   
 | 
				
			||||||
 | 
					       s << "Distinta " << _dist_prec;
 | 
				
			||||||
 | 
					       if (_dist_prec == 0)
 | 
				
			||||||
 | 
					            s = "Nessuna Distinta ";
 | 
				
			||||||
 | 
					       pr.put(s,57);   
 | 
				
			||||||
 | 
					       pr.put(_tot_distinta.string("###.###.##@,@@"),72);
 | 
				
			||||||
 | 
					       p.print(pr);
 | 
				
			||||||
 | 
					       _tot_distinta = 0.0;  
 | 
				
			||||||
 | 
					       pr.reset();                         
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					      if (_tot_stampa != 0.0) 
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					         pr.put("-----------------------------------------------------------------------------------------------------------------------------------",1);
 | 
				
			||||||
 | 
					         p.print(pr);
 | 
				
			||||||
 | 
					         pr.reset();      
 | 
				
			||||||
 | 
					         pr.put("Totale Ri.Ba. stampate",50);   
 | 
				
			||||||
 | 
					         pr.put(_tot_stampa.string("###.###.##@,@@"),72);
 | 
				
			||||||
 | 
					         p.print(pr);
 | 
				
			||||||
 | 
					         _tot_stampa = 0.0;  
 | 
				
			||||||
 | 
					         pr.put("-----------------------------------------------------------------------------------------------------------------------------------",1);
 | 
				
			||||||
 | 
					         p.print(pr);
 | 
				
			||||||
 | 
					         pr.reset();   
 | 
				
			||||||
 | 
					         p.print(pr);
 | 
				
			||||||
 | 
					        }    
 | 
				
			||||||
 | 
					              
 | 
				
			||||||
 | 
					  return NEXT_PAGE;                   
 | 
				
			||||||
 | 
					 }  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void  TPrint_effetti_app::set_page(int file, int counter)
 | 
				
			||||||
 | 
					{  
 | 
				
			||||||
 | 
					  switch(_pr_type)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    case scadenza:
 | 
				
			||||||
 | 
					      if (file == LF_EFFETTI)
 | 
				
			||||||
 | 
					        set_scadenza();
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    case banca:
 | 
				
			||||||
 | 
					      if (file == LF_EFFETTI)
 | 
				
			||||||
 | 
					        set_banca();
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    case distinta:
 | 
				
			||||||
 | 
					      if (file == LF_EFFETTI)
 | 
				
			||||||
 | 
					        set_distinta();
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    default:
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TPrint_effetti_app::set_scadenza()
 | 
				
			||||||
 | 
					{                        
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  set_row(1,"@1g@s@13g#t@26g#t@50g@pn@59g@pn@72g@pn@88g#t@95g@pn@103g@s@111g@s@121g@pn",
 | 
				
			||||||
 | 
					                  FLD(LF_EFFETTI, EFF_DATASCAD),
 | 
				
			||||||
 | 
					                  &_ban,
 | 
				
			||||||
 | 
					                  &_cli,
 | 
				
			||||||
 | 
					                  FLD(LF_EFFETTI, EFF_NPROGTR, "#####@"),
 | 
				
			||||||
 | 
					                  FLD(LF_EFFETTI, EFF_NDIST, "#######@"),
 | 
				
			||||||
 | 
					                  FLD(LF_EFFETTI, EFF_IMPORTO, "###.###.##@,@@"),
 | 
				
			||||||
 | 
					                  &_val,
 | 
				
			||||||
 | 
					                  FLD(LF_REFFETTI, REFF_NRATA,"##@"),
 | 
				
			||||||
 | 
					                  FLD(LF_EFFETTI, EFF_EFFSTAMP),
 | 
				
			||||||
 | 
					                  FLD(LF_REFFETTI, REFF_DATAFATT),
 | 
				
			||||||
 | 
					                  FLD(LF_REFFETTI, REFF_NFATT,"######@"));
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   for( i = 0; i < _interline; i++)    set_row(i+1," ");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TPrint_effetti_app::set_banca()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    set_row(1,"@1g#t@14g@s@26g#t@54g@pn@63g@pn@72g@pn@91g#t@98g@pn@106g@s@114g@s@124g@pn",
 | 
				
			||||||
 | 
					                  &_ban,
 | 
				
			||||||
 | 
					                  FLD(LF_EFFETTI, EFF_DATASCAD),
 | 
				
			||||||
 | 
					                  &_cli,
 | 
				
			||||||
 | 
					                  FLD(LF_EFFETTI, EFF_NPROGTR, "#####@"),
 | 
				
			||||||
 | 
					                  FLD(LF_EFFETTI, EFF_NDIST, "#######@"),
 | 
				
			||||||
 | 
					                  FLD(LF_EFFETTI, EFF_IMPORTO, "###.###.##@,@@"),
 | 
				
			||||||
 | 
					                  &_val,
 | 
				
			||||||
 | 
					                  FLD(LF_REFFETTI, REFF_NRATA,"##@"),
 | 
				
			||||||
 | 
					                  FLD(LF_EFFETTI, EFF_EFFSTAMP),
 | 
				
			||||||
 | 
					                  FLD(LF_REFFETTI, REFF_DATAFATT),
 | 
				
			||||||
 | 
					                  FLD(LF_REFFETTI, REFF_NFATT, "######@"));
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   for( i = 0; i < _interline; i++)    set_row(i+1,"");   
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TPrint_effetti_app::set_distinta()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    set_row(1,"@3g@s@5g@pn@16g@pn@27g@s@41g#t@55g#t@72g@pn@91g#t@98g@pn@106g@s@114g@s@124g@pn",
 | 
				
			||||||
 | 
					                  FLD(LF_EFFETTI, EFF_TIPODIST),
 | 
				
			||||||
 | 
					                  FLD(LF_EFFETTI, EFF_NDIST, "#######@"),
 | 
				
			||||||
 | 
					                  FLD(LF_EFFETTI, EFF_NPROGTR, "#####@"),
 | 
				
			||||||
 | 
					                  FLD(LF_EFFETTI, EFF_DATASCAD),
 | 
				
			||||||
 | 
					                  &_ban,
 | 
				
			||||||
 | 
					                  &_cli,
 | 
				
			||||||
 | 
					                  FLD(LF_EFFETTI, EFF_IMPORTO, "###.###.##@,@@"),
 | 
				
			||||||
 | 
					                  &_val,
 | 
				
			||||||
 | 
					                  FLD(LF_REFFETTI, REFF_NRATA,"##@"),
 | 
				
			||||||
 | 
					                  FLD(LF_EFFETTI, EFF_EFFSTAMP),
 | 
				
			||||||
 | 
					                  FLD(LF_REFFETTI, REFF_DATAFATT),
 | 
				
			||||||
 | 
					                  FLD(LF_REFFETTI, REFF_NFATT, "######@"));
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					    for( i = 0; i < _interline; i++)    set_row(i+1,"");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					bool  TPrint_effetti_app::preprocess_page(int file, int counter)
 | 
				
			||||||
 | 
					   // no switch/case su file poichè c'è solo quello degli effetti
 | 
				
			||||||
 | 
					{                                                   
 | 
				
			||||||
 | 
					    TString s;
 | 
				
			||||||
 | 
					    TRectype & rec = current_cursor()->curr(); 
 | 
				
			||||||
 | 
					    TDate  scad = rec.get_date (EFF_DATASCAD);
 | 
				
			||||||
 | 
					     TString  ban = rec.get (EFF_CODABIP);
 | 
				
			||||||
 | 
					     if (ban=="00000") 
 | 
				
			||||||
 | 
					                   ban = ""; 
 | 
				
			||||||
 | 
					    long  dist = rec.get_long (EFF_NDIST);
 | 
				
			||||||
 | 
					    char tipodist = rec.get_char(EFF_TIPODIST);
 | 
				
			||||||
 | 
					    real importo =  rec.get_real(EFF_IMPORTO);
 | 
				
			||||||
 | 
					    TString year;
 | 
				
			||||||
 | 
					    TPrintrow pr;
 | 
				
			||||||
 | 
					    TPrinter& p = printer(); 
 | 
				
			||||||
 | 
					           
 | 
				
			||||||
 | 
					     if (_prima_volta)
 | 
				
			||||||
 | 
					     {                            
 | 
				
			||||||
 | 
					         _prima_volta = FALSE;    
 | 
				
			||||||
 | 
					         switch(_pr_type)
 | 
				
			||||||
 | 
					         {
 | 
				
			||||||
 | 
					            case scadenza:
 | 
				
			||||||
 | 
					              _scad_prec = scad;      
 | 
				
			||||||
 | 
					              year =  _scad_prec.string();
 | 
				
			||||||
 | 
					              year = year.right(4);
 | 
				
			||||||
 | 
					              pr.put(itom(_scad_prec.month()),1);   
 | 
				
			||||||
 | 
					              pr.put(year,10); 
 | 
				
			||||||
 | 
					              p.print(pr);          
 | 
				
			||||||
 | 
					              pr.reset();
 | 
				
			||||||
 | 
					              p.print(pr);   
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					            case banca:              
 | 
				
			||||||
 | 
					             _scad_prec = scad; 
 | 
				
			||||||
 | 
					             _ban_prec = ban;              
 | 
				
			||||||
 | 
					             s = (look_tab("%BAN",_ban_prec));
 | 
				
			||||||
 | 
					             if (s.empty())
 | 
				
			||||||
 | 
					                s = "Nessuna Banca di Presentazione";
 | 
				
			||||||
 | 
					             pr.put(s,1);   
 | 
				
			||||||
 | 
					             p.print(pr);          
 | 
				
			||||||
 | 
					             pr.reset();
 | 
				
			||||||
 | 
					             p.print(pr);   
 | 
				
			||||||
 | 
					             break;
 | 
				
			||||||
 | 
					            case distinta:
 | 
				
			||||||
 | 
					              _scad_prec = scad; 
 | 
				
			||||||
 | 
					              _dist_prec = dist; 
 | 
				
			||||||
 | 
					              s << "Distinta " << dist << " ";
 | 
				
			||||||
 | 
					              switch(tipodist)
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                  case 'B':
 | 
				
			||||||
 | 
					                    s << " Salvo Buon Fine";
 | 
				
			||||||
 | 
					                    break;
 | 
				
			||||||
 | 
					                  case 'I':     
 | 
				
			||||||
 | 
					                    s << " All'Incasso";
 | 
				
			||||||
 | 
					                    break;
 | 
				
			||||||
 | 
					                  case 'S': 
 | 
				
			||||||
 | 
					                    s << " Allo Sconto";
 | 
				
			||||||
 | 
					                    break;                  
 | 
				
			||||||
 | 
					                   case 0:
 | 
				
			||||||
 | 
					                    s = "Nessuna Distinta";
 | 
				
			||||||
 | 
					                    break; 
 | 
				
			||||||
 | 
					               }                                       
 | 
				
			||||||
 | 
					             pr.put(s,1);          
 | 
				
			||||||
 | 
					             p.print(pr);          
 | 
				
			||||||
 | 
					             pr.reset();
 | 
				
			||||||
 | 
					             p.print(pr);   
 | 
				
			||||||
 | 
					             s = "";
 | 
				
			||||||
 | 
					             break;
 | 
				
			||||||
 | 
					         } 
 | 
				
			||||||
 | 
					     } 
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					       if (scad !=_scad_prec) 
 | 
				
			||||||
 | 
					       {                                
 | 
				
			||||||
 | 
					               pr.put("-------------------------------------------",50);
 | 
				
			||||||
 | 
					               p.print(pr);
 | 
				
			||||||
 | 
					               pr.reset();      
 | 
				
			||||||
 | 
					               pr.put("Totale",52);   
 | 
				
			||||||
 | 
					               pr.put(_scad_prec.string(),60);  
 | 
				
			||||||
 | 
					               pr.put(_tot_data.string("###.###.##@,@@"),72);
 | 
				
			||||||
 | 
					               p.print(pr);
 | 
				
			||||||
 | 
					               _tot_data = 0.0;  
 | 
				
			||||||
 | 
					               pr.reset();                         
 | 
				
			||||||
 | 
					               
 | 
				
			||||||
 | 
					               if((scad.month() != _scad_prec.month())&&_pr_type == scadenza)
 | 
				
			||||||
 | 
					              {           
 | 
				
			||||||
 | 
					                     pr.put("Totale ",50);   
 | 
				
			||||||
 | 
					                     pr.put(itom(_scad_prec.month()),57);  
 | 
				
			||||||
 | 
					                     pr.put(_tot_mese.string("###.###.##@,@@"),72);
 | 
				
			||||||
 | 
					                     p.print(pr);
 | 
				
			||||||
 | 
					                     _tot_mese = 0.0;  
 | 
				
			||||||
 | 
					                     pr.reset();                         
 | 
				
			||||||
 | 
					                     p.print(pr);
 | 
				
			||||||
 | 
					                    
 | 
				
			||||||
 | 
					                     year =  scad.string();
 | 
				
			||||||
 | 
					                     year = year.right(4);
 | 
				
			||||||
 | 
					                     pr.put(itom(scad.month()),1);
 | 
				
			||||||
 | 
					                     pr.put(year,10); 
 | 
				
			||||||
 | 
					                     p.print(pr);          
 | 
				
			||||||
 | 
					                     pr.reset();
 | 
				
			||||||
 | 
					                     p.print(pr); 
 | 
				
			||||||
 | 
					              }     
 | 
				
			||||||
 | 
					       }    
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					      switch(_pr_type)
 | 
				
			||||||
 | 
					      {       
 | 
				
			||||||
 | 
					          case scadenza:
 | 
				
			||||||
 | 
					              _tot_mese += importo; 
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					          case banca: 
 | 
				
			||||||
 | 
					               if (ban !=_ban_prec) 
 | 
				
			||||||
 | 
					              {                                
 | 
				
			||||||
 | 
					                   pr.put("Totale",50);   
 | 
				
			||||||
 | 
					                   s = (look_tab("%BAN",_ban_prec));
 | 
				
			||||||
 | 
					                   if (s.empty())
 | 
				
			||||||
 | 
					                      s = "Nessuna Banca ";
 | 
				
			||||||
 | 
					                   s = s.left(20);   
 | 
				
			||||||
 | 
					                   pr.put(s,57);   
 | 
				
			||||||
 | 
					                   pr.put(_tot_banca.string("###.###.##@,@@"),72);
 | 
				
			||||||
 | 
					                   p.print(pr);
 | 
				
			||||||
 | 
					                   _tot_banca = 0.0;  
 | 
				
			||||||
 | 
					                   pr.reset();                         
 | 
				
			||||||
 | 
					                   p.print(pr);  
 | 
				
			||||||
 | 
					                   _ban_prec = ban;                   
 | 
				
			||||||
 | 
					                   s = (look_tab("%BAN",ban));
 | 
				
			||||||
 | 
					                   if (s.empty())
 | 
				
			||||||
 | 
					                   s = "Nessuna Banca di Presentazione";
 | 
				
			||||||
 | 
					                   pr.put(s,1);   
 | 
				
			||||||
 | 
					                   p.print(pr);          
 | 
				
			||||||
 | 
					                   pr.reset();
 | 
				
			||||||
 | 
					                   p.print(pr); 
 | 
				
			||||||
 | 
					              } 
 | 
				
			||||||
 | 
					              _tot_banca += importo;
 | 
				
			||||||
 | 
					              break;    
 | 
				
			||||||
 | 
					              
 | 
				
			||||||
 | 
					            case distinta:  
 | 
				
			||||||
 | 
					               if (dist !=_dist_prec) 
 | 
				
			||||||
 | 
					              {                                
 | 
				
			||||||
 | 
					                   pr.put("Totale",50);   
 | 
				
			||||||
 | 
					                   s << "Distinta "  << _dist_prec;
 | 
				
			||||||
 | 
					                   if (_dist_prec == 0)
 | 
				
			||||||
 | 
					                      s = "Nessuna Distinta";
 | 
				
			||||||
 | 
					                   pr.put(s,57);   
 | 
				
			||||||
 | 
					                   pr.put(_tot_distinta.string("###.###.##@,@@"),72);
 | 
				
			||||||
 | 
					                   p.print(pr);
 | 
				
			||||||
 | 
					                   _tot_distinta = 0.0;  
 | 
				
			||||||
 | 
					                   pr.reset();                         
 | 
				
			||||||
 | 
					                   p.print(pr);  
 | 
				
			||||||
 | 
					                   _dist_prec = dist;                    
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					                  s = ""; 
 | 
				
			||||||
 | 
					                  s << "Distinta " << dist << " ";
 | 
				
			||||||
 | 
					                  switch(tipodist)
 | 
				
			||||||
 | 
					                  {
 | 
				
			||||||
 | 
					                      case 'B':
 | 
				
			||||||
 | 
					                        s <<" Salvo Buon Fine";
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                      case 'I':     
 | 
				
			||||||
 | 
					                        s << " All'Incasso";
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                      case 'S': 
 | 
				
			||||||
 | 
					                        s << " Allo Sconto";
 | 
				
			||||||
 | 
					                        break;                  
 | 
				
			||||||
 | 
					                       case 0:
 | 
				
			||||||
 | 
					                        s = "Nessuna Distinta ";
 | 
				
			||||||
 | 
					                        break; 
 | 
				
			||||||
 | 
					                   }                                       
 | 
				
			||||||
 | 
					                   pr.put(s,1);          
 | 
				
			||||||
 | 
					                   p.print(pr);          
 | 
				
			||||||
 | 
					                   pr.reset();
 | 
				
			||||||
 | 
					                   p.print(pr); 
 | 
				
			||||||
 | 
					                   s = "";
 | 
				
			||||||
 | 
					              } 
 | 
				
			||||||
 | 
					               _tot_distinta += importo;
 | 
				
			||||||
 | 
					               break;  
 | 
				
			||||||
 | 
					       } 
 | 
				
			||||||
 | 
					       
 | 
				
			||||||
 | 
					        _scad_prec = scad;
 | 
				
			||||||
 | 
					        _tot_data += importo;
 | 
				
			||||||
 | 
					        _tot_stampa += importo ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					       _ban = get_field(LF_EFFETTI, EFF_CODABIP);
 | 
				
			||||||
 | 
					       if (_ban=="00000") 
 | 
				
			||||||
 | 
					          _ban = "";             
 | 
				
			||||||
 | 
					       s =   get_field(LF_EFFETTI, EFF_CODCABP);
 | 
				
			||||||
 | 
					       if (s=="00000") 
 | 
				
			||||||
 | 
					          s = "";                  
 | 
				
			||||||
 | 
					       _ban << " " << s;                                
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      s =   get_field(LF_EFFETTI, EFF_CODCF);
 | 
				
			||||||
 | 
					      _cli =  get_field(LF_CLIFO, CLI_RAGSOC);
 | 
				
			||||||
 | 
					      s = _cli.mid(30,50); s.trim();
 | 
				
			||||||
 | 
					      _cli = _cli.mid(0,30); _cli.trim();
 | 
				
			||||||
 | 
					      _cli << " " << s;
 | 
				
			||||||
 | 
					             
 | 
				
			||||||
 | 
					      s = get_field(LF_EFFETTI, EFF_CODVAL);  
 | 
				
			||||||
 | 
					      (s.empty())?_val = s:_val = "Lit.";
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					      return TRUE;  
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					bool TPrint_effetti_app::preprocess_print(int file, int counter)
 | 
				
			||||||
 | 
					{    
 | 
				
			||||||
 | 
					  reset_print();     
 | 
				
			||||||
 | 
					 return TRUE;
 | 
				
			||||||
 | 
					} 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const char* TPrint_effetti_app::look_tab(const char* tabname, TString& cod,const char* fld)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  TTable tab(tabname);
 | 
				
			||||||
 | 
					  tab.curr().zero();
 | 
				
			||||||
 | 
					  tab.curr().put("CODTAB",cod);
 | 
				
			||||||
 | 
					  tab.read();
 | 
				
			||||||
 | 
					  if (tab.bad()) tab.curr().zero();
 | 
				
			||||||
 | 
					  return tab.curr().get(fld);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					bool  TPrint_effetti_app::set_print(int)
 | 
				
			||||||
 | 
					{                                                
 | 
				
			||||||
 | 
					  disable_links();
 | 
				
			||||||
 | 
					  set_multiple_link(FALSE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  TMask mask("ef0600a.msk");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  mask.run();
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  force_setpage(FALSE);
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  switch (mask.last_key())
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    case K_ESC: 
 | 
				
			||||||
 | 
					    case K_QUIT:
 | 
				
			||||||
 | 
					      return FALSE;
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					   }                      
 | 
				
			||||||
 | 
					   
 | 
				
			||||||
 | 
					  _pr_type     = (pt) mask.get_int(RDB_TIPOST);
 | 
				
			||||||
 | 
					  TDate data_stampa (mask.get(F_DATA_STAMPA));     
 | 
				
			||||||
 | 
					  _data_stampa = data_stampa.string();
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					  TRectype from(current_cursor()->curr());
 | 
				
			||||||
 | 
					  from.zero();
 | 
				
			||||||
 | 
					  TRectype to(from);  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 TString cod_from, cod_to, filter;  
 | 
				
			||||||
 | 
					 filter = "";
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  switch(_pr_type)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    case scadenza: 
 | 
				
			||||||
 | 
					      cod_from = mask.get(F_DA_DATA);
 | 
				
			||||||
 | 
					      cod_to = mask.get(F_A_DATA);  
 | 
				
			||||||
 | 
					      from.put(EFF_DATASCAD,cod_from);
 | 
				
			||||||
 | 
					      to.put(EFF_DATASCAD,cod_to); 
 | 
				
			||||||
 | 
					      select_cursor(_cur_1);    
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    case banca:
 | 
				
			||||||
 | 
					      cod_from = mask.get(F_DA_DATA2);
 | 
				
			||||||
 | 
					      cod_to = mask.get(F_A_DATA2);  
 | 
				
			||||||
 | 
					      from.put(EFF_DATASCAD,cod_from);
 | 
				
			||||||
 | 
					      to.put(EFF_DATASCAD,cod_to); 
 | 
				
			||||||
 | 
					      cod_from = mask.get(F_DABAN);
 | 
				
			||||||
 | 
					      cod_to = mask.get(F_ABAN);
 | 
				
			||||||
 | 
					      if (cod_from.empty()) cod_from = "00000"; // per selezionare tutte 
 | 
				
			||||||
 | 
					      if (cod_to.empty())     cod_to = "99999";     //  le banche di presentazione
 | 
				
			||||||
 | 
					      filter = "";
 | 
				
			||||||
 | 
					      filter << "(CODABIP>=" << cod_from << ")&&(CODABIP<=" << cod_to << ")" ;
 | 
				
			||||||
 | 
					      select_cursor(_cur_2);
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
 | 
					     
 | 
				
			||||||
 | 
					    case distinta:
 | 
				
			||||||
 | 
					     cod_from = mask.get(F_DA_DATA3);
 | 
				
			||||||
 | 
					     cod_to = mask.get(F_A_DATA3);    
 | 
				
			||||||
 | 
					     from.put(EFF_DATASCAD,cod_from);
 | 
				
			||||||
 | 
					     to.put(EFF_DATASCAD,cod_to); 
 | 
				
			||||||
 | 
					     cod_from = mask.get(F_DADIST);
 | 
				
			||||||
 | 
					     cod_to = mask.get(F_ADIST);        
 | 
				
			||||||
 | 
					     if (cod_from.empty()) cod_from = "00000000"; // per selezionare tutte
 | 
				
			||||||
 | 
					     if (cod_to.empty())     cod_to = "99999999";     // le distinte
 | 
				
			||||||
 | 
					     filter = "";
 | 
				
			||||||
 | 
					     filter << "(NDIST>=" << cod_from << ") && (NDIST<=" << cod_to << ")" ;
 | 
				
			||||||
 | 
					     cod_from = mask.get(F_DATIPODIST);
 | 
				
			||||||
 | 
					     cod_to = mask.get(F_ATIPODIST);     
 | 
				
			||||||
 | 
					     if ((!cod_from.empty())&&(!cod_to.empty())&&(cod_from==cod_to))     // per selezionare un tipo 
 | 
				
			||||||
 | 
					        filter << "&&(TIPODIST==\"" << cod_from << "\")";                          //   di distinta
 | 
				
			||||||
 | 
					     select_cursor(_cur_3);    
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    default:
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					  current_cursor()->setfilter(filter,TRUE); 
 | 
				
			||||||
 | 
					  current_cursor()->setregion(from, to);
 | 
				
			||||||
 | 
					                                                   
 | 
				
			||||||
 | 
					  set_real_picture("###.###.##@,@@");  
 | 
				
			||||||
 | 
					  _prima_volta=TRUE;
 | 
				
			||||||
 | 
					  return TRUE; 
 | 
				
			||||||
 | 
					}  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool TPrint_effetti_app::user_create()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  _rel    = new TRelation(LF_EFFETTI);   
 | 
				
			||||||
 | 
					  _rel->add(LF_REFFETTI, "NPROGTR==NPROGTR");
 | 
				
			||||||
 | 
					  _rel->add(LF_CLIFO, "TIPOCF=='C'|CODCF==CODCF");
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  _cur_1 = add_cursor(new TCursor(_rel,"",3));//STAMPA PER SCADENZA
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  TString ordine  = "CODABIP|DATASCAD|NPROGTR";//STAMPA PER BANCA
 | 
				
			||||||
 | 
					  _cur_2 = add_cursor(new TSorted_cursor(_rel,ordine,"",3));  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ordine  = "TIPODIST|NDIST|NRIGADIST|DATASCAD|NPROGTR";//STAMPA PER DISTINTA 
 | 
				
			||||||
 | 
					  _cur_3 = add_cursor(new TSorted_cursor(_rel,ordine,"",3));
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  add_file(LF_EFFETTI);
 | 
				
			||||||
 | 
					  enable_print_menu();
 | 
				
			||||||
 | 
					  return TRUE;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool TPrint_effetti_app::user_destroy()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  if (_rel) 
 | 
				
			||||||
 | 
					    delete _rel;
 | 
				
			||||||
 | 
					  return TRUE;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int ef0600(int argc, char* argv[])
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  TPrint_effetti_app app;
 | 
				
			||||||
 | 
					  app.run(argc, argv, "Stampe Controllo Effetti");    
 | 
				
			||||||
 | 
					  return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										22
									
								
								ef/ef0600.h
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										22
									
								
								ef/ef0600.h
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					#ifndef __EF0600_H
 | 
				
			||||||
 | 
					#define __EF0600_H  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//      campi maschera ef0600a.uml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define F_DATA_STAMPA                          101
 | 
				
			||||||
 | 
					#define RDB_TIPOST                                   102
 | 
				
			||||||
 | 
					#define F_DA_DATA                                    103
 | 
				
			||||||
 | 
					#define F_A_DATA                                       104 
 | 
				
			||||||
 | 
					#define F_DABAN                                        105
 | 
				
			||||||
 | 
					#define F_ABAN                                           106
 | 
				
			||||||
 | 
					#define F_DA_DATA2                                 107
 | 
				
			||||||
 | 
					#define F_A_DATA2                                    108 
 | 
				
			||||||
 | 
					#define F_NUMBERRIGA                           109
 | 
				
			||||||
 | 
					#define F_DATIPODIST                               110 
 | 
				
			||||||
 | 
					#define F_DADIST                                        111
 | 
				
			||||||
 | 
					#define F_ATIPODIST                                  112 
 | 
				
			||||||
 | 
					#define F_ADIST                                           113
 | 
				
			||||||
 | 
					#define F_DA_DATA3                                 114
 | 
				
			||||||
 | 
					#define F_A_DATA3                                    115
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										208
									
								
								ef/ef0600a.uml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										208
									
								
								ef/ef0600a.uml
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,208 @@
 | 
				
			|||||||
 | 
					#include "ef0600.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PAGE "Stampe di Controllo Effetti" -1 -1 60 13
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DATE F_DATA_STAMPA
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					  PROMPT 30 1 "Data di stampa "  
 | 
				
			||||||
 | 
					  FLAGS "A"
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RADIOBUTTON RDB_TIPOST 24
 | 
				
			||||||
 | 
					BEGIN        
 | 
				
			||||||
 | 
					  PROMPT 2 1 "Stampa per "
 | 
				
			||||||
 | 
					  ITEM "1|Scadenza"
 | 
				
			||||||
 | 
					  MESSAGE SHOW,1@|HIDE,2@|HIDE,3@
 | 
				
			||||||
 | 
					  ITEM "2|Banca"
 | 
				
			||||||
 | 
					  MESSAGE SHOW,2@|HIDE,1@|HIDE,3@
 | 
				
			||||||
 | 
					  ITEM "3|Distinta"
 | 
				
			||||||
 | 
					  MESSAGE SHOW,3@|HIDE,1@|HIDE,2@
 | 
				
			||||||
 | 
					END                         
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GROUPBOX DLG_NULL 55 3
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					  PROMPT 1 6 "Stampa effetti per Data di scadenza"
 | 
				
			||||||
 | 
					  GROUP 1
 | 
				
			||||||
 | 
					END 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DATA F_DA_DATA
 | 
				
			||||||
 | 
					BEGIN      
 | 
				
			||||||
 | 
					  PROMPT 2 7 "Dalla Data  "   
 | 
				
			||||||
 | 
					  GROUP 1 
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DATA F_A_DATA
 | 
				
			||||||
 | 
					BEGIN         
 | 
				
			||||||
 | 
					  PROMPT 30 7 "Alla Data  "
 | 
				
			||||||
 | 
					  GROUP 1                                          
 | 
				
			||||||
 | 
					  VALIDATE DATE_CMP_FUNC >= F_DA_DATA
 | 
				
			||||||
 | 
					  WARNING "Data limite superiore  non valida"
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GROUPBOX DLG_NULL 55 4
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					  PROMPT 1 6 "Stampa effetti per Banca di presentazione"
 | 
				
			||||||
 | 
					  GROUP 2
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					   
 | 
				
			||||||
 | 
					NUMBER F_DABAN 5
 | 
				
			||||||
 | 
					BEGIN        
 | 
				
			||||||
 | 
					  PROMPT 2  7 "Dalla Banca "
 | 
				
			||||||
 | 
					  FLAGS "RZ" 
 | 
				
			||||||
 | 
					  GROUP 2
 | 
				
			||||||
 | 
					  USE %BAN KEY 1 SELECT CODTAB ?= "?????" 
 | 
				
			||||||
 | 
					  INPUT CODTAB F_DABAN
 | 
				
			||||||
 | 
					  DISPLAY "Codice ABI" CODTAB[1,5]
 | 
				
			||||||
 | 
					  DISPLAY "Denominazione@50" S0
 | 
				
			||||||
 | 
					  OUTPUT F_DABAN CODTAB[1,5]
 | 
				
			||||||
 | 
					  CHECKTYPE NORMAL
 | 
				
			||||||
 | 
					END     
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					NUMBER F_ABAN 5
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					  PROMPT 30 7 "Alla Banca "
 | 
				
			||||||
 | 
					  FLAGS "RZ"
 | 
				
			||||||
 | 
					  GROUP 2
 | 
				
			||||||
 | 
					  USE %BAN KEY 1 SELECT CODTAB ?= "?????" 
 | 
				
			||||||
 | 
					  INPUT CODTAB F_ABAN
 | 
				
			||||||
 | 
					  DISPLAY "Codice ABI" CODTAB[1,5]
 | 
				
			||||||
 | 
					  DISPLAY "Denominazione@50" S0
 | 
				
			||||||
 | 
					  OUTPUT F_ABAN CODTAB[1,5]  
 | 
				
			||||||
 | 
					  CHECKTYPE NORMAL
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DATA F_DA_DATA2
 | 
				
			||||||
 | 
					BEGIN      
 | 
				
			||||||
 | 
					  PROMPT 2 8 "Dalla Data  "
 | 
				
			||||||
 | 
					  GROUP 2
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DATA F_A_DATA2
 | 
				
			||||||
 | 
					BEGIN         
 | 
				
			||||||
 | 
					  PROMPT 30 8 "Alla Data  "
 | 
				
			||||||
 | 
					  GROUP 2                
 | 
				
			||||||
 | 
					  VALIDATE DATE_CMP_FUNC >= F_DA_DATA2
 | 
				
			||||||
 | 
					  WARNING "Data limite superiore  non valida"
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GROUPBOX DLG_NULL 55 6
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					  PROMPT 1 6 "Stampa effetti per Distinta"
 | 
				
			||||||
 | 
					  GROUP 3
 | 
				
			||||||
 | 
					END 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					LIST F_NUMBERRIGA 10 
 | 
				
			||||||
 | 
					BEGIN         
 | 
				
			||||||
 | 
					  PROMPT 1 60 "Numero Riga Distinta "
 | 
				
			||||||
 | 
					  KEY 4     
 | 
				
			||||||
 | 
					  GROUP 3
 | 
				
			||||||
 | 
					  ITEM "1|PRIMA RIGA"  
 | 
				
			||||||
 | 
					  FLAGS "D"            
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEXT DLG_NULL
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					PROMPT 2 7 "Dalla Distinta "
 | 
				
			||||||
 | 
					GROUP 3
 | 
				
			||||||
 | 
					END                   
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					LIST F_DATIPODIST 19
 | 
				
			||||||
 | 
					BEGIN       
 | 
				
			||||||
 | 
					  PROMPT 4 8 " "
 | 
				
			||||||
 | 
					  KEY 4
 | 
				
			||||||
 | 
					  GROUP 3
 | 
				
			||||||
 | 
					  ITEM " |** Nessuno **"
 | 
				
			||||||
 | 
					  ITEM "I|All'incasso"
 | 
				
			||||||
 | 
					  ITEM "B|Salvo buon fine"
 | 
				
			||||||
 | 
					  ITEM "S|Allo sconto"
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					NUMBER F_DADIST 7 
 | 
				
			||||||
 | 
					BEGIN            
 | 
				
			||||||
 | 
					  PROMPT 4 9 " "          
 | 
				
			||||||
 | 
					  FLAGS "R"   
 | 
				
			||||||
 | 
					  GROUP 3
 | 
				
			||||||
 | 
					  KEY 4
 | 
				
			||||||
 | 
					  USE LF_EFFETTI KEY 4 SELECT NRIGADIST = 1
 | 
				
			||||||
 | 
					  INPUT NDIST F_DADIST   
 | 
				
			||||||
 | 
					  INPUT TIPODIST F_DATIPODIST
 | 
				
			||||||
 | 
					  INPUT NRIGADIST F_NUMBERRIGA
 | 
				
			||||||
 | 
					  DISPLAY "Nr. distinta" NDIST
 | 
				
			||||||
 | 
					  DISPLAY "Tipo distinta" TIPODIST
 | 
				
			||||||
 | 
					  OUTPUT F_DADIST NDIST
 | 
				
			||||||
 | 
					  OUTPUT F_DATIPODIST TIPODIST 
 | 
				
			||||||
 | 
					  OUTPUT F_NUMBERRIGA NRIGADIST
 | 
				
			||||||
 | 
					  CHECKTYPE NORMAL    
 | 
				
			||||||
 | 
					END     
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEXT DLG_NULL
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					 PROMPT 30 7 "Alla Distinta "
 | 
				
			||||||
 | 
					 GROUP 3
 | 
				
			||||||
 | 
					END                   
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					LIST F_ATIPODIST 19
 | 
				
			||||||
 | 
					BEGIN       
 | 
				
			||||||
 | 
					  PROMPT 31 8 " "
 | 
				
			||||||
 | 
					  GROUP 3
 | 
				
			||||||
 | 
					  KEY 4                                         
 | 
				
			||||||
 | 
					  ITEM " |** Nessuno **"
 | 
				
			||||||
 | 
					  ITEM "I|All'incasso"
 | 
				
			||||||
 | 
					  ITEM "B|Salvo buon fine"
 | 
				
			||||||
 | 
					  ITEM "S|Allo sconto"
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					NUMBER F_ADIST 7 
 | 
				
			||||||
 | 
					BEGIN            
 | 
				
			||||||
 | 
					  PROMPT 31 9 " "
 | 
				
			||||||
 | 
					  FLAGS "R"
 | 
				
			||||||
 | 
					  KEY 4
 | 
				
			||||||
 | 
					  GROUP 3
 | 
				
			||||||
 | 
					  USE LF_EFFETTI KEY 4 SELECT NRIGADIST = 1
 | 
				
			||||||
 | 
					  INPUT NDIST F_ADIST   
 | 
				
			||||||
 | 
					  INPUT TIPODIST F_ATIPODIST
 | 
				
			||||||
 | 
					  INPUT NRIGADIST F_NUMBERRIGA
 | 
				
			||||||
 | 
					  DISPLAY "Nr. distinta" NDIST
 | 
				
			||||||
 | 
					  DISPLAY "Tipo distinta" TIPODIST
 | 
				
			||||||
 | 
					  OUTPUT F_ADIST NDIST
 | 
				
			||||||
 | 
					  OUTPUT F_ATIPODIST TIPODIST 
 | 
				
			||||||
 | 
					  OUTPUT F_NUMBERRIGA NRIGADIST    
 | 
				
			||||||
 | 
					  CHECKTYPE NORMAL
 | 
				
			||||||
 | 
					  //NUM_EXPR  {#THIS_FIELD>=#F_DADIST}
 | 
				
			||||||
 | 
					  //WARNING "Limite superiore  non valido"
 | 
				
			||||||
 | 
					END 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DATA F_DA_DATA3
 | 
				
			||||||
 | 
					BEGIN      
 | 
				
			||||||
 | 
					  PROMPT 2 10 "Dalla Data  "
 | 
				
			||||||
 | 
					  GROUP 3
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DATA F_A_DATA3
 | 
				
			||||||
 | 
					BEGIN         
 | 
				
			||||||
 | 
					  PROMPT 30 10 "Alla Data  "
 | 
				
			||||||
 | 
					  GROUP 3
 | 
				
			||||||
 | 
					  VALIDATE DATE_CMP_FUNC >= F_DA_DATA3
 | 
				
			||||||
 | 
					  WARNING "Data limite superiore  non valida"    
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BUTTON DLG_OK 9 2
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					  PROMPT -13 -1 ""
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BUTTON DLG_CANCEL 9 2
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					  PROMPT -23 -1 ""
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BUTTON DLG_QUIT 9 2
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					  PROMPT -33 -1 ""
 | 
				
			||||||
 | 
					END 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENDPAGE
 | 
				
			||||||
 | 
					ENDMASK
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user