Patch level : 12.0 nopatch
Files correlati : ve, ba Commento: Aggiornamento velib07
This commit is contained in:
		
							parent
							
								
									e8872bc29e
								
							
						
					
					
						commit
						6c6a159c78
					
				@ -1942,23 +1942,33 @@ void TInstaller::convert_archives()
 | 
			
		||||
  bool conv = true;
 | 
			
		||||
  if (is_power_station())
 | 
			
		||||
    conv = yesno_box(TR("Si desidera convertire gli archivi ora?"));
 | 
			
		||||
  TRACE("Da convertire ", conv ? "si" : "no");
 | 
			
		||||
  if (conv)
 | 
			
		||||
  {
 | 
			
		||||
      TRACE("backup");
 | 
			
		||||
    _m->backup();
 | 
			
		||||
    // Lancia conversione: ba1 -0 -C -uADMIN
 | 
			
		||||
    TExternal_app conversion("ba1 -0 -C");
 | 
			
		||||
    TRACE("Conversione");
 | 
			
		||||
    conversion.run();
 | 
			
		||||
    TRACE("Fine Conversione");
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void TInstaller::main_loop()
 | 
			
		||||
{
 | 
			
		||||
    TRACE("Avvio conversione");
 | 
			
		||||
  _m->run();
 | 
			
		||||
  TRACE("Chiusura conversione");
 | 
			
		||||
  TRACE("Aggiornato %s", _m->run_conversion()? "si" : "no");
 | 
			
		||||
 | 
			
		||||
  TRACE("Stazione %d  %s", _m->station_type(), _m->station_type() < 3 ? "si" : "no");
 | 
			
		||||
 | 
			
		||||
  if (_m->run_conversion() && _m->station_type() < 3) // Almeno un trr installato e non e' client->conversione ammessa
 | 
			
		||||
  {
 | 
			
		||||
    convert_archives();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  TRACE("Lancio menu");
 | 
			
		||||
  //controlla se ha lanciato setup.exe prima di chiudersi; se non lo ha fatto -> e' a fine installazione..
 | 
			
		||||
  //..normale (moduli non SY) e quindi lancia ba0.exe
 | 
			
		||||
  const bool setup_launched = _m->setup_run();
 | 
			
		||||
@ -1968,6 +1978,7 @@ void TInstaller::main_loop()
 | 
			
		||||
    TExternal_app ba0("ba0.exe");
 | 
			
		||||
    ba0.run(true, true, false); // run asynchronous and not iconized!
 | 
			
		||||
  }
 | 
			
		||||
  TRACE("Fine");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int ba1700(int argc, char* argv[])
 | 
			
		||||
 | 
			
		||||
@ -24,6 +24,7 @@ void TListaFido_app::main_loop()
 | 
			
		||||
	m.set(F_REPORT, "ve18001");
 | 
			
		||||
	((TButton_tool&)m.field(DLG_PREVIEW)).set_exit_key(K_VISUALIZE);
 | 
			
		||||
	((TButton_tool&)m.field(DLG_PRINT)).set_exit_key(K_PRINT);
 | 
			
		||||
	m.show(F_DADATA, ini_get_bool(CONFIG_STUDIO, "Main", "MYGOD"));
 | 
			
		||||
	
 | 
			
		||||
	KEY k;
 | 
			
		||||
 | 
			
		||||
@ -60,10 +61,14 @@ void TListaFido_app::main_loop()
 | 
			
		||||
		recset->set_var("#CODFR", cod_fr);
 | 
			
		||||
		recset->set_var("#CODTO", cod_to);
 | 
			
		||||
 | 
			
		||||
		TDate dal = m.get_date(F_DADATA);
 | 
			
		||||
		TDate al = m.get_date(F_ADATA);
 | 
			
		||||
		
 | 
			
		||||
		if (dal.ok())
 | 
			
		||||
			report.set_datafidodal(dal);
 | 
			
		||||
 | 
			
		||||
		if (al.ok())
 | 
			
		||||
			report.set_datafido(al);
 | 
			
		||||
			report.set_datafidoal(al);
 | 
			
		||||
 | 
			
		||||
		book.add(report);
 | 
			
		||||
		if (book.pages() > 0)
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,7 @@
 | 
			
		||||
#define F_CODTO      103
 | 
			
		||||
#define F_RAGSOCTO   104
 | 
			
		||||
 | 
			
		||||
#define F_ADATA			 105
 | 
			
		||||
#define F_REPORT		 106
 | 
			
		||||
#define F_CONFIDO		 107
 | 
			
		||||
#define F_DADATA		 105
 | 
			
		||||
#define F_ADATA			 106
 | 
			
		||||
#define F_REPORT		 107
 | 
			
		||||
#define F_CONFIDO		 108
 | 
			
		||||
 | 
			
		||||
@ -75,9 +75,15 @@ BEGIN
 | 
			
		||||
  CHECKTYPE SEARCH
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
DATE F_DADATA
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 2 7 "Da data"
 | 
			
		||||
	FLAGS "H"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
DATE F_ADATA
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 2 7 "Alla data "
 | 
			
		||||
  PROMPT 30 7 "Alla data "
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BOOLEAN F_CONFIDO
 | 
			
		||||
 | 
			
		||||
@ -402,7 +402,8 @@ bool TDocument_report::load(const char* name)
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
	set_datafido(today);
 | 
			
		||||
  set_datafidodal(botime);
 | 
			
		||||
	set_datafidoal(today);
 | 
			
		||||
  return ok;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -739,11 +740,11 @@ bool TDocument_report::msg_fido(TVariant_stack& stack)
 | 
			
		||||
	int selector = stack.pop().as_int();
 | 
			
		||||
 | 
			
		||||
	if (selector & 1)
 | 
			
		||||
		value += calcola_saldo_contabile('C', codcf, _data_fido);
 | 
			
		||||
		value += calcola_saldo_contabile('C', codcf, _data_fido_al);
 | 
			
		||||
	if (selector & 2)
 | 
			
		||||
		value += calcola_esposto_da_saldaconto('C', codcf, _data_fido, _riskdays);
 | 
			
		||||
		value += calcola_esposto_da_saldaconto('C', codcf, _data_fido_dal ,_data_fido_al, _riskdays);
 | 
			
		||||
	if(selector & 4)
 | 
			
		||||
		value += calcola_fido_da_documenti('C', codcf, _data_fido, EMPTY_STRING);
 | 
			
		||||
		value += calcola_fido_da_documenti('C', codcf, _data_fido_al, EMPTY_STRING);
 | 
			
		||||
	
 | 
			
		||||
	curr_field()->set(TVariant(value>0 ? value : ""));
 | 
			
		||||
	return true;
 | 
			
		||||
@ -872,10 +873,10 @@ static TImporto get_importo(const TISAM_recordset& partite, const char* sezione,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static real calcola_esposto_da_saldaconto (const char tipocf, const long codcf, const TDate& datacalc, const int riskdays)
 | 
			
		||||
static real calcola_esposto_da_saldaconto (const char tipocf, const long codcf,const TDate& from, const TDate& to, const int riskdays)
 | 
			
		||||
{
 | 
			
		||||
	// //data considerante i giorni di rischio ammessi dall'utonto
 | 
			
		||||
	TDate data_sbf = datacalc;
 | 
			
		||||
	TDate data_sbf = to;
 | 
			
		||||
	TImporto esposto;		//importone somma degli importi delle righe del recordset
 | 
			
		||||
 | 
			
		||||
	//estrae le righe partita relative a pagamenti successivi alla data di rischio (e con tipopag >2,<7)
 | 
			
		||||
@ -889,31 +890,37 @@ static real calcola_esposto_da_saldaconto (const char tipocf, const long codcf,
 | 
			
		||||
	data_sbf -= riskdays;
 | 
			
		||||
  for (bool ok = partite.move_first(); ok; ok = partite.move_next())
 | 
			
		||||
  {
 | 
			
		||||
    TImporto importo_riga;
 | 
			
		||||
	  if (partite.get_date(PART_DATADOC)< from) 
 | 
			
		||||
	  {
 | 
			
		||||
		  TImporto importo_riga;
 | 
			
		||||
 | 
			
		||||
    //fatture,note di credito,pagamenti
 | 
			
		||||
    TImporto importo_partita = get_importo(partite, PART_SEZ, PART_IMPORTO);
 | 
			
		||||
    importo_riga += importo_partita;
 | 
			
		||||
		const tipo_movimento tipo_mov = (tipo_movimento) partite.get_int(PART_TIPOMOV);
 | 
			
		||||
		const tipo_pagamento tipo_pag = (tipo_pagamento) partite.get_int(PART_TIPOPAG);
 | 
			
		||||
		const TDate datapag = partite.get_date(PART_DATAPAG);
 | 
			
		||||
		  //fatture,note di credito,pagamenti
 | 
			
		||||
		  TImporto importo_partita = get_importo(partite, PART_SEZ, PART_IMPORTO);
 | 
			
		||||
 | 
			
		||||
 //pagamenti (tm=3), insoluti (tm=5), pagamenti insoluti(tm=6)
 | 
			
		||||
    if ((tipo_mov >= tm_pagamento) &&
 | 
			
		||||
 | 
			
		||||
		  importo_riga += importo_partita;
 | 
			
		||||
		  const tipo_movimento tipo_mov = (tipo_movimento)partite.get_int(PART_TIPOMOV);
 | 
			
		||||
		  const tipo_pagamento tipo_pag = (tipo_pagamento)partite.get_int(PART_TIPOPAG);
 | 
			
		||||
		  const TDate datapag = partite.get_date(PART_DATAPAG);
 | 
			
		||||
 | 
			
		||||
		  //pagamenti (tm=3), insoluti (tm=5), pagamenti insoluti(tm=6)
 | 
			
		||||
		  if ((tipo_mov >= tm_pagamento) &&
 | 
			
		||||
			  (tipo_pag >= tp_tratta && tipo_pag <= tp_rid) &&
 | 
			
		||||
			  ((datapag >= data_sbf) && (datapag <= datacalc)))
 | 
			
		||||
    {
 | 
			
		||||
      TImporto importo_abbuono = get_importo(partite, PART_SEZABB, PART_ABBUONI);
 | 
			
		||||
      importo_riga += importo_abbuono;
 | 
			
		||||
			  ((datapag >= data_sbf) && (datapag <= to)))
 | 
			
		||||
		  {
 | 
			
		||||
			  TImporto importo_abbuono = get_importo(partite, PART_SEZABB, PART_ABBUONI);
 | 
			
		||||
			  importo_riga += importo_abbuono;
 | 
			
		||||
 | 
			
		||||
      if (!partite.get(PART_CODVAL).is_empty())		// pagamenti in valuta
 | 
			
		||||
      {
 | 
			
		||||
        TImporto importo_diff_cambio = get_importo(partite, PART_SEZDIFCAM, PART_DIFFCAM);
 | 
			
		||||
        importo_riga += importo_diff_cambio;
 | 
			
		||||
      }
 | 
			
		||||
			//somma importi presenti sulla riga partita (fatture, pagamenti, insoluti, pagamenti insoluti)
 | 
			
		||||
			esposto += importo_riga;
 | 
			
		||||
		}
 | 
			
		||||
			  if (!partite.get(PART_CODVAL).is_empty())		// pagamenti in valuta
 | 
			
		||||
			  {
 | 
			
		||||
				  TImporto importo_diff_cambio = get_importo(partite, PART_SEZDIFCAM, PART_DIFFCAM);
 | 
			
		||||
				  importo_riga += importo_diff_cambio;
 | 
			
		||||
			  }
 | 
			
		||||
			  //somma importi presenti sulla riga partita (fatture, pagamenti, insoluti, pagamenti insoluti)
 | 
			
		||||
			  esposto += importo_riga;
 | 
			
		||||
		  }
 | 
			
		||||
	  }
 | 
			
		||||
    
 | 
			
		||||
  }
 | 
			
		||||
  //la normalizzazione del totale delle partite va fatta in base al fatto che si parli di 'C'liente o 'F'ornitore
 | 
			
		||||
  const char sezione_finale = (tipocf == 'C') ? 'A' : 'D';
 | 
			
		||||
@ -1004,7 +1011,7 @@ real calcola_fido_cliente (long codcf, const TDate& datacalc, const TDoc_key& ig
 | 
			
		||||
  //PRIMA PARTE: controlla i movimenti
 | 
			
		||||
  real saldo_contabile = calcola_saldo_contabile('C', codcf, datacalc);
 | 
			
		||||
  //SECONDA PARTE: controlla il saldaconto
 | 
			
		||||
  real esposto_saldaconto = calcola_esposto_da_saldaconto('C', codcf, datacalc, 10); // 10 giorni ?
 | 
			
		||||
  real esposto_saldaconto = calcola_esposto_da_saldaconto('C', codcf, botime, datacalc, 10); // 10 giorni ?
 | 
			
		||||
  //TERZA PARTE: controlla i documenti
 | 
			
		||||
  real tot_documenti = calcola_fido_da_documenti('C',codcf, datacalc, ignore);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -108,7 +108,8 @@ public:
 | 
			
		||||
class TDocument_report : public TReport
 | 
			
		||||
{
 | 
			
		||||
  size_t _first_msg;
 | 
			
		||||
	TDate _data_fido;
 | 
			
		||||
	TDate _data_fido_dal;
 | 
			
		||||
	TDate _data_fido_al;
 | 
			
		||||
	int _riskdays;
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
@ -127,7 +128,8 @@ protected:
 | 
			
		||||
public:
 | 
			
		||||
  virtual bool set_recordset(const TString& query);
 | 
			
		||||
  virtual bool set_recordset(TRecordset * set) { return TReport::set_recordset(set);}
 | 
			
		||||
	void set_datafido(const TDate& data)	{	_data_fido = data.ok() ? data : today; }
 | 
			
		||||
  void set_datafidoal(const TDate& data)	{	_data_fido_al = data.ok() ? data : today; }
 | 
			
		||||
  void set_datafidodal(const TDate& data) { _data_fido_dal = data.ok() ? data : botime; }
 | 
			
		||||
  bool load(const char* name);
 | 
			
		||||
	TDocument_report();
 | 
			
		||||
};
 | 
			
		||||
@ -139,7 +141,7 @@ public:
 | 
			
		||||
//metodo per il calcolo del fido cliente
 | 
			
		||||
real calcola_fido_cliente (long codcf, const TDate& datacalc, const TDoc_key& ignore);
 | 
			
		||||
real calcola_saldo_contabile(const char tipocf, const long codcf, const TDate& datacalc);
 | 
			
		||||
real calcola_esposto_da_saldaconto(const char tipocf, const long codcf, const TDate& datacalc, const int riskdays);
 | 
			
		||||
real calcola_esposto_da_saldaconto(const char tipocf, const long codcf, const TDate& from, const TDate& to, const int riskdays);
 | 
			
		||||
real calcola_fido_da_documenti(const char tipocf, const long codcf, const TDate& datacalc, const TDoc_key& ignore);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user