Patch level : 4.0 649
Ricompilazione Demo : [ ] Commento : Riportata la versione 3.1 patch 848 git-svn-id: svn://10.65.10.50/trunk@14997 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									d17fef3cf2
								
							
						
					
					
						commit
						5e9ba7c01e
					
				@ -947,7 +947,7 @@ void TMenu_application::reload_images()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
const TString& TMenu_application::ask_user_password()
 | 
					const TString& TMenu_application::ask_user_password()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  TString utente = user();
 | 
					  TString16 utente = user();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef _DEMO_
 | 
					#ifndef _DEMO_
 | 
				
			||||||
  // Disabilita le voci di personalizzazione
 | 
					  // Disabilita le voci di personalizzazione
 | 
				
			||||||
 | 
				
			|||||||
@ -35,15 +35,16 @@
 | 
				
			|||||||
HIDDEN int compare_version(const char* v1, int p1, const char* v2, int p2)
 | 
					HIDDEN int compare_version(const char* v1, int p1, const char* v2, int p2)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  TString16 ver1(v1), ver2(v2);
 | 
					  TString16 ver1(v1), ver2(v2);
 | 
				
			||||||
  ver1.trim();
 | 
					 | 
				
			||||||
  if (ver1.len() == 4)
 | 
					 | 
				
			||||||
    ver1.insert((v1[0] == '9') ? "19" : "20", 0);
 | 
					 | 
				
			||||||
  ver2.trim();
 | 
					 | 
				
			||||||
  if (ver2.len() == 4)
 | 
					 | 
				
			||||||
    ver2.insert((v2[0] == '9') ? "19" : "20", 0);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  int res = ver1.compare(ver2, -1, true);
 | 
					  ver1.trim();
 | 
				
			||||||
 | 
					  ver1.ltrim(ver1.len() == 4 ? 2 : 4);
 | 
				
			||||||
 | 
					  ver2.trim();
 | 
				
			||||||
 | 
					  ver2.ltrim(ver2.len() == 4 ? 2 : 4);
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
						int res = ver1.compare(ver2, -1, TRUE);
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
	if (res == 0)
 | 
						if (res == 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    res = p1 - p2;
 | 
					    res = p1 - p2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return res;
 | 
					  return res;
 | 
				
			||||||
@ -338,7 +339,8 @@ bool TInstaller_mask::autoload()
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    if (!ininame.exist())
 | 
					    if (!ininame.exist())
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      bool httpresult;
 | 
					      bool httpresult = http_isredirected_server(http_server, http_path);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      TFilename remote_ini = http_path;
 | 
					      TFilename remote_ini = http_path;
 | 
				
			||||||
			remote_ini << TInstall_ini::default_name();
 | 
								remote_ini << TInstall_ini::default_name();
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
@ -496,7 +498,8 @@ bool TInstaller_mask::autoload()
 | 
				
			|||||||
      const TString16 patchversion = ini.get("Versione");
 | 
					      const TString16 patchversion = ini.get("Versione");
 | 
				
			||||||
      const int patchlevel = ini.get_int("Patch");
 | 
					      const int patchlevel = ini.get_int("Patch");
 | 
				
			||||||
      TToken_string& row = mask_rows.row(r);
 | 
					      TToken_string& row = mask_rows.row(r);
 | 
				
			||||||
      if (patchversion == row.get(C_RELEASE) // se le versioni corrispondono ...
 | 
								const TString16 release(row.get(C_RELEASE));
 | 
				
			||||||
 | 
					      if (patchversion.mid(4) == release.mid(4) // se le versioni corrispondono ...
 | 
				
			||||||
        && patchlevel > row.get_int(C_PATCH)) // ..e il patchlevel è superiore
 | 
					        && patchlevel > row.get_int(C_PATCH)) // ..e il patchlevel è superiore
 | 
				
			||||||
      {   
 | 
					      {   
 | 
				
			||||||
        TString16 patch; patch.format("%03d", patchlevel);  //aggiunge zeri per avere 3 cifre sempre
 | 
					        TString16 patch; patch.format("%03d", patchlevel);  //aggiunge zeri per avere 3 cifre sempre
 | 
				
			||||||
@ -506,6 +509,8 @@ bool TInstaller_mask::autoload()
 | 
				
			|||||||
          row.add(row.get(C_PATCH), C_BASEPATCH); // memorizza patch del modulo
 | 
					          row.add(row.get(C_PATCH), C_BASEPATCH); // memorizza patch del modulo
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        row.add(patch, C_PATCH); // aggiorna il patchlevel mostrato per il modulo
 | 
					        row.add(patch, C_PATCH); // aggiorna il patchlevel mostrato per il modulo
 | 
				
			||||||
 | 
									if (release < patchversion)
 | 
				
			||||||
 | 
										row.add(patchversion, C_RELEASE);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    } 
 | 
					    } 
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
@ -822,8 +827,7 @@ bool TInstaller_mask::install(const TString& module, int patchlevel)
 | 
				
			|||||||
    if (is_a_patch)
 | 
					    if (is_a_patch)
 | 
				
			||||||
      msg << TR(" della patch ") << patchlevel ;
 | 
					      msg << TR(" della patch ") << patchlevel ;
 | 
				
			||||||
    msg  << TR(" del modulo '") << module << TR("' in corso...");
 | 
					    msg  << TR(" del modulo '") << module << TR("' in corso...");
 | 
				
			||||||
    xvtil_statbar_set(msg);
 | 
					    TProgind pi(dischi, msg, false, true);
 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    TFilename tempdir; tempdir.tempdir();
 | 
					    TFilename tempdir; tempdir.tempdir();
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
		// File tottale dei vari sotto-zip
 | 
							// File tottale dei vari sotto-zip
 | 
				
			||||||
@ -907,8 +911,7 @@ bool TInstaller_mask::install(const TString& module, int patchlevel)
 | 
				
			|||||||
      {
 | 
					      {
 | 
				
			||||||
        msg.cut(0);
 | 
					        msg.cut(0);
 | 
				
			||||||
        msg << TR("Aggiornamento del modulo '") << module << TR("' in corso...");
 | 
					        msg << TR("Aggiornamento del modulo '") << module << TR("' in corso...");
 | 
				
			||||||
        xvtil_statbar_set(msg);
 | 
					        pi.set_text(msg);
 | 
				
			||||||
 | 
					 | 
				
			||||||
        ok = move_module(module, *ini, true);
 | 
					        ok = move_module(module, *ini, true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (ok)
 | 
					        if (ok)
 | 
				
			||||||
@ -1111,8 +1114,8 @@ bool TInstaller_mask::install_patches(const TString& module, const TString& last
 | 
				
			|||||||
    const TString16 patchmodule = ininame.mid(pos-6, 2);
 | 
					    const TString16 patchmodule = ininame.mid(pos-6, 2);
 | 
				
			||||||
    TConfig ini(ininame, patchmodule);
 | 
					    TConfig ini(ininame, patchmodule);
 | 
				
			||||||
    const int patchlevel = ini.get_int("Patch");
 | 
					    const int patchlevel = ini.get_int("Patch");
 | 
				
			||||||
    const char * patchversion = ini.get("Versione");
 | 
					    const TString16 patchversion = ini.get("Versione");
 | 
				
			||||||
    if (ok && lastrelease == patchversion // installa solo le patch della stessa ver..
 | 
					    if (ok && lastrelease.mid(4) == patchversion.mid(4) // installa solo le patch della stessa ver..
 | 
				
			||||||
        && (only_newer ? lastpatch < patchlevel : lastpatch <= patchlevel)) // ... e patch superiore o uguale (reinstalla l'ultima patch)
 | 
					        && (only_newer ? lastpatch < patchlevel : lastpatch <= patchlevel)) // ... e patch superiore o uguale (reinstalla l'ultima patch)
 | 
				
			||||||
      ok = install(module, patchlevel);
 | 
					      ok = install(module, patchlevel);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
@ -1196,24 +1199,35 @@ void TInstaller_mask::install_selection()
 | 
				
			|||||||
    bool is_patch = row->get_char(C_ISPATCH) == 'X';
 | 
					    bool is_patch = row->get_char(C_ISPATCH) == 'X';
 | 
				
			||||||
    bool has_patch = row->get_char(C_ISPATCH) == '+';
 | 
					    bool has_patch = row->get_char(C_ISPATCH) == '+';
 | 
				
			||||||
    const int cmp = compare_version(oldver, oldpatch, newver, newpatch);
 | 
					    const int cmp = compare_version(oldver, oldpatch, newver, newpatch);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//versione e patch coincidono
 | 
				
			||||||
    if (cmp == 0)
 | 
					    if (cmp == 0)
 | 
				
			||||||
      ok = noyes_box(FR("Si desidera reinstallare la versione %s.%d del modulo '%s' ?"), (const char*)newver, newpatch, (const char*)modulo);
 | 
					      ok = noyes_box(FR("Si desidera reinstallare la versione %s.%d del modulo '%s' ?"), (const char*)newver, newpatch, (const char*)modulo);
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
							//ci sono ANCHE i pacchi
 | 
				
			||||||
		if (!is_patch && cmp > 0)
 | 
							if (!is_patch && cmp > 0)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      TString256 msg;
 | 
					      TString256 msg;
 | 
				
			||||||
      msg.format(FR("Si desidera ritornare alla versione %s.%d del modulo '%s' ?\nAttenzione: non e' garantito il corretto\nfunzionamento di tutti i programmi!"), (const char*)newver, newpatch, (const char*)modulo);
 | 
					      msg.format(FR("Si desidera ritornare alla versione %s.%d del modulo '%s' ?\nAttenzione: non e' garantito il corretto\nfunzionamento di tutti i programmi!"), (const char*)newver, newpatch, (const char*)modulo);
 | 
				
			||||||
      ok = noyes_box(msg);
 | 
					      ok = noyes_box(msg);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//ci sono SOLO patch da installare
 | 
				
			||||||
    if (ok && is_patch)
 | 
					    if (ok && is_patch)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      // installo le patch solo se esiste già un modulo installato della stessa versione
 | 
					      // installo le patch solo se esiste già un modulo installato della stessa versione
 | 
				
			||||||
      if (!oldver.blank() )
 | 
					      if (!oldver.blank() )
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        if (oldver != newver)
 | 
					        if (compare_version(oldver, 0, newver, 0))	//controlla SOLO la versione indipendentemente dall'anno!
 | 
				
			||||||
          ok = error_box(FR("Il modulo '%s' installato ha versione %s:\nimpossibile installare le patch della versione %s"),(const char *)modulo,(const char *)oldver,(const char *)newver);
 | 
					          ok = error_box(FR("Il modulo '%s' installato ha versione %s:\nimpossibile installare le patch della versione %s"),(const char *)modulo,(const char *)oldver,(const char *)newver);
 | 
				
			||||||
      } else
 | 
					      } else
 | 
				
			||||||
        ok =false;//error_box("Impossibile installare le patch perche' il modulo '%s' non e' installato",(const char *)modulo);
 | 
						      if (newpatch < oldpatch)
 | 
				
			||||||
    }
 | 
							  {
 | 
				
			||||||
 | 
								TString256 msg;
 | 
				
			||||||
 | 
								msg.format(FR("Si desidera ritornare alla patch %s.%d del modulo '%s' ?\nAttenzione: non e' garantito il corretto\nfunzionamento di tutti i programmi!"), (const char*)newver, newpatch, (const char*)modulo);
 | 
				
			||||||
 | 
							    ok = noyes_box(msg);
 | 
				
			||||||
 | 
							  }    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (ok)
 | 
					    if (ok)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      if (has_patch)
 | 
					      if (has_patch)
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,7 @@
 | 
				
			|||||||
#include <config.h>
 | 
					#include <config.h>
 | 
				
			||||||
#include <currency.h>
 | 
					#include <currency.h>
 | 
				
			||||||
#include <prefix.h>
 | 
					#include <prefix.h>
 | 
				
			||||||
 | 
					#include <defmask.h>
 | 
				
			||||||
#include <printer.h>
 | 
					#include <printer.h>
 | 
				
			||||||
#include <recarray.h>
 | 
					#include <recarray.h>
 | 
				
			||||||
#include <tabapp.h>
 | 
					#include <tabapp.h>
 | 
				
			||||||
@ -22,6 +23,7 @@
 | 
				
			|||||||
#define TAB_BANCHE      "%BAN"
 | 
					#define TAB_BANCHE      "%BAN"
 | 
				
			||||||
#define TAB_CAMBI       "CAM"
 | 
					#define TAB_CAMBI       "CAM"
 | 
				
			||||||
#define TAB_DELEGHE     "%DEL"
 | 
					#define TAB_DELEGHE     "%DEL"
 | 
				
			||||||
 | 
					#define TAB_DET         "%DET"
 | 
				
			||||||
#define TAB_IVDIRETTIVA "%IVD"
 | 
					#define TAB_IVDIRETTIVA "%IVD"
 | 
				
			||||||
#define TAB_REGISTRI    "REG"
 | 
					#define TAB_REGISTRI    "REG"
 | 
				
			||||||
#define TAB_VALUTE      "%VAL"
 | 
					#define TAB_VALUTE      "%VAL"
 | 
				
			||||||
@ -199,6 +201,13 @@ void TGeneric_table_app::init_modify_mode(TMask& m)
 | 
				
			|||||||
  {
 | 
					  {
 | 
				
			||||||
    load_rec_in_disabled_fields(m);
 | 
					    load_rec_in_disabled_fields(m);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  if (n == TAB_DET)         
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
						  const bool prot = get_relation()->curr().get_bool(FPC);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							m.enable(DLG_SAVEREC, !prot);
 | 
				
			||||||
 | 
							m.enable(DLG_DELREC, !prot);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}  
 | 
					}  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void TGeneric_table_app::init_query_mode(TMask& m)
 | 
					void TGeneric_table_app::init_query_mode(TMask& m)
 | 
				
			||||||
 | 
				
			|||||||
@ -29,19 +29,73 @@ TMask_print_table::TMask_print_table(const char * name)
 | 
				
			|||||||
  f.enable_check();
 | 
					  f.enable_check();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					///////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					// TTable_recordset
 | 
				
			||||||
 | 
					///////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class TTable_recordset : public TISAM_recordset
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						TMask * _mask;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					protected:
 | 
				
			||||||
 | 
						void set_custom_filter(TCursor& cursor) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
					  TTable_recordset(const char* use, TMask * mask) : TISAM_recordset(use), _mask(mask) { }
 | 
				
			||||||
 | 
					  virtual ~TTable_recordset() { }
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TTable_recordset::set_custom_filter(TCursor& cursor) const
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						CHECK(_mask, "NULL selection mask");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  TRectype from(cursor.curr()); from.zero();
 | 
				
			||||||
 | 
					  TRectype to(from);
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  for (int i = _mask->fields() - 1; i >= 0; i--)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    TMask_field& f = _mask->fld(i);
 | 
				
			||||||
 | 
					    const TString & val = f.get();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if (val.full())
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								const TFieldref * ref = f.field();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								if (ref != NULL && ref->ok())
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									const bool is_final = f.in_group(2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									ref->write(val, is_final ? to : from);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
						cursor.setregion(from, to);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
///////////////////////////////////////////////////////////
 | 
					///////////////////////////////////////////////////////////
 | 
				
			||||||
// TTable_report
 | 
					// TTable_report
 | 
				
			||||||
///////////////////////////////////////////////////////////
 | 
					///////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class TTable_report : public TReport
 | 
					class TTable_report : public TReport
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						TMask * _mask;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					protected:
 | 
				
			||||||
 | 
						virtual bool set_recordset(const TString& query);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
  virtual bool use_mask() { return false;}
 | 
					  virtual bool use_mask() { return false;}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  TTable_report() {}
 | 
					  TTable_report(TMask * mask) : _mask(mask) {}
 | 
				
			||||||
  virtual ~TTable_report() {}
 | 
					  virtual ~TTable_report() {}
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool TTable_report::set_recordset(const TString& query)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  return TReport::set_recordset(new TTable_recordset(query, _mask));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
///////////////////////////////////////////////////////////
 | 
					///////////////////////////////////////////////////////////
 | 
				
			||||||
// TTable_reporter 
 | 
					// TTable_reporter 
 | 
				
			||||||
///////////////////////////////////////////////////////////
 | 
					///////////////////////////////////////////////////////////
 | 
				
			||||||
@ -79,14 +133,14 @@ void TTable_reporter::main_loop()
 | 
				
			|||||||
  
 | 
					  
 | 
				
			||||||
    while (m.run() == K_ENTER)
 | 
					    while (m.run() == K_ENTER)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
	    TTable_report rep;
 | 
						    TTable_report rep(&m);
 | 
				
			||||||
			TReport_book book;
 | 
								TReport_book book;
 | 
				
			||||||
			TString name(m.get(F_REPORT));
 | 
								TString name(m.get(F_REPORT));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if (name.empty())
 | 
								if (name.empty())
 | 
				
			||||||
				name = rptname;
 | 
									name = rptname;
 | 
				
			||||||
      rep.load(name);
 | 
					      rep.load(name);
 | 
				
			||||||
			rep.mask2report(m);
 | 
					//	rep.mask2report(m);
 | 
				
			||||||
      book.add(rep);
 | 
					      book.add(rep);
 | 
				
			||||||
      book.print_or_preview();
 | 
					      book.print_or_preview();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,7 @@
 | 
				
			|||||||
#include <config.h>
 | 
					#include <config.h>
 | 
				
			||||||
#include <execp.h>
 | 
					#include <execp.h>
 | 
				
			||||||
#include <inst.h>
 | 
					#include <inst.h>
 | 
				
			||||||
 | 
					#include <recarray.h>
 | 
				
			||||||
#include <tabutil.h>
 | 
					#include <tabutil.h>
 | 
				
			||||||
#include "bainst.h"
 | 
					#include "bainst.h"
 | 
				
			||||||
#include "bainst00.h"
 | 
					#include "bainst00.h"
 | 
				
			||||||
@ -18,6 +19,7 @@ protected:
 | 
				
			|||||||
  virtual bool post_installer();
 | 
					  virtual bool post_installer();
 | 
				
			||||||
  virtual bool preload_mask();
 | 
					  virtual bool preload_mask();
 | 
				
			||||||
  virtual bool some_to_load();
 | 
					  virtual bool some_to_load();
 | 
				
			||||||
 | 
						void check_std_code_det(const char * code, const char * descr);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
  virtual ~TInstall_BA () {}
 | 
					  virtual ~TInstall_BA () {}
 | 
				
			||||||
@ -101,19 +103,39 @@ bool TInstall_BA::preload_mask()
 | 
				
			|||||||
    if (empty)
 | 
					    if (empty)
 | 
				
			||||||
      _m->set(F_TAB_CEE,"X");
 | 
					      _m->set(F_TAB_CEE,"X");
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
						check_std_code_det("1", "IVA indetraibile su acquisti riferiti a ricavi esenti");
 | 
				
			||||||
 | 
						check_std_code_det("3", "IVA indicata per passaggi interni al solo fine del calcolo di ventilazione");
 | 
				
			||||||
 | 
						check_std_code_det("9", "IVA non detraibile per l'articolo 19");
 | 
				
			||||||
  return TInstallmodule_app::preload_mask();
 | 
					  return TInstallmodule_app::preload_mask();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TInstall_BA::check_std_code_det(const char * code, const char * descr)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						const TToken_string key(code);
 | 
				
			||||||
 | 
						const TRectype & tab = cache().get("%DET", key);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (tab.empty())
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							TTable det("%DET");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							det.curr().put("CODTAB", key);
 | 
				
			||||||
 | 
							det.curr().put("I0", key);
 | 
				
			||||||
 | 
							det.curr().put("S0", descr);
 | 
				
			||||||
 | 
							det.curr().put("R0", CENTO);
 | 
				
			||||||
 | 
							det.write();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool TInstall_BA::install_com() 
 | 
					bool TInstall_BA::install_com() 
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  bool ok=TRUE;
 | 
					  bool ok=TRUE;
 | 
				
			||||||
  TStd_filename txtfile;
 | 
					  TStd_filename txtfile;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (_m->get_bool(F_DEFAULTSDATA) && txtfile.check(TRUE,"lfiva.txt"))
 | 
					  if (_m->get_bool(F_DEFAULTSDATA) && txtfile.check(TRUE,"lfiva.txt"))
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    TSystemisamfile tabcom(LF_TABCOM);
 | 
					    TSystemisamfile tabcom(LF_TABCOM);
 | 
				
			||||||
    tabcom.load((const char *)txtfile);
 | 
					    tabcom.load((const char *)txtfile);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					 | 
				
			||||||
  if (_m->get_bool(F_TAB_CEE) && txtfile.check(TRUE,"batbsce.txt"))
 | 
					  if (_m->get_bool(F_TAB_CEE) && txtfile.check(TRUE,"batbsce.txt"))
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    TSystemisamfile tabcom(LF_TABCOM);
 | 
					    TSystemisamfile tabcom(LF_TABCOM);
 | 
				
			||||||
 | 
				
			|||||||
@ -9,8 +9,6 @@ bool all_ok;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class TInstall_CG : public TInstallmodule_app
 | 
					class TInstall_CG : public TInstallmodule_app
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
private:
 | 
					 | 
				
			||||||
  bool CreaExeIni(const char * exename);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
protected:
 | 
					protected:
 | 
				
			||||||
  virtual bool modal() const {return FALSE;}
 | 
					  virtual bool modal() const {return FALSE;}
 | 
				
			||||||
@ -23,19 +21,9 @@ public:
 | 
				
			|||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// crea il .ini per i files exe copiati nella directory di EASYCAMPO
 | 
					 | 
				
			||||||
bool TInstall_CG ::CreaExeIni(const char * exename)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  return TRUE;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool TInstall_CG ::post_installer()
 | 
					bool TInstall_CG ::post_installer()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  bool ok=TRUE;
 | 
					  bool ok=TRUE;
 | 
				
			||||||
  // copia dll (ex file PRASSI.PR  inst.exe
 | 
					 | 
				
			||||||
//  ok &= CreaExeIni("CB0000.EXE");
 | 
					 | 
				
			||||||
//  ok &= CreaExeIni("TRRICE.EXE");
 | 
					 | 
				
			||||||
//  ok &= CreaExeIni("VCOPIA.EXE");
 | 
					 | 
				
			||||||
  return ok;
 | 
					  return ok;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										24
									
								
								ba/batbcpg.h
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								ba/batbcpg.h
									
									
									
									
									
								
							@ -1,24 +0,0 @@
 | 
				
			|||||||
//      posizione file comuni in _arrfiles
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//      campi maschera batb%cpg.msk
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define F_CODICE                           101
 | 
					 | 
				
			||||||
#define F_DESC                             102
 | 
					 | 
				
			||||||
#define F_TIPO                             103
 | 
					 | 
				
			||||||
#define F_INIZIOSCAD                       104
 | 
					 | 
				
			||||||
#define F_MESECOMM                         105
 | 
					 | 
				
			||||||
#define F_RATEDIFF                         106
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@ -1,79 +0,0 @@
 | 
				
			|||||||
#include "batbcpg.h"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
TOOLBAR "" 0 20 0 2 
 | 
					 | 
				
			||||||
#include <toolbar.h>
 | 
					 | 
				
			||||||
ENDPAGE
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PAGE "Tabella pagamenti" -1 -1 78 15
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
STRING F_CODICE 4
 | 
					 | 
				
			||||||
BEGIN
 | 
					 | 
				
			||||||
  PROMPT 4 1 "Codice          "
 | 
					 | 
				
			||||||
  HELP "Codice di pagamento"
 | 
					 | 
				
			||||||
  FIELD LF_TABCOM->CODTAB
 | 
					 | 
				
			||||||
  FLAGS "UZ"
 | 
					 | 
				
			||||||
  USE %CPG 
 | 
					 | 
				
			||||||
  INPUT CODTAB F_CODICE
 | 
					 | 
				
			||||||
  DISPLAY "Codice" CODTAB
 | 
					 | 
				
			||||||
  DISPLAY "Tipo di pagamento@50" S0
 | 
					 | 
				
			||||||
  OUTPUT F_CODICE CODTAB
 | 
					 | 
				
			||||||
  OUTPUT F_DESC S0
 | 
					 | 
				
			||||||
  CHECKTYPE REQUIRED
 | 
					 | 
				
			||||||
  KEY 1
 | 
					 | 
				
			||||||
END 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
STRING F_DESC 50
 | 
					 | 
				
			||||||
BEGIN
 | 
					 | 
				
			||||||
  PROMPT 4 3 "Descrizione     "
 | 
					 | 
				
			||||||
  HELP "Descrizione del tipo di pagamento"
 | 
					 | 
				
			||||||
  FIELD LF_TABCOM->S0
 | 
					 | 
				
			||||||
  USE %CPG KEY 2
 | 
					 | 
				
			||||||
  CHECKTYPE REQUIRED
 | 
					 | 
				
			||||||
  INPUT S0 F_DESC
 | 
					 | 
				
			||||||
  DISPLAY "Tipo di pagamento@50" S0
 | 
					 | 
				
			||||||
  DISPLAY "Codice" CODTAB
 | 
					 | 
				
			||||||
  OUTPUT F_CODICE CODTAB
 | 
					 | 
				
			||||||
  OUTPUT F_DESC S0
 | 
					 | 
				
			||||||
	KEY 2
 | 
					 | 
				
			||||||
END 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
LIST F_TIPO 2 32
 | 
					 | 
				
			||||||
BEGIN
 | 
					 | 
				
			||||||
  PROMPT 4 5 "Tipo            "
 | 
					 | 
				
			||||||
  FIELD LF_TABCOM->I0
 | 
					 | 
				
			||||||
  ITEM "1|Rimessa Diretta"
 | 
					 | 
				
			||||||
  ITEM "2|Tratta"
 | 
					 | 
				
			||||||
  ITEM "3|Ricevuta Bancaria"
 | 
					 | 
				
			||||||
  ITEM "4|Cessione"
 | 
					 | 
				
			||||||
  ITEM "5|Paghero'"
 | 
					 | 
				
			||||||
  ITEM "6|Lettera di credito"
 | 
					 | 
				
			||||||
  ITEM "7|Tratta accettata"
 | 
					 | 
				
			||||||
  ITEM "8|Rapporti interbancari diretti"
 | 
					 | 
				
			||||||
  ITEM "9|Bonifico"
 | 
					 | 
				
			||||||
  ITEM "10|Altro"
 | 
					 | 
				
			||||||
END 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
LIST F_INIZIOSCAD 14
 | 
					 | 
				
			||||||
BEGIN
 | 
					 | 
				
			||||||
  PROMPT 4 7 "Inizio scadenze "
 | 
					 | 
				
			||||||
  FIELD LF_TABCOM->S7
 | 
					 | 
				
			||||||
  ITEM "F|Data fattura"
 | 
					 | 
				
			||||||
  ITEM "M|Fine mese"
 | 
					 | 
				
			||||||
  ITEM "D|Data fissa"
 | 
					 | 
				
			||||||
END 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
BOOLEAN F_MESECOMM 
 | 
					 | 
				
			||||||
BEGIN
 | 
					 | 
				
			||||||
  PROMPT 4 9 "Mese commerciale"
 | 
					 | 
				
			||||||
  FIELD LF_TABCOM->B0
 | 
					 | 
				
			||||||
END 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
BOOLEAN F_RATEDIFF 
 | 
					 | 
				
			||||||
BEGIN
 | 
					 | 
				
			||||||
  PROMPT 4 11 "Rate differenziate "
 | 
					 | 
				
			||||||
  FIELD LF_TABCOM->B1
 | 
					 | 
				
			||||||
END
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ENDPAGE
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ENDMASK
 | 
					 | 
				
			||||||
@ -29,12 +29,12 @@ BEGIN
 | 
				
			|||||||
	FLAGS "U"
 | 
						FLAGS "U"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRING F_DESC 50
 | 
					STRING F_DESC 70 50
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 10 2 "Descrizione "
 | 
					  PROMPT 10 2 "Descrizione "
 | 
				
			||||||
  FIELD S0
 | 
					  FIELD S0
 | 
				
			||||||
  USE %DET KEY 2
 | 
					  USE %DET KEY 2
 | 
				
			||||||
  INPUT CODTAB F_CODICE
 | 
					  INPUT S0 F_DESC
 | 
				
			||||||
  DISPLAY "Descrizione@50" S0
 | 
					  DISPLAY "Descrizione@50" S0
 | 
				
			||||||
  DISPLAY "Codice" CODTAB
 | 
					  DISPLAY "Codice" CODTAB
 | 
				
			||||||
  DISPLAY "Percentuale" R0
 | 
					  DISPLAY "Percentuale" R0
 | 
				
			||||||
 | 
				
			|||||||
@ -142,7 +142,8 @@ BEGIN
 | 
				
			|||||||
  HELP "Inserire il numero della colonna degli allegati clienti relativa all'imposta"
 | 
					  HELP "Inserire il numero della colonna degli allegati clienti relativa all'imposta"
 | 
				
			||||||
  ITEM " |Non in allegato"
 | 
					  ITEM " |Non in allegato"
 | 
				
			||||||
  ITEM "1|Imponibili"
 | 
					  ITEM "1|Imponibili"
 | 
				
			||||||
  ITEM "3|Non imponibili"
 | 
					  ITEM "2|Non imponibili"
 | 
				
			||||||
 | 
					  ITEM "3|Senza applicaz.imposta"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LIST FLD_TABIVA_S8 1 24
 | 
					LIST FLD_TABIVA_S8 1 24
 | 
				
			||||||
@ -152,8 +153,8 @@ BEGIN
 | 
				
			|||||||
  HELP "Inserire il numero della colonna degli allegati fornitori relativa all'imposta"
 | 
					  HELP "Inserire il numero della colonna degli allegati fornitori relativa all'imposta"
 | 
				
			||||||
  ITEM " |Non in allegato"
 | 
					  ITEM " |Non in allegato"
 | 
				
			||||||
  ITEM "1|Imponibili"
 | 
					  ITEM "1|Imponibili"
 | 
				
			||||||
 | 
					  ITEM "2|Non imponibili"
 | 
				
			||||||
  ITEM "3|Senza applicaz.imposta"
 | 
					  ITEM "3|Senza applicaz.imposta"
 | 
				
			||||||
  ITEM "4|Non imponibili"
 | 
					 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GROUPBOX DLG_NULL 25 4
 | 
					GROUPBOX DLG_NULL 25 4
 | 
				
			||||||
 | 
				
			|||||||
@ -1,9 +1,8 @@
 | 
				
			|||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//      campi maschera batb%trb.msk
 | 
					//      campi maschera batb%trb.msk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define F_CODICE  101
 | 
					#define F_CODICE  101
 | 
				
			||||||
#define F_DESCR   102
 | 
					#define F_DESCR   102
 | 
				
			||||||
 | 
					#define F_SEZIONE 103
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -17,34 +17,44 @@ END
 | 
				
			|||||||
STRING F_CODICE 4
 | 
					STRING F_CODICE 4
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 4 2 "Codice      "
 | 
					  PROMPT 4 2 "Codice      "
 | 
				
			||||||
HELP "Codice tributo"
 | 
					 | 
				
			||||||
  FIELD CODTAB
 | 
					  FIELD CODTAB
 | 
				
			||||||
  KEY 1
 | 
					  KEY 1
 | 
				
			||||||
  USE %TRB
 | 
					  USE %TRB
 | 
				
			||||||
  INPUT CODTAB F_CODICE
 | 
					  INPUT CODTAB F_CODICE
 | 
				
			||||||
  DISPLAY "Codice" CODTAB
 | 
					  DISPLAY "Codice" CODTAB
 | 
				
			||||||
  DISPLAY "Descrizione@50" S0
 | 
					  DISPLAY "Descrizione@50" S0
 | 
				
			||||||
 | 
					  DISPLAY "Sezione" S6
 | 
				
			||||||
  OUTPUT F_CODICE CODTAB
 | 
					  OUTPUT F_CODICE CODTAB
 | 
				
			||||||
  OUTPUT F_DESCR S0
 | 
					  OUTPUT F_DESCR S0
 | 
				
			||||||
FLAGS "Z"
 | 
					  FLAGS "U"
 | 
				
			||||||
  CHECKTYPE REQUIRED
 | 
					  CHECKTYPE REQUIRED
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRING F_DESCR 50
 | 
					STRING F_DESCR 50
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 4 4 "Descrizione "
 | 
					  PROMPT 4 4 "Descrizione "
 | 
				
			||||||
HELP "Descrizione del codice tributo"
 | 
					  FIELD S0
 | 
				
			||||||
FIELD LF_TABCOM->S0
 | 
					 | 
				
			||||||
  KEY 2
 | 
					  KEY 2
 | 
				
			||||||
  USE %TRB KEY 2
 | 
					  USE %TRB KEY 2
 | 
				
			||||||
INPUT CODTAB F_CODICE
 | 
					 | 
				
			||||||
  INPUT S0 F_DESCR
 | 
					  INPUT S0 F_DESCR
 | 
				
			||||||
  DISPLAY "Descrizione@50" S0
 | 
					  DISPLAY "Descrizione@50" S0
 | 
				
			||||||
  DISPLAY "Codice" CODTAB
 | 
					  DISPLAY "Codice" CODTAB
 | 
				
			||||||
OUTPUT F_CODICE CODTAB
 | 
					  DISPLAY "Sezione" S6
 | 
				
			||||||
OUTPUT F_DESCR S0
 | 
					  COPY OUTPUT F_CODICE
 | 
				
			||||||
  CHECKTYPE REQUIRED
 | 
					  CHECKTYPE REQUIRED
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					LIST F_SEZIONE 1 50
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					  PROMPT 4 5 "Sezione     "
 | 
				
			||||||
 | 
					  ITEM "E|Erario"
 | 
				
			||||||
 | 
					  ITEM "I|INPS"
 | 
				
			||||||
 | 
					  ITEM "R|Regioni"
 | 
				
			||||||
 | 
					  ITEM "L|ICI ed altri tributi locali"
 | 
				
			||||||
 | 
					  ITEM "P|Altri enti previdenziali ed assicurativi"
 | 
				
			||||||
 | 
					  FIELD S6
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ENDPAGE
 | 
					ENDPAGE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ENDMASK
 | 
					ENDMASK
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user