Ripristino liquidazione
git-svn-id: svn://10.65.10.50/trunk@937 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									ea3486013f
								
							
						
					
					
						commit
						d213fb20d1
					
				
							
								
								
									
										298
									
								
								cg/cg5600.cpp
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										298
									
								
								cg/cg5600.cpp
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,298 @@
 | 
				
			|||||||
 | 
					#include <applicat.h>
 | 
				
			||||||
 | 
					#include <tabutil.h>
 | 
				
			||||||
 | 
					#include <mask.h>                     
 | 
				
			||||||
 | 
					#include <prefix.h>
 | 
				
			||||||
 | 
					#include <sheet.h>
 | 
				
			||||||
 | 
					#include <relation.h>
 | 
				
			||||||
 | 
					#include <urldefid.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define F_YEAR      101
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ripristino liquidazione  
 | 
				
			||||||
 | 
					// dati anno e ditta scancella tutte
 | 
				
			||||||
 | 
					// le tabelle dimmerda  
 | 
				
			||||||
 | 
					// piu' che altro serve alla Prassi 
 | 
				
			||||||
 | 
					// per non far cazzate quando provano
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class TRipristino_liq : public TApplication
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  long          _firm;
 | 
				
			||||||
 | 
					  TString       _year;
 | 
				
			||||||
 | 
					  TRelation*    _nditte;
 | 
				
			||||||
 | 
					  TArray_sheet* _ditte;
 | 
				
			||||||
 | 
					  TArray        _nomiditte;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  virtual bool create();
 | 
				
			||||||
 | 
					  bool menu(MENU_TAG) { return do_restore(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // handuler 
 | 
				
			||||||
 | 
					  static bool ch_year_handler(TMask_field& f, KEY key);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public: 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void          build_ditte_sheet();
 | 
				
			||||||
 | 
					  void          build_nomiditte();
 | 
				
			||||||
 | 
					  void          set_year(const char* y) { _year = y; }                                                             
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  bool          do_restore(); 
 | 
				
			||||||
 | 
					  bool          restore_firm(long firm);                             
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  static TRipristino_liq& app() { return (TRipristino_liq&)main_app(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  TRipristino_liq() {} 
 | 
				
			||||||
 | 
					  virtual ~TRipristino_liq() {}
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool TRipristino_liq::ch_year_handler(TMask_field& f, KEY key)
 | 
				
			||||||
 | 
					{                                                    
 | 
				
			||||||
 | 
					  if (key == K_TAB && f.focusdirty())
 | 
				
			||||||
 | 
					  {                         
 | 
				
			||||||
 | 
					    app().begin_wait();
 | 
				
			||||||
 | 
					    app().set_year(f.get());
 | 
				
			||||||
 | 
					    app().build_nomiditte();
 | 
				
			||||||
 | 
					    app().build_ditte_sheet();    
 | 
				
			||||||
 | 
					    app().end_wait();
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  return TRUE;
 | 
				
			||||||
 | 
					} 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TRipristino_liq::build_ditte_sheet()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  // build sheet
 | 
				
			||||||
 | 
					  _ditte->destroy();
 | 
				
			||||||
 | 
					  for (int i = 0; i < _nomiditte.items(); i++)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    TToken_string* d = new TToken_string(64);
 | 
				
			||||||
 | 
					    *d = (TToken_string&)_nomiditte[i];
 | 
				
			||||||
 | 
					    const char vers = d->get_char(2);
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    bool selectable = vers == '?';
 | 
				
			||||||
 | 
					    d->insert(" |", 0);        
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    const long pos = _ditte->add(d);     
 | 
				
			||||||
 | 
					    if (selectable)  _ditte->disable(pos);
 | 
				
			||||||
 | 
					  }     
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TRipristino_liq::build_nomiditte()
 | 
				
			||||||
 | 
					{                 
 | 
				
			||||||
 | 
					  _nomiditte.destroy();
 | 
				
			||||||
 | 
					  // ricostruire _nomiditte e rifare build_ditte_sheet
 | 
				
			||||||
 | 
					  TLocalisamfile& dt = _nditte->lfile();
 | 
				
			||||||
 | 
					  TString fr("??");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  for (dt.first(); !dt.eof(); dt.next())
 | 
				
			||||||
 | 
					  {     
 | 
				
			||||||
 | 
					    // check no archivi
 | 
				
			||||||
 | 
					    fr = "??";
 | 
				
			||||||
 | 
					    bool good = prefhndl->exist(dt.get_long("CODDITTA"));                        
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    if (good) 
 | 
				
			||||||
 | 
					    {   
 | 
				
			||||||
 | 
					      // check no parametri liquidazione                                               
 | 
				
			||||||
 | 
					      TApplication::set_firm(dt.get_long("CODDITTA"));   
 | 
				
			||||||
 | 
					      TTable lia("LIA");
 | 
				
			||||||
 | 
					      lia.put("CODTAB", _year);
 | 
				
			||||||
 | 
					      if (lia.read() != NOERR) good = FALSE; 
 | 
				
			||||||
 | 
					      else fr = lia.get("S7");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    TToken_string* d = new TToken_string(64);
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    // add record 
 | 
				
			||||||
 | 
					    d->add(dt.get("CODDITTA"));
 | 
				
			||||||
 | 
					    d->add(dt.get("RAGSOC"));
 | 
				
			||||||
 | 
					    d->add(fr);
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    _nomiditte.add(d);  
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  TApplication::set_firm(_firm);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool TRipristino_liq::create()
 | 
				
			||||||
 | 
					{                     
 | 
				
			||||||
 | 
					  TApplication::create();
 | 
				
			||||||
 | 
					  _firm = get_firm();
 | 
				
			||||||
 | 
					  TDate oggi(TODAY);                    
 | 
				
			||||||
 | 
					  _year.format("%d",oggi.year());
 | 
				
			||||||
 | 
					  _nditte = new TRelation(LF_NDITTE);
 | 
				
			||||||
 | 
					  _ditte  = new TArray_sheet(-1, -1, 0, 0, "Selezione Ditte",
 | 
				
			||||||
 | 
					                             "@1|Cod.@5|Ragione Sociale@50|Vers.");  
 | 
				
			||||||
 | 
					  build_nomiditte();
 | 
				
			||||||
 | 
					  build_ditte_sheet();
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  dispatch_e_menu(BAR_ITEM(1));    
 | 
				
			||||||
 | 
					  return TRUE;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool TRipristino_liq::do_restore()
 | 
				
			||||||
 | 
					{ 
 | 
				
			||||||
 | 
					  KEY k; int i;
 | 
				
			||||||
 | 
					  TMask m("cg5600a"); 
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  m.field(F_YEAR).set(_year);
 | 
				
			||||||
 | 
					  m.set_handler(F_YEAR, ch_year_handler);
 | 
				
			||||||
 | 
					  _ditte->enable_check();
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  while ((k = m.run()) != K_ESC)
 | 
				
			||||||
 | 
					  {                            
 | 
				
			||||||
 | 
					    if (k == K_QUIT) break;
 | 
				
			||||||
 | 
					    switch(k)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					    case K_ENTER: 
 | 
				
			||||||
 | 
					      begin_wait();
 | 
				
			||||||
 | 
					      for(i = 0; i < _ditte->items(); i++)
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        if (_ditte->checked(i))
 | 
				
			||||||
 | 
					        {              
 | 
				
			||||||
 | 
					          TToken_string& rw = _ditte->row(i);
 | 
				
			||||||
 | 
					          restore_firm(rw.get_long(1));
 | 
				
			||||||
 | 
					        } 
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      end_wait();
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    case DLG_SELECT:
 | 
				
			||||||
 | 
					      _ditte->run();
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  set_firm(_firm); 
 | 
				
			||||||
 | 
					  return k != K_QUIT; 
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool TRipristino_liq::restore_firm(long firm)
 | 
				
			||||||
 | 
					{  
 | 
				
			||||||
 | 
					  // azzera: campi progressivi in LIA e PLA
 | 
				
			||||||
 | 
					  // cancella: tutti PPA, LIM, PIM, RMB, PLM, PTM
 | 
				
			||||||
 | 
					  set_firm(firm);
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  TTable lia("LIA");
 | 
				
			||||||
 | 
					  TTable pla("PLA");
 | 
				
			||||||
 | 
					  TTable pim("PIM");
 | 
				
			||||||
 | 
					  TTable plm("PLM");
 | 
				
			||||||
 | 
					  TTable ptm("PTM");
 | 
				
			||||||
 | 
					  TTable ppa("PPA");
 | 
				
			||||||
 | 
					  TTable rmb("RMB");
 | 
				
			||||||
 | 
					  TTable lim("LIM");   
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // LIA
 | 
				
			||||||
 | 
					  for (lia.first(); !lia.eof(); lia.next())
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    TString codtab(lia.get("CODTAB"));
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    if (codtab.mid(0,4) == _year)
 | 
				
			||||||
 | 
					    {             
 | 
				
			||||||
 | 
					      lia.put("R1","");
 | 
				
			||||||
 | 
					      lia.put("R2","");
 | 
				
			||||||
 | 
					      lia.put("R3","");
 | 
				
			||||||
 | 
					      lia.put("R4","");
 | 
				
			||||||
 | 
					      lia.put("R5","");
 | 
				
			||||||
 | 
					      lia.put("R6",""); 
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    }   
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  lia.rewrite();
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // PLA
 | 
				
			||||||
 | 
					  for (pla.first(); !pla.eof(); pla.next())
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    TString codtab(pla.get("CODTAB"));
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    if (codtab.mid(0,4) == _year)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      pla.put("R0","");
 | 
				
			||||||
 | 
					      pla.put("R1","");
 | 
				
			||||||
 | 
					      pla.put("R2","");
 | 
				
			||||||
 | 
					      pla.put("R3","");
 | 
				
			||||||
 | 
					      pla.put("R4","");
 | 
				
			||||||
 | 
					      pla.put("R9","");
 | 
				
			||||||
 | 
					      pla.put("R10","");
 | 
				
			||||||
 | 
					      pla.put("S1","");
 | 
				
			||||||
 | 
					      pla.put("S2","");
 | 
				
			||||||
 | 
					      pla.put("S3","");
 | 
				
			||||||
 | 
					      pla.put("S4","");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  pla.rewrite();
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // PIM
 | 
				
			||||||
 | 
					  for (pim.first(); !pim.eof(); pim.next())
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    TString codtab(pim.get("CODTAB"));
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    if (codtab.mid(0,4) == _year)
 | 
				
			||||||
 | 
					      pim.remove();
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  //   pim.packfile();
 | 
				
			||||||
 | 
					  //   pim.packindex();
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // PLM
 | 
				
			||||||
 | 
					  for (plm.first(); !plm.eof(); plm.next())
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    TString codtab(plm.get("CODTAB"));
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    if (codtab.mid(0,4) == _year)
 | 
				
			||||||
 | 
					      plm.remove();
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  //   plm.packfile();
 | 
				
			||||||
 | 
					  //   plm.packindex();
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // PTM
 | 
				
			||||||
 | 
					  for (ptm.first(); !ptm.eof(); ptm.next())
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    TString codtab(ptm.get("CODTAB"));
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    if (codtab.mid(0,4) == _year)
 | 
				
			||||||
 | 
					      ptm.remove();
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  //   ptm.packfile();
 | 
				
			||||||
 | 
					  //   ptm.packindex();
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // PPA
 | 
				
			||||||
 | 
					  for (ppa.first(); !ppa.eof(); ppa.next())
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    TString codtab(ppa.get("CODTAB"));
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    if (codtab.mid(0,4) == _year)
 | 
				
			||||||
 | 
					      ppa.remove();
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  //   ppa.packfile();
 | 
				
			||||||
 | 
					  //   ppa.packindex();
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // RMB
 | 
				
			||||||
 | 
					  for (rmb.first(); !rmb.eof(); rmb.next())
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    TString codtab(rmb.get("CODTAB"));
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    if (codtab.mid(0,4) == _year)
 | 
				
			||||||
 | 
					      rmb.remove();
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  //   rmb.packfile();
 | 
				
			||||||
 | 
					  //   rmb.packindex();
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // LIM
 | 
				
			||||||
 | 
					  for (lim.first(); !lim.eof(); lim.next())
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    TString codtab(lim.get("CODTAB"));
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    if (codtab.mid(0,4) == _year)
 | 
				
			||||||
 | 
					      lim.remove();
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  //   lim.packfile();
 | 
				
			||||||
 | 
					  //   lim.packindex();
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  return TRUE;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int cg5600(int argc, char* argv[])
 | 
				
			||||||
 | 
					{   
 | 
				
			||||||
 | 
					  TRipristino_liq app;
 | 
				
			||||||
 | 
					  app.run(argc, argv, "Ripristino liquidazione"); 
 | 
				
			||||||
 | 
					  return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										32
									
								
								cg/cg5600a.uml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										32
									
								
								cg/cg5600a.uml
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					/* 
 | 
				
			||||||
 | 
					 * Ripristino liquidazione
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#define F_YEAR 101
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					PAGE "Ripristino Liquidazione" -1 -1 64 4
 | 
				
			||||||
 | 
					NUMBER F_YEAR 4
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
						PROMPT 16 1 "Anno liquidazione "
 | 
				
			||||||
 | 
						FLAGS "AR"
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BUTTON DLG_SELECT 9 2
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
						PROMPT -13 -1 "" 
 | 
				
			||||||
 | 
						MESSAGE EXIT,DLG_SELECT
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BUTTON DLG_OK 9 2
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
						PROMPT -23 -1 ""
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BUTTON DLG_QUIT 9 2
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
						PROMPT -33 -1 ""
 | 
				
			||||||
 | 
						MESSAGE EXIT,K_QUIT
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENDPAGE
 | 
				
			||||||
 | 
					ENDMASK
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user