Patch level : 2.2
Files correlati : Ricompilazione Demo : [ ] Commento : Migliorata gestione configurazione analitica in modo da velocizzare leggermente la creazione delle maschere dinamiche. git-svn-id: svn://10.65.10.50/trunk@13344 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									e3bf7a51c7
								
							
						
					
					
						commit
						987a23dfb4
					
				@ -167,9 +167,8 @@ bool TConf_Analitica::postprocess_config (TMask& mask, TConfig& config)
 | 
			
		||||
 | 
			
		||||
bool TConf_Analitica::user_create( )
 | 
			
		||||
{
 | 
			
		||||
  TConfig_anal config;
 | 
			
		||||
  config.set( "EdMask", "ca0300a");
 | 
			
		||||
 | 
			
		||||
	TConfig_anal& cfg = ca_config();
 | 
			
		||||
  cfg.set( "EdMask", "ca0300a");
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -272,7 +272,7 @@ void TAnalisi_app::init_query_mode(TMask& mask)
 | 
			
		||||
 | 
			
		||||
bool TAnalisi_app::create()
 | 
			
		||||
{
 | 
			
		||||
  TConfig_anal cfg;
 | 
			
		||||
	TConfig_anal& cfg = ca_config();
 | 
			
		||||
  const TString& pdc = cfg.get("Pdci", NULL, 1);
 | 
			
		||||
  if (pdc.blank())
 | 
			
		||||
	{
 | 
			
		||||
 | 
			
		||||
@ -158,7 +158,7 @@ void TRiparti_msk::create_sheet()
 | 
			
		||||
 | 
			
		||||
  const TMultilevel_code_info& fasinfo = ca_multilevel_code_info(LF_FASI);
 | 
			
		||||
 | 
			
		||||
  TConfig_anal ini;
 | 
			
		||||
	TConfig_anal& ini = ca_config();
 | 
			
		||||
 | 
			
		||||
  int y = 1;
 | 
			
		||||
  short dlg = 202;
 | 
			
		||||
@ -209,7 +209,7 @@ void TRiparti_msk::create_sheet()
 | 
			
		||||
 | 
			
		||||
TRiparti_msk::TRiparti_msk() : TAutomask("ca0800a") 
 | 
			
		||||
{  
 | 
			
		||||
  TConfig_anal ini;
 | 
			
		||||
	TConfig_anal& ini = ca_config();
 | 
			
		||||
 | 
			
		||||
  // Crea gli eventuali campi per commessa e centro di costo
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,5 @@
 | 
			
		||||
#include <applicat.h>
 | 
			
		||||
#include <automask.h>
 | 
			
		||||
#include <reprint.h>
 | 
			
		||||
 | 
			
		||||
#include "ca1.h"
 | 
			
		||||
 | 
			
		||||
@ -43,7 +43,7 @@ public:
 | 
			
		||||
 | 
			
		||||
bool TPrint_pdc::create()
 | 
			
		||||
{
 | 
			
		||||
  TConfig_anal cfg;
 | 
			
		||||
	TConfig_anal& cfg = ca_config();
 | 
			
		||||
  const TString& pdc = cfg.get("Pdci", NULL, 1);
 | 
			
		||||
 | 
			
		||||
  if (pdc.blank())
 | 
			
		||||
 | 
			
		||||
@ -596,7 +596,7 @@ void TMovanal_msk::create_sheet()
 | 
			
		||||
 | 
			
		||||
  const TMultilevel_code_info& fasinfo = ca_multilevel_code_info(LF_FASI);
 | 
			
		||||
 | 
			
		||||
  TConfig_anal ini;
 | 
			
		||||
	TConfig_anal& ini = ca_config();
 | 
			
		||||
  const bool fsc_req = ini.get_bool("FscRequired");
 | 
			
		||||
 | 
			
		||||
  int y = 3;
 | 
			
		||||
 | 
			
		||||
@ -122,7 +122,7 @@ bool TPrint_movimenti_ca_mask::on_field_event(TOperable_field& o, TField_event e
 | 
			
		||||
TPrint_movimenti_ca_mask::TPrint_movimenti_ca_mask()
 | 
			
		||||
								:TAnal_report_mask("ca3100")
 | 
			
		||||
{
 | 
			
		||||
	TConfig_anal cfg;
 | 
			
		||||
	TConfig_anal& cfg = ca_config();
 | 
			
		||||
	const bool use_pdcc = cfg.get_bool("UsePdcc");
 | 
			
		||||
 | 
			
		||||
	const int logicnum = use_pdcc ? LF_PCON : LF_PCONANA;
 | 
			
		||||
 | 
			
		||||
@ -119,7 +119,7 @@ bool TPrint_mastrini_ca_mask::on_field_event(TOperable_field& o, TField_event e,
 | 
			
		||||
TPrint_mastrini_ca_mask::TPrint_mastrini_ca_mask()
 | 
			
		||||
								:TAnal_report_mask("ca3200")
 | 
			
		||||
{
 | 
			
		||||
	TConfig_anal cfg;
 | 
			
		||||
  TConfig_anal& cfg = ca_config();
 | 
			
		||||
	const bool use_pdcc = cfg.get_bool("UsePdcc");
 | 
			
		||||
 | 
			
		||||
	const int logicnum = use_pdcc ? LF_PCON : LF_PCONANA;
 | 
			
		||||
 | 
			
		||||
@ -174,7 +174,7 @@ void TPrint_bilancio_ca_mask::create_sheet()
 | 
			
		||||
 | 
			
		||||
  const TMultilevel_code_info& fasinfo = ca_multilevel_code_info(LF_FASI);
 | 
			
		||||
 | 
			
		||||
  TConfig_anal ini;
 | 
			
		||||
	TConfig_anal& ini = ca_config();
 | 
			
		||||
  const bool fsc_req = ini.get_bool("FscRequired");
 | 
			
		||||
 | 
			
		||||
  int y = 1;
 | 
			
		||||
@ -234,7 +234,8 @@ bool TPrint_bilancio_ca_mask::esistono_riclassificazioni() const
 | 
			
		||||
TPrint_bilancio_ca_mask::TPrint_bilancio_ca_mask()
 | 
			
		||||
								:TAutomask("ca3300")
 | 
			
		||||
{
 | 
			
		||||
	TConfig_anal cfg;
 | 
			
		||||
  TConfig_anal& cfg = ca_config();
 | 
			
		||||
 | 
			
		||||
	const bool use_pdcc = cfg.get_bool("UsePdcc");
 | 
			
		||||
 | 
			
		||||
  const TMultilevel_code_info& pconana_info = ca_multilevel_code_info(LF_PCONANA);
 | 
			
		||||
 | 
			
		||||
@ -147,7 +147,7 @@ bool TPrint_rendiconto_ca_mask::esistono_riclassificazioni() const
 | 
			
		||||
TPrint_rendiconto_ca_mask::TPrint_rendiconto_ca_mask()
 | 
			
		||||
								:TAnal_report_mask("ca3700")
 | 
			
		||||
{
 | 
			
		||||
	TConfig_anal cfg;
 | 
			
		||||
	TConfig_anal& cfg = ca_config();
 | 
			
		||||
	const bool use_pdcc = cfg.get_bool("UsePdcc");
 | 
			
		||||
 | 
			
		||||
  const TMultilevel_code_info& pconana_info = ca_multilevel_code_info(LF_PCONANA);
 | 
			
		||||
@ -795,7 +795,8 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rdoc(const TPrint_rendiconto_
 | 
			
		||||
	//Filtro sulle righe documento (e testate collegate)
 | 
			
		||||
	//Controlla sul file di configurazione di CA (ditta.ini,[ca]) se esistono numerazioni da escludere..
 | 
			
		||||
	//..e se, per alcune numerazioni, deve tener conto dello stato del documento
 | 
			
		||||
	TConfig_anal config;
 | 
			
		||||
	TConfig_anal& config = ca_config();
 | 
			
		||||
 | 
			
		||||
	bool update = false;
 | 
			
		||||
	for (int i = 0;;i++)	//scansione delle righe ND(i)=.. sul paragrafo di configurazione CA
 | 
			
		||||
	{
 | 
			
		||||
@ -1055,33 +1056,16 @@ void TPrint_rendiconto_ca_rep::set_filter(const TPrint_rendiconto_ca_mask& msk,
 | 
			
		||||
////////////////////////////////////////////////////////
 | 
			
		||||
class TPrint_rendiconto_ca : public TSkeleton_application
 | 
			
		||||
{
 | 
			
		||||
	TPrint_rendiconto_ca_mask * _mask;
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
	bool create();
 | 
			
		||||
	bool destroy();
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
  virtual void main_loop();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
bool TPrint_rendiconto_ca::create()
 | 
			
		||||
{
 | 
			
		||||
  _mask = new TPrint_rendiconto_ca_mask;  
 | 
			
		||||
  return TSkeleton_application::create();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool TPrint_rendiconto_ca::destroy()
 | 
			
		||||
{
 | 
			
		||||
  delete _mask;
 | 
			
		||||
  return TSkeleton_application::destroy();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void TPrint_rendiconto_ca::main_loop()
 | 
			
		||||
{
 | 
			
		||||
  while (_mask->run() == K_ENTER)
 | 
			
		||||
  TPrint_rendiconto_ca_mask mask;
 | 
			
		||||
  while (mask.run() == K_ENTER)
 | 
			
		||||
  {
 | 
			
		||||
		TSheet_field& sheet = _mask->sfield(F_RIGHE);
 | 
			
		||||
		TSheet_field& sheet = mask.sfield(F_RIGHE);
 | 
			
		||||
		const int n_righe_sheet = sheet.items();
 | 
			
		||||
		//se lo sheet è vuoto aggiunge una riga vuota
 | 
			
		||||
		if (n_righe_sheet == 0)
 | 
			
		||||
@ -1089,7 +1073,7 @@ void TPrint_rendiconto_ca::main_loop()
 | 
			
		||||
 | 
			
		||||
		//report e book dei report
 | 
			
		||||
		TReport_book book;
 | 
			
		||||
		TString path = _mask->get(F_REPORT);
 | 
			
		||||
		TString path = mask.get(F_REPORT);
 | 
			
		||||
		if (path.empty())
 | 
			
		||||
			path = "ca3700a";
 | 
			
		||||
		TPrint_rendiconto_ca_rep rep;
 | 
			
		||||
@ -1097,7 +1081,7 @@ void TPrint_rendiconto_ca::main_loop()
 | 
			
		||||
 | 
			
		||||
		FOR_EACH_SHEET_ROW(sheet, r, row)	//per ogni cdc/cms che appare nello sheet di pag.1 della msk..
 | 
			
		||||
		{
 | 
			
		||||
			rep.set_filter(*_mask, r);	//..chiama il metodone globale che crea e compila il file.. 
 | 
			
		||||
			rep.set_filter(mask, r);	  //..chiama il metodone globale che crea e compila il file.. 
 | 
			
		||||
  																//..temporaneo i cui dati riempiranno il report
 | 
			
		||||
			book.add(rep);	//aggiunge il report relativo alla cdc/cms corrente al book
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -71,7 +71,7 @@ TCode_generator::TCode_generator(int logicnum)
 | 
			
		||||
 | 
			
		||||
  if (logicnum <= 0)
 | 
			
		||||
  {
 | 
			
		||||
    TConfig_anal cfg;
 | 
			
		||||
   	TConfig_anal& cfg = ca_config();
 | 
			
		||||
    const bool use_pdcc =  cfg.get_bool("UsePdcc");
 | 
			
		||||
    logicnum = use_pdcc ? LF_PCON : LF_PCONANA;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@ -43,8 +43,6 @@ public:
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
class TConversione_anal_msk : public TAutomask
 | 
			
		||||
{
 | 
			
		||||
  TConfig_anal _config_anal;
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
  virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
 | 
			
		||||
 | 
			
		||||
@ -94,7 +92,6 @@ class TConversione_cm2ca : public TSkeleton_application
 | 
			
		||||
{
 | 
			
		||||
  virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
 | 
			
		||||
  TCache_ripartizioni _cache_rip;
 | 
			
		||||
  TConfig_anal* _config_anal;
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
  virtual void main_loop();
 | 
			
		||||
@ -122,8 +119,6 @@ bool TConversione_cm2ca::test_configuration()
 | 
			
		||||
//gestione del menu (vari tipi di conversione)
 | 
			
		||||
void TConversione_cm2ca::main_loop()
 | 
			
		||||
{
 | 
			
		||||
  _config_anal = new TConfig_anal;
 | 
			
		||||
 | 
			
		||||
  TConversione_anal_msk mask;
 | 
			
		||||
  while (mask.run() == K_ENTER)
 | 
			
		||||
  {
 | 
			
		||||
@ -155,7 +150,6 @@ void TConversione_cm2ca::main_loop()
 | 
			
		||||
    } //end get_bool(F_MOVIMENTI)
 | 
			
		||||
  } //end while
 | 
			
		||||
 | 
			
		||||
  delete _config_anal;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -50,6 +50,14 @@ const TString& TConfig_anal::get(const char* var, const char* section, int index
 | 
			
		||||
  return tmp;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TConfig_anal& ca_config()
 | 
			
		||||
{
 | 
			
		||||
  static TConfig_anal* cfg = NULL;
 | 
			
		||||
  if (cfg == NULL)
 | 
			
		||||
    cfg = new TConfig_anal;
 | 
			
		||||
  return *cfg;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
///////////////////////////////////////////////////////////
 | 
			
		||||
// TMultilevel_code_info
 | 
			
		||||
///////////////////////////////////////////////////////////
 | 
			
		||||
@ -170,7 +178,7 @@ TMultilevel_code_info::TMultilevel_code_info(int logicnum) : _logicnum(logicnum)
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    TConfig_anal cfg;
 | 
			
		||||
    TConfig_anal& cfg = ca_config();
 | 
			
		||||
 | 
			
		||||
    if (logicnum == LF_FASI)
 | 
			
		||||
    {
 | 
			
		||||
@ -265,7 +273,7 @@ bool ca_test_multilevel_field(TEdit_field& fld, int level)
 | 
			
		||||
// Utilities
 | 
			
		||||
///////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
void ca_append_select_clause(ostream& out, int level, int logic)
 | 
			
		||||
static void ca_append_select_clause(ostream& out, int level, int logic)
 | 
			
		||||
{
 | 
			
		||||
  TString str;
 | 
			
		||||
  if (logic == LF_PCON)
 | 
			
		||||
@ -293,15 +301,21 @@ void ca_append_select_clause(ostream& out, int level, int logic)
 | 
			
		||||
    str << ')';
 | 
			
		||||
  }
 | 
			
		||||
  if (str.not_empty())
 | 
			
		||||
    out << " SE " << str << endl;
 | 
			
		||||
    out << " SE " << str << '\n';
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ca_append_run_clause(ostream& out, int logicnum)
 | 
			
		||||
static void ca_append_run_clause(ostream& out, int logicnum)
 | 
			
		||||
{
 | 
			
		||||
  const TRectype r(logicnum);
 | 
			
		||||
  TString app; r.get_relapp(app);
 | 
			
		||||
  if (app.not_empty())
 | 
			
		||||
    out << "AD RU " << app << endl;
 | 
			
		||||
    out << "AD RU " << app << '\n';
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void init_tmp_filename(TFilename& name)
 | 
			
		||||
{
 | 
			
		||||
  name.tempdir(); 
 | 
			
		||||
  name.add("tmp.msk");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ca_create_browse1(TEdit_field& kfld, int level, int logic, short key_id, short des_id)
 | 
			
		||||
@ -320,10 +334,10 @@ void ca_create_browse1(TEdit_field& kfld, int level, int logic, short key_id, sh
 | 
			
		||||
 | 
			
		||||
  const TMultilevel_code_info& mci = ca_multilevel_code_info(logic);
 | 
			
		||||
 | 
			
		||||
  TFilename tmp; tmp.tempdir(); tmp.add("tmp.msk");
 | 
			
		||||
  TFilename tmp; init_tmp_filename(tmp);
 | 
			
		||||
  ofstream out(tmp);
 | 
			
		||||
 | 
			
		||||
  out << "US " << logic << endl;
 | 
			
		||||
  out << "US " << logic << '\n';
 | 
			
		||||
  ca_append_select_clause(out, level, logic);
 | 
			
		||||
  ca_append_run_clause(out, logic);
 | 
			
		||||
 | 
			
		||||
@ -333,19 +347,19 @@ void ca_create_browse1(TEdit_field& kfld, int level, int logic, short key_id, sh
 | 
			
		||||
    const TString& prompt = mci.prompt(i);
 | 
			
		||||
    const TFieldref& field = mci.fieldref(i);
 | 
			
		||||
    const int length = field.to() - field.from();
 | 
			
		||||
    out << "IN " << field << ' ' << (key_id+i) << endl;
 | 
			
		||||
    out << "IN " << field << ' ' << (key_id+i) << '\n';
 | 
			
		||||
    out << "DI \"" << prompt;
 | 
			
		||||
    if (length > prompt.len())
 | 
			
		||||
      out << '@' << length;
 | 
			
		||||
    out << "\" " << field << endl;
 | 
			
		||||
    out << "OU " << (key_id+i) << ' ' << field << endl;
 | 
			
		||||
    out << "\" " << field << '\n';
 | 
			
		||||
    out << "OU " << (key_id+i) << ' ' << field << '\n';
 | 
			
		||||
  }
 | 
			
		||||
  const TFieldref& field = mci.fieldref(0, 2);
 | 
			
		||||
  out << "DI \"" << TR("Descrizione") << "@50\" " << field << endl;
 | 
			
		||||
  out << "OU " << (des_id+level) << ' ' << field << endl;
 | 
			
		||||
  out << "CH NO" << endl;
 | 
			
		||||
  out << "FI " << main_info.fieldref(level) << endl;
 | 
			
		||||
  out << "EN" << endl;
 | 
			
		||||
  out << "DI \"" << TR("Descrizione") << "@50\" " << field << '\n';
 | 
			
		||||
  out << "OU " << (des_id+level) << ' ' << field << '\n';
 | 
			
		||||
  out << "CH NO" << '\n';
 | 
			
		||||
  out << "FI " << main_info.fieldref(level) << '\n';
 | 
			
		||||
  out << "EN" << '\n';
 | 
			
		||||
  out.close();
 | 
			
		||||
 | 
			
		||||
  TScanner scan(tmp);
 | 
			
		||||
@ -374,15 +388,16 @@ void ca_create_browse2(TEdit_field& kfld, int level, int logic, short key_id, sh
 | 
			
		||||
  const TFieldref& field = mci.fieldref(0, 2);
 | 
			
		||||
  TString str2; str2 << field;
 | 
			
		||||
 | 
			
		||||
  TFilename tmp; tmp.tempdir(); tmp.add("tmp.msk");
 | 
			
		||||
  TFilename tmp; init_tmp_filename(tmp);
 | 
			
		||||
  ofstream out(tmp);
 | 
			
		||||
  out << "US " << logic << " KE 2" << endl;
 | 
			
		||||
  
 | 
			
		||||
  out << "US " << logic << " KE 2" << '\n';
 | 
			
		||||
  ca_append_select_clause(out, level, logic);
 | 
			
		||||
  ca_append_run_clause(out, logic);
 | 
			
		||||
 | 
			
		||||
  out << "IN " << str2 << ' ' << kfld.dlg() << endl;
 | 
			
		||||
  out << "DI \"" << TR("Descrizione") << "@50\" " << str2 << endl;
 | 
			
		||||
  out << "OU " << kfld.dlg() << ' ' << str2 << endl;
 | 
			
		||||
  out << "IN " << str2 << ' ' << kfld.dlg() << '\n';
 | 
			
		||||
  out << "DI \"" << TR("Descrizione") << "@50\" " << str2 << '\n';
 | 
			
		||||
  out << "OU " << kfld.dlg() << ' ' << str2 << '\n';
 | 
			
		||||
 | 
			
		||||
  for (int i = 0; i <= level; i++)
 | 
			
		||||
  {
 | 
			
		||||
@ -397,13 +412,13 @@ void ca_create_browse2(TEdit_field& kfld, int level, int logic, short key_id, sh
 | 
			
		||||
      if (mci.is_numeric_picture(i))
 | 
			
		||||
        out << 'R';
 | 
			
		||||
    }
 | 
			
		||||
    out << "\" " << field << endl;
 | 
			
		||||
    out << "OU " << (key_id+i) << ' ' << field << endl;
 | 
			
		||||
    out << "\" " << field << '\n';
 | 
			
		||||
    out << "OU " << (key_id+i) << ' ' << field << '\n';
 | 
			
		||||
  }
 | 
			
		||||
  out << "CH NO" << endl;
 | 
			
		||||
  out << "CH NO" << '\n';
 | 
			
		||||
  if (level == main_info.levels()-1)
 | 
			
		||||
    out << "FI " << main_info.fieldref(0, 2) << endl;
 | 
			
		||||
  out << "EN" << endl;
 | 
			
		||||
    out << "FI " << main_info.fieldref(0, 2) << '\n';
 | 
			
		||||
  out << "EN" << '\n';
 | 
			
		||||
  out.close();
 | 
			
		||||
 | 
			
		||||
  TScanner scan(tmp);
 | 
			
		||||
@ -623,7 +638,7 @@ void TSimple_anal_msk::read(const char* name)
 | 
			
		||||
 | 
			
		||||
  if (delta > 0)
 | 
			
		||||
  {
 | 
			
		||||
    TFilename outname; outname.tempdir(); outname.add("tmp.msk");
 | 
			
		||||
    TFilename outname; init_tmp_filename(outname);
 | 
			
		||||
    TFilename inpname = name; inpname.ext("msk");
 | 
			
		||||
    inpname.custom_path();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										30
									
								
								ca/calib01.h
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								ca/calib01.h
									
									
									
									
									
								
							@ -17,6 +17,23 @@
 | 
			
		||||
class TBill;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
///////////////////////////////////////////////////////////
 | 
			
		||||
//  TConfig_anal
 | 
			
		||||
///////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
class TConfig_anal : public TConfig
 | 
			
		||||
{
 | 
			
		||||
  bool _has_ca;
 | 
			
		||||
public:
 | 
			
		||||
  virtual const TString& get(const char* var, const char* section = NULL, int index = -1, const char* def = "");
 | 
			
		||||
  TConfig_anal();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
TConfig_anal& ca_config();
 | 
			
		||||
 | 
			
		||||
///////////////////////////////////////////////////////////
 | 
			
		||||
//  TConfig_anal
 | 
			
		||||
///////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
class TMultilevel_code_info : public TObject
 | 
			
		||||
{
 | 
			
		||||
@ -169,17 +186,4 @@ public:
 | 
			
		||||
  const TRecord_array& righe(const TBill& bill);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
///////////////////////////////////////////////////////////
 | 
			
		||||
//  TConfig_anal
 | 
			
		||||
///////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
class TConfig_anal : public TConfig
 | 
			
		||||
{
 | 
			
		||||
  bool _has_ca;
 | 
			
		||||
public:
 | 
			
		||||
  virtual const TString& get(const char* var, const char* section = NULL, int index = -1, const char* def = "");
 | 
			
		||||
  TConfig_anal();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
@ -263,7 +263,7 @@ void TPconana_recordset::set_tipo(char tipo)
 | 
			
		||||
{
 | 
			
		||||
  if (tipo != 'A' && tipo != 'C')
 | 
			
		||||
  {
 | 
			
		||||
    TConfig_anal cfg;
 | 
			
		||||
  	TConfig_anal& cfg = ca_config();
 | 
			
		||||
    tipo = cfg.get_bool("UsePdcc") ? 'C' : 'A';
 | 
			
		||||
  }
 | 
			
		||||
  _tipo = tipo;
 | 
			
		||||
@ -996,7 +996,7 @@ void TAnal_report_mask::create_sheet(short sheet_id)
 | 
			
		||||
 | 
			
		||||
  const TMultilevel_code_info& fasinfo = ca_multilevel_code_info(LF_FASI);
 | 
			
		||||
 | 
			
		||||
  TConfig_anal ini;
 | 
			
		||||
	TConfig_anal& ini = ca_config();
 | 
			
		||||
 | 
			
		||||
  int y = 1;
 | 
			
		||||
  short dlg = S_CDC1 + 100; // id del primo campo da generare
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user