Patch level : 12.0 no-patch
Files correlati : f9.exe, f23.dirr, f23.trr Commento : - Pulizia codice - Ripensata estrazione - Corretta procedura di guessing - Spostata pagina controllo errori in una nuova maschera - Aggiunta maschera per estrazione degli esclusi - Aggionto campo elabf9 su mov per segnarmi lo stato di estrazione
This commit is contained in:
		
							parent
							
								
									e2362e19d1
								
							
						
					
					
						commit
						696c2fd07a
					
				@ -1,3 +1,3 @@
 | 
			
		||||
23
 | 
			
		||||
0
 | 
			
		||||
$mov|||574|0|Movimenti di prima nota|NMOV||
 | 
			
		||||
$mov|96160|96160|586|0|Movimenti di prima nota|NMOV||
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
23
 | 
			
		||||
62
 | 
			
		||||
63
 | 
			
		||||
ANNOES|9|4|0|Codice esercizio
 | 
			
		||||
NUMREG|3|7|0|Numero di operazione
 | 
			
		||||
DATAREG|5|8|0|Data operazione
 | 
			
		||||
@ -62,6 +62,7 @@ TFDATA|5|8|0|Data ultimo invio Trasferimento Fatture
 | 
			
		||||
IVALIQ|8|1|0|Iva per cassa liquidata completamente
 | 
			
		||||
KEYFPPRO|1|80|0|Chiavi dell'FPPRO [KEYPRGINVIO;KEYHEADERFATT;KEYBODYFATT]
 | 
			
		||||
MOVCOLL|3|7|0|Movimento collegato
 | 
			
		||||
ELABF9|1|12|0|archiviato , data , esclusione
 | 
			
		||||
4
 | 
			
		||||
NUMREG| 
 | 
			
		||||
DATAREG+NUMREG|X
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										102
									
								
								src/f1/f1lib.cpp
									
									
									
									
									
								
							
							
						
						
									
										102
									
								
								src/f1/f1lib.cpp
									
									
									
									
									
								
							@ -1,6 +1,5 @@
 | 
			
		||||
#include "f1lib.h"
 | 
			
		||||
#include "config.h"
 | 
			
		||||
#include "modaut.h"
 | 
			
		||||
#include "cg2103.h"
 | 
			
		||||
#include "cg2102.h"
 | 
			
		||||
#include "execp.h"
 | 
			
		||||
@ -27,26 +26,8 @@ bool TFppro::check_reg(TToken_string& keys, int numreg)
 | 
			
		||||
	return get_numreg(keys) == numreg;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// todo: da mettere apposto fa ancora schifo
 | 
			
		||||
bool TFppro::guess_the_doc(const TLocalisamfile& mov)
 | 
			
		||||
{
 | 
			
		||||
	// Controllo datadoc - numdoc - totdoc - p.iva
 | 
			
		||||
	TString query;
 | 
			
		||||
	query << "SELECT PQ_KEYPRGINVIO AS KEYPRGINVIO, PQ_KEYHEADERFATT AS KEYHEADERFATT, PQ_KEYBODYFATT AS KEYBODYFATT, P7_DATA AS DATA,\n" <<
 | 
			
		||||
		"\tP7_NUMERO AS NUMDOC, PQ_IMPTOTDOC AS IMPTOTDOC, P2_FISCIVAPAESE AS STATOPIVA, P2_FISCIVACOD AS PIVA FROM PAA2700F\n" <<
 | 
			
		||||
		"JOIN PAA0700F ON PQ_KEYPRGINVIO = P7_KEYPRGINVIO AND PQ_KEYHEADERFATT = P7_KEYHEADERFATT AND PQ_KEYBODYFATT = P7_KEYBODYFATT\n" <<
 | 
			
		||||
		"JOIN PAA0200F ON PQ_KEYPRGINVIO = P2_KEYPRGINVIO AND PQ_KEYHEADERFATT = P2_KEYHEADERFATT AND PQ_KEYBODYFATT = P2_KEYBODYFATT\n";
 | 
			
		||||
	_db->sq_set_exec(query, false);
 | 
			
		||||
 | 
			
		||||
	for(bool f = _db->sq_next(); f; f = _db->sq_next())
 | 
			
		||||
	{
 | 
			
		||||
		const keys_s		keys = { _db->sq_get("KEYPRGINVIO"), _db->sq_get("KEYHEADERFATT"), _db->sq_get("KEYBODYFATT") };
 | 
			
		||||
		const TDate			data = _db->sq_get_date("DATA");
 | 
			
		||||
		const TString		numdoc = _db->sq_get("NUMDOC");
 | 
			
		||||
		const real			imptotdoc(_db->sq_get("IMPTOTDOC"));
 | 
			
		||||
		const TString4	statopiva = _db->sq_get("STATOPIVA");
 | 
			
		||||
		const TString		piva = _db->sq_get("PIVA");
 | 
			
		||||
 | 
			
		||||
	// Prendo il fornitore del mov per controllare la p.iva
 | 
			
		||||
	TLocalisamfile clifo(LF_CLIFO);
 | 
			
		||||
	clifo.put(CLI_TIPOCF, "F");
 | 
			
		||||
@ -56,17 +37,24 @@ bool TFppro::guess_the_doc(const TLocalisamfile& mov)
 | 
			
		||||
	TString cli_statopiva, cli_piva;
 | 
			
		||||
	cli_statopiva << clifo.get(CLI_STATOPAIV);
 | 
			
		||||
	cli_piva << clifo.get(CLI_PAIV);
 | 
			
		||||
	const real tot = mov.get_real(MOV_TOTDOC) + mov.get_real(MOV_RITFIS) + mov.get_real(MOV_RITSOC);
 | 
			
		||||
 | 
			
		||||
		bool ok = data == mov.get_date(MOV_DATAREG);
 | 
			
		||||
		ok = ok && numdoc == mov.get(MOV_NUMDOC) || numdoc == mov.get(MOV_NUMDOCEXT);
 | 
			
		||||
		ok = ok && imptotdoc == real(mov.get(MOV_TOTDOC));
 | 
			
		||||
		ok = ok && cli_statopiva.full() && statopiva == cli_statopiva && piva == cli_piva || !cli_statopiva.full() && piva == cli_piva;
 | 
			
		||||
		if (ok)
 | 
			
		||||
	// Controllo datadoc - numdoc - totdoc - p.iva
 | 
			
		||||
	TString query;
 | 
			
		||||
	query << "SELECT PQ_KEYPRGINVIO AS KEYPRGINVIO, PQ_KEYHEADERFATT AS KEYHEADERFATT, PQ_KEYBODYFATT AS KEYBODYFATT, P7_DATA AS DATA,\n" <<
 | 
			
		||||
		"\tP7_NUMERO AS NUMDOC, PQ_IMPTOTDOC AS IMPTOTDOC, P2_FISCIVAPAESE AS STATOPIVA, P2_FISCIVACOD AS PIVA FROM PAA2700F\n" <<
 | 
			
		||||
		"JOIN PAA0700F ON PQ_KEYPRGINVIO = P7_KEYPRGINVIO AND PQ_KEYHEADERFATT = P7_KEYHEADERFATT AND PQ_KEYBODYFATT = P7_KEYBODYFATT\n" <<
 | 
			
		||||
		"JOIN PAA0200F ON PQ_KEYPRGINVIO = P2_KEYPRGINVIO AND PQ_KEYHEADERFATT = P2_KEYHEADERFATT AND PQ_KEYBODYFATT = P2_KEYBODYFATT\n" <<
 | 
			
		||||
		"WHERE P7_DATA = '" << mov.get_date(MOV_DATADOC).date2ansi() << "' AND \n" << 
 | 
			
		||||
		"(P7_NUMERO = '" << mov.get(MOV_NUMDOC) << "' OR P7_NUMERO = '" << mov.get(MOV_NUMDOCEXT) << "') AND \n" <<
 | 
			
		||||
		(cli_statopiva.full()? TString("P2_FISCIVAPAESE = '") << cli_statopiva << "' AND P2_FISCIVACOD = '" << cli_piva << "'": TString("P2_FISCIVACOD = '") << cli_piva << "'") << " AND \n" <<
 | 
			
		||||
		"PQ_IMPTOTDOC = '" << tot << "'";
 | 
			
		||||
 | 
			
		||||
	if (_db->sq_set_exec(query) && _db->sq_items() == 1)
 | 
			
		||||
	{
 | 
			
		||||
			_keys = keys;
 | 
			
		||||
		_keys = { _db->sq_get("KEYPRGINVIO"), _db->sq_get("KEYHEADERFATT"), _db->sq_get("KEYBODYFATT") };
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
	}
 | 
			
		||||
		
 | 
			
		||||
	return false;
 | 
			
		||||
}
 | 
			
		||||
@ -144,11 +132,12 @@ TFppro& TFppro::set_keys(TToken_string& keys)
 | 
			
		||||
		_is_set						= false;
 | 
			
		||||
		_keys_setted			= true;
 | 
			
		||||
	}
 | 
			
		||||
	else
 | 
			
		||||
		_keys_setted = false;
 | 
			
		||||
	return *this;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TFppro& TFppro::set_keys(keys_s keys)
 | 
			
		||||
TFppro& TFppro::set_keys(const keys_s& keys)
 | 
			
		||||
{
 | 
			
		||||
	if(*keys.prginvio != 0 && *keys.headerfatt != 0 && *keys.bodyfatt != 0)
 | 
			
		||||
	{
 | 
			
		||||
@ -163,7 +152,7 @@ TFppro& TFppro::set_keys(keys_s keys)
 | 
			
		||||
 | 
			
		||||
bool TFppro::associa_mov(const int numreg) const
 | 
			
		||||
{
 | 
			
		||||
	bool ok = false;
 | 
			
		||||
	bool ok;
 | 
			
		||||
	TLocalisamfile mov(LF_MOV);
 | 
			
		||||
	mov.put(MOV_NUMREG, numreg);
 | 
			
		||||
	if ((ok = mov.read() == NOERR))
 | 
			
		||||
@ -186,6 +175,51 @@ bool TFppro::associa_mov(const int numreg) const
 | 
			
		||||
	return ok;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const char* TFppro::get_tipoprot() const
 | 
			
		||||
{
 | 
			
		||||
	TString query;
 | 
			
		||||
	static TString tipo;
 | 
			
		||||
	query << "SELECT PZ_TIPOPROT AS TIPOPROT FROM FPPRO00F\r\n" << where_str();
 | 
			
		||||
	_db->sq_set_exec(query);
 | 
			
		||||
	return tipo.cut(0) = _db->sq_get("TIPOPROT");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const char* TFppro::get_numprot() const
 | 
			
		||||
{
 | 
			
		||||
	TString query;
 | 
			
		||||
	static TString num;
 | 
			
		||||
	query << "SELECT PZ_NUMPROT AS NUMPROT FROM FPPRO00F\r\n" << where_str();
 | 
			
		||||
	_db->sq_set_exec(query);
 | 
			
		||||
	return num.cut(0) = _db->sq_get("NUMPROT");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const char* TFppro::get_annoprot() const
 | 
			
		||||
{
 | 
			
		||||
	TString query;
 | 
			
		||||
	static TString anno;
 | 
			
		||||
	query << "SELECT PZ_ANNOPROT AS ANNOPROT FROM FPPRO00F\r\n" << where_str();
 | 
			
		||||
	_db->sq_set_exec(query);
 | 
			
		||||
	return anno.cut(0) = _db->sq_get("ANNOPROT");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const char* TFppro::get_dataoraric() const
 | 
			
		||||
{
 | 
			
		||||
	TString query;
 | 
			
		||||
	static TString data;
 | 
			
		||||
	query << "SELECT PZ_DATAORARIC AS DATAORARIC FROM FPPRO00F\r\n" << where_str();
 | 
			
		||||
	_db->sq_set_exec(query);
 | 
			
		||||
	return data.cut(0) << _db->sq_get_date("DATAORARIC").date2ansi();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const char* TFppro::get_tipodoc() const
 | 
			
		||||
{
 | 
			
		||||
	TString query;
 | 
			
		||||
	static TString tipodoc;
 | 
			
		||||
	query << "SELECT PZ_TIPODOC AS TIPODOC FROM FPPRO00F\r\n" << where_str();
 | 
			
		||||
	_db->sq_set_exec(query);
 | 
			
		||||
	return tipodoc.cut(0) << _db->sq_get("TIPODOC");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TDate TFppro::get_data_first_doc() const
 | 
			
		||||
{
 | 
			
		||||
	TString query;
 | 
			
		||||
@ -229,7 +263,7 @@ const char* TFppro::where_str() const
 | 
			
		||||
	return str;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TFppro::TFppro() : _keys({ "\0", "\0", "\0" }), _guess(false), _keys_setted(false), _is_set(false)
 | 
			
		||||
TFppro::TFppro() : _keys({ "\0", "\0", "\0" }), _keys_setted(false), _is_set(false)
 | 
			
		||||
{
 | 
			
		||||
	_db = new SSimple_query();
 | 
			
		||||
	const bool ok = set_connection(*_db);
 | 
			
		||||
@ -241,6 +275,12 @@ TFppro::TFppro() : _keys({ "\0", "\0", "\0" }), _guess(false), _keys_setted(fals
 | 
			
		||||
// TProtocollo
 | 
			
		||||
//////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
prot_s TProtocollo::get_prot()
 | 
			
		||||
{
 | 
			
		||||
	const prot_s prot = { _tipoprot, _progres, _year };
 | 
			
		||||
	return prot;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TString& TProtocollo::prot_in(const int year, const char* tipoprot, const char* progres)
 | 
			
		||||
{
 | 
			
		||||
	static TString protocollo;
 | 
			
		||||
@ -251,7 +291,7 @@ TString& TProtocollo::prot_in(const int year, const char* tipoprot, const char*
 | 
			
		||||
	return protocollo;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void TProtocollo::set(const TProtocollo prot)
 | 
			
		||||
void TProtocollo::set(const TProtocollo& prot)
 | 
			
		||||
{
 | 
			
		||||
	_year = prot._year;
 | 
			
		||||
	_tipoprot = prot._tipoprot;
 | 
			
		||||
@ -430,7 +470,7 @@ bool TF1_log::show_log()
 | 
			
		||||
	{
 | 
			
		||||
		_log->preview();
 | 
			
		||||
		delete _log;
 | 
			
		||||
		_log = NULL;
 | 
			
		||||
		_log = nullptr;
 | 
			
		||||
	}
 | 
			
		||||
	return true;
 | 
			
		||||
}
 | 
			
		||||
@ -24,6 +24,13 @@ enum err_cont
 | 
			
		||||
	no_err					= 1
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct _prot_s
 | 
			
		||||
{
 | 
			
		||||
	const char* tipo;
 | 
			
		||||
	const char* num;
 | 
			
		||||
	int					anno;
 | 
			
		||||
} prot_s;
 | 
			
		||||
 | 
			
		||||
class TFppro : public TObject
 | 
			
		||||
{
 | 
			
		||||
	struct keys_s
 | 
			
		||||
@ -31,11 +38,9 @@ class TFppro : public TObject
 | 
			
		||||
		TString prginvio;
 | 
			
		||||
		TString headerfatt;
 | 
			
		||||
		TString bodyfatt;
 | 
			
		||||
	};
 | 
			
		||||
private:
 | 
			
		||||
	} _keys;
 | 
			
		||||
 | 
			
		||||
	SSimple_query* _db;
 | 
			
		||||
	keys_s	_keys;
 | 
			
		||||
	bool		_guess;
 | 
			
		||||
	bool		_keys_setted;
 | 
			
		||||
	bool		_is_set;
 | 
			
		||||
	TString _fppro_query;
 | 
			
		||||
@ -60,9 +65,14 @@ public:
 | 
			
		||||
	// Setters
 | 
			
		||||
	bool		set_query();
 | 
			
		||||
	TFppro&	set_keys(TToken_string& keys);
 | 
			
		||||
	TFppro&	set_keys(keys_s keys);
 | 
			
		||||
	TFppro&	set_keys(const keys_s& keys);
 | 
			
		||||
 | 
			
		||||
	bool associa_mov(int numreg) const;
 | 
			
		||||
	const char* get_tipoprot()		const;
 | 
			
		||||
	const char* get_numprot()			const;
 | 
			
		||||
	const char* get_annoprot()		const;
 | 
			
		||||
	const char* get_dataoraric()	const;
 | 
			
		||||
	const char* get_tipodoc()			const;
 | 
			
		||||
 | 
			
		||||
	TFppro();
 | 
			
		||||
	TFppro(TToken_string& keys) : TFppro() { set_keys(keys); }
 | 
			
		||||
@ -70,21 +80,24 @@ public:
 | 
			
		||||
 | 
			
		||||
class TProtocollo : TObject
 | 
			
		||||
{
 | 
			
		||||
	int			_year{};
 | 
			
		||||
	TString _tipoprot;
 | 
			
		||||
	TString	_progres;
 | 
			
		||||
	int			_year{};
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
	TProtocollo() = default;
 | 
			
		||||
	TProtocollo(const int year, const char* tipoprot, const char* progres): _year(year), _tipoprot(tipoprot), _progres(progres) { }
 | 
			
		||||
	TProtocollo(const int year, const char* tipoprot, const char* progres) : _tipoprot(tipoprot), _progres(progres), _year(year) { }
 | 
			
		||||
 | 
			
		||||
	void set(TProtocollo prot);
 | 
			
		||||
	void set(const TProtocollo& prot);
 | 
			
		||||
	void sset(const char*  prot);
 | 
			
		||||
	TString&	get_prot() const;
 | 
			
		||||
	prot_s		get_prot();
 | 
			
		||||
 | 
			
		||||
	int				get_year() const	{ return _year; }
 | 
			
		||||
	TString&	get_tipoprot()		{ return _tipoprot; }
 | 
			
		||||
	TString&	get_progres()			{ return _progres; }
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	static TString& prot_in(int year, const char* tipoprot, const char* progres);
 | 
			
		||||
 | 
			
		||||
	operator const char*() const { return static_cast<const char*>(get_prot()); }
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										183
									
								
								src/f9/f90100.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										183
									
								
								src/f9/f90100.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,183 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
#include "applicat.h"
 | 
			
		||||
#include "f90100a.h"
 | 
			
		||||
#include <automask.h>
 | 
			
		||||
 | 
			
		||||
#define PAR_MOD			"F9"
 | 
			
		||||
#define AMBIENTE_F9 "CODSOC"	// Codice ambiente (codsoc)
 | 
			
		||||
#define ADDRCART_F9 "ADDDOC"	// Indirizzo documenti cartacei
 | 
			
		||||
 | 
			
		||||
TDate	today(TODAY);
 | 
			
		||||
 | 
			
		||||
enum state_fppro
 | 
			
		||||
{
 | 
			
		||||
	correct = 1,
 | 
			
		||||
	reg_with_err = -1,
 | 
			
		||||
	not_fa = -10,	// Non e' fattura acquisti
 | 
			
		||||
	guessed = 100,
 | 
			
		||||
	no_guessed = 0
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct drd
 | 
			
		||||
{
 | 
			
		||||
	TString		cod_soc;
 | 
			
		||||
	TString		id_estr;
 | 
			
		||||
	bool			flag_prov{ true };
 | 
			
		||||
	TString		descr;
 | 
			
		||||
	char			tipo_doc{ 'A' };
 | 
			
		||||
	TDate			dal;
 | 
			
		||||
	TDate			al;
 | 
			
		||||
	TString		user;
 | 
			
		||||
	TString		timestamp;
 | 
			
		||||
	TString4	stato_estr{ "01" };
 | 
			
		||||
	TString		addr_cart;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
SSimple_query& db();
 | 
			
		||||
 | 
			
		||||
class TEstrai_mask : public TMask
 | 
			
		||||
{
 | 
			
		||||
	TString _descr;
 | 
			
		||||
 | 
			
		||||
	void				enable_fields(bool en = true);
 | 
			
		||||
 | 
			
		||||
	static bool estrai_handler(TMask_field& f, unsigned short key);
 | 
			
		||||
	static bool enable_handler(TMask_field& f, unsigned short key);
 | 
			
		||||
	static bool dataini_handler(TMask_field& f, unsigned short key);
 | 
			
		||||
	static bool dataend_handler(TMask_field& f, unsigned short key);
 | 
			
		||||
public:
 | 
			
		||||
	TString& get_descr() { return _descr; }
 | 
			
		||||
	TEstrai_mask();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class TEstrai_mask;
 | 
			
		||||
class TMonitor_mask;
 | 
			
		||||
class TControllo_mask;
 | 
			
		||||
class TF9_app : public TSkeleton_application
 | 
			
		||||
{
 | 
			
		||||
	//friend class TEstrai_mask;
 | 
			
		||||
	friend class TMonitor_mask;
 | 
			
		||||
	friend class TControllo_mask;
 | 
			
		||||
	drd										_head;
 | 
			
		||||
	TEstrai_mask*					_estr_msk;
 | 
			
		||||
	TMonitor_mask*				_msk;
 | 
			
		||||
  //TControllo_mask*      _controllo_msk;
 | 
			
		||||
	vector<TToken_string>	_movs;
 | 
			
		||||
  vector<TToken_string> _esclusi;     // Vettore con i movimenti esclusi
 | 
			
		||||
  TToken_string         _mov_escl;
 | 
			
		||||
	int										_tot_movs;
 | 
			
		||||
	TString								_ambiente;		// Codice ambiente (codsoc)
 | 
			
		||||
	TString								_addr_doc;		// Indirizzo documenti cartacei
 | 
			
		||||
	int										_last_estr_p;
 | 
			
		||||
	int										_last_estr_d;
 | 
			
		||||
  char                  _tipodoc_escl;
 | 
			
		||||
  char                  _flagprov_escl;
 | 
			
		||||
 | 
			
		||||
  static const char* traduci_stato(const TString& cod);
 | 
			
		||||
 | 
			
		||||
	state_fppro check_fppro(int numreg) const;
 | 
			
		||||
	const char* prepara_movimenti(TipoIVA tipo);
 | 
			
		||||
	const char* prepara_movimenti_escl(TipoIVA tipo, int numreg, TString& err) const;
 | 
			
		||||
	static bool is_doc_xml(const TLocalisamfile& mov);
 | 
			
		||||
	static bool check_periodo_def(const drd& head);
 | 
			
		||||
 | 
			
		||||
	static TString& drd_attr();
 | 
			
		||||
	TString&				drd_tovalues() const;
 | 
			
		||||
 | 
			
		||||
	TString next_estr_today(char tipo) const;
 | 
			
		||||
	bool		esporta();
 | 
			
		||||
	bool		new_extr() const;
 | 
			
		||||
 | 
			
		||||
	TDate			get_dataini() const { return _estr_msk->get_date(ES_DATAINI); }
 | 
			
		||||
	TDate			get_dataend() const { return _estr_msk->get_date(ES_DATAEND); }
 | 
			
		||||
	char			get_tipodoc() const { return _estr_msk->get(ES_TIPODOC)[0]; }
 | 
			
		||||
	char			get_tipodoc_escl() const { return _tipodoc_escl; }
 | 
			
		||||
	TipoIVA		get_tipoiva() const { return get_tipodoc() == 'V' ? iva_vendite : iva_acquisti; }
 | 
			
		||||
	TipoIVA		get_tipoiva_escl() const { return get_tipodoc_escl() == 'V' ? iva_vendite : iva_acquisti; }
 | 
			
		||||
	TString&	get_descr()		const { return _estr_msk->get_descr(); }
 | 
			
		||||
	bool			is_provviso() const { return _estr_msk->get(ES_FLAGPROV)[0] == 'P'; }
 | 
			
		||||
 | 
			
		||||
	void fill();
 | 
			
		||||
	void load();
 | 
			
		||||
	
 | 
			
		||||
public:
 | 
			
		||||
	const TString& get_ambiente() const { return _ambiente; };
 | 
			
		||||
	const TString& get_addr_doc() const { return _addr_doc; };
 | 
			
		||||
	
 | 
			
		||||
	void set_ambiente(const char* cod) { _ambiente.cut(0) << cod; };
 | 
			
		||||
	void set_addr_doc(const char* add) { _addr_doc.cut(0) << add; };
 | 
			
		||||
 | 
			
		||||
	void run_estr_msk() const { _estr_msk->run(); }
 | 
			
		||||
 | 
			
		||||
  static TMask& descr_msk();
 | 
			
		||||
 | 
			
		||||
  // Estrazione esclusi
 | 
			
		||||
  static bool select_escl_notify(TSheet_field& s, int row, KEY key);
 | 
			
		||||
  static bool controllo_escl_handler(TMask_field& field, KEY key);
 | 
			
		||||
  static bool year_handler(TMask_field& field, KEY key);
 | 
			
		||||
  void        open_esclusi();
 | 
			
		||||
 | 
			
		||||
	void	edit_wa() const;
 | 
			
		||||
	int		estrai(); // Estrazione per pacchetti "normali"
 | 
			
		||||
  int   estrai_single(TToken_string& row, char flagprov, char tipodoc);         // Estrazione singole per esclusi
 | 
			
		||||
	bool	estrazione_iva(bool escluso = false);  // Estrazione dati IVA sia per pacch. normali che per esclusi
 | 
			
		||||
	void	segna_in_errore() const;
 | 
			
		||||
 | 
			
		||||
  static const char* categoria_doc();
 | 
			
		||||
	static const char* caus_sos(const TLocalisamfile& mov, TipoIVA acquisti);
 | 
			
		||||
	static bool is_autofattura(const TLocalisamfile& mov);
 | 
			
		||||
 | 
			
		||||
	void main_loop() override;
 | 
			
		||||
	TF9_app() : _estr_msk(nullptr), _msk(nullptr), _mov_escl("", '|'), _tot_movs(0), _ambiente(""), _addr_doc(""), _last_estr_p(0), _last_estr_d(0),
 | 
			
		||||
    _tipodoc_escl('A'), _flagprov_escl('P') { }
 | 
			
		||||
};
 | 
			
		||||
TF9_app& app();
 | 
			
		||||
 | 
			
		||||
class TMonitor_mask : public TAutomask
 | 
			
		||||
{
 | 
			
		||||
	vector<TToken_string>	_fppro;
 | 
			
		||||
 | 
			
		||||
	static bool save_conf_handler(TMask_field& f, unsigned short key);
 | 
			
		||||
 | 
			
		||||
  static void		controllo_errori();
 | 
			
		||||
	// Riempie sheet per visualizzare le estrazioni
 | 
			
		||||
	bool		on_key(KEY key) override;
 | 
			
		||||
  static void		open_win_estr();
 | 
			
		||||
	void		open_win_conf() const;
 | 
			
		||||
 | 
			
		||||
	bool		on_field_event(TOperable_field& o, TField_event e, long jolly) override;
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
	void		disable_controllo_err();
 | 
			
		||||
	TMonitor_mask() : TAutomask("f90100a")
 | 
			
		||||
	{
 | 
			
		||||
		disable(DLG_FINDREC);
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class TControllo_mask : public TAutomask
 | 
			
		||||
{
 | 
			
		||||
  char  _ordin;
 | 
			
		||||
  char  _verso;
 | 
			
		||||
  int   _selected_mov;
 | 
			
		||||
  bool	_sel_esclusi;
 | 
			
		||||
  bool  _esclusi;
 | 
			
		||||
 | 
			
		||||
  void    fill() const;
 | 
			
		||||
  void    fill_fppro_sheet() const;
 | 
			
		||||
  TMask&  get_win_order();
 | 
			
		||||
  void    open_win_order();
 | 
			
		||||
 | 
			
		||||
  TToken_string* selected_mov();
 | 
			
		||||
  TToken_string* selected_fat() const;
 | 
			
		||||
  
 | 
			
		||||
  // Gestisce la selezione multipla negli sheet di controllo movimenti
 | 
			
		||||
  void selfatt(TOperable_field& o, long jolly) const;
 | 
			
		||||
  void conferma_esclusi() const;
 | 
			
		||||
  void associa();
 | 
			
		||||
 | 
			
		||||
  bool on_field_event(TOperable_field& o, TField_event e, long jolly) override;
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
  TControllo_mask(bool esclusi = false);
 | 
			
		||||
};
 | 
			
		||||
@ -1,6 +1,7 @@
 | 
			
		||||
// Sheet Pacchetti gia' elaborati
 | 
			
		||||
#define S_ELAB				201
 | 
			
		||||
#define F_TEXT				202
 | 
			
		||||
#define B_SHOWESCL		203
 | 
			
		||||
 | 
			
		||||
#define F_ARCH_B			101
 | 
			
		||||
#define F_IDESTR			102
 | 
			
		||||
@ -13,7 +14,7 @@
 | 
			
		||||
#define F_STATESTR		109
 | 
			
		||||
#define F_DESCR_E			110
 | 
			
		||||
 | 
			
		||||
// Campi del vettore _movs
 | 
			
		||||
// Campi del vettore _movs per promemoria
 | 
			
		||||
#define F_SEL					101
 | 
			
		||||
#define F_NUMREG			102
 | 
			
		||||
#define F_DATAREG			103
 | 
			
		||||
@ -21,9 +22,14 @@
 | 
			
		||||
#define F_CODCAUS			105
 | 
			
		||||
#define F_MESELIQ			106
 | 
			
		||||
#define F_NUMDOC			107
 | 
			
		||||
#define F_PROTIVA		108
 | 
			
		||||
#define F_DESCR			109
 | 
			
		||||
 | 
			
		||||
#define F_IMPTOTDOC		108
 | 
			
		||||
#define F_FORN        109
 | 
			
		||||
#define F_RAGSOC      110
 | 
			
		||||
#define F_PROTIVA		  111
 | 
			
		||||
#define F_DESCR			  112
 | 
			
		||||
#define F_ESCLUDI			113
 | 
			
		||||
#define F_ESCLUSO			114
 | 
			
		||||
#define F_DESCRERR		115
 | 
			
		||||
 | 
			
		||||
// Campi maschera finestra runtime estrazione
 | 
			
		||||
#define ES_DATAINI		501
 | 
			
		||||
@ -34,11 +40,17 @@
 | 
			
		||||
#define ES_FLAGGROUP	506
 | 
			
		||||
#define ES_TIPOGROUP	507
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// Campi maschera configurazione
 | 
			
		||||
#define CF_CODGROUP		501
 | 
			
		||||
#define CF_CODSOC			502
 | 
			
		||||
#define CF_ADDRGROUP	503
 | 
			
		||||
#define CF_ADDRDOC		504
 | 
			
		||||
 | 
			
		||||
// Campi maschera descrizione estrazione
 | 
			
		||||
#define DES_TEXT			501
 | 
			
		||||
#define DES_GROUP			502
 | 
			
		||||
 | 
			
		||||
// Campi maschera esclusi
 | 
			
		||||
#define ESC_BESTR			501
 | 
			
		||||
#define ESC_BEXIT			502
 | 
			
		||||
#define ESC_SSHEE			503
 | 
			
		||||
@ -10,23 +10,42 @@ END
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_ELABORA 2 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 1 "Estrazione"
 | 
			
		||||
  PROMPT 1 2 "Estrazione"
 | 
			
		||||
  PICTURE TOOL_ELABORA
 | 
			
		||||
	FLAGS ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_CONFIG 2 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 1 "Configurazione"
 | 
			
		||||
  PROMPT 1 3 "Configurazione"
 | 
			
		||||
  PICTURE TOOL_CONFIG
 | 
			
		||||
	FLAGS ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_FINDREC 2 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 1 "Controllo Estr."
 | 
			
		||||
  PROMPT 1 4 "Controllo Estr."
 | 
			
		||||
  PICTURE TOOL_PERMISSIONS
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_RECALC
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 5 "Ricarica"
 | 
			
		||||
  PICTURE TOOL_CONVERT
 | 
			
		||||
  FLAS ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_NULL 2 2
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 8 ""
 | 
			
		||||
  PICTURE 0
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BUTTON B_SHOWESCL 2 2
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 8 "Mostra esclusi"
 | 
			
		||||
	PICTURE TOOL_PERMISSIONS
 | 
			
		||||
	FLAGS ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
#include <helpbar.h>
 | 
			
		||||
@ -50,14 +69,12 @@ BEGIN
 | 
			
		||||
	ITEM "dal@8"
 | 
			
		||||
	ITEM "al@8"
 | 
			
		||||
	ITEM "Utente@8"
 | 
			
		||||
	ITEM "Stato estrazione@11"
 | 
			
		||||
	ITEM "Stato estrazione@22"
 | 
			
		||||
	ITEM "Descrizione@50"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
ENDPAGE
 | 
			
		||||
ENDMASK
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PAGE "Pacchetti" -1 -1 78 13
 | 
			
		||||
 | 
			
		||||
BOOLEAN F_ARCH_B
 | 
			
		||||
@ -114,7 +131,7 @@ BEGIN
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_STATESTR 16
 | 
			
		||||
STRING F_STATESTR 33
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
@ -136,21 +153,5 @@ BEGIN
 | 
			
		||||
  MESSAGE EXIT,K_QUIT
 | 
			
		||||
  PICTURE TOOL_QUIT
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
ENPAGE
 | 
			
		||||
ENDMASK
 | 
			
		||||
 | 
			
		||||
PAGE "Elenco di controllo" -1 -1 78 13
 | 
			
		||||
 | 
			
		||||
SPREADSHEET S_ELAB 60 10
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 0 2 "Movimenti da controllare"
 | 
			
		||||
	ITEM " "
 | 
			
		||||
	ITEM "DATA		 "
 | 
			
		||||
	ITEM "NDOCS		 "
 | 
			
		||||
	ITEM "PERIOD_DA"
 | 
			
		||||
	ITEM "PERIOD_A "
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
ENDPAGE
 | 
			
		||||
ENDMASK
 | 
			
		||||
							
								
								
									
										42
									
								
								src/f9/f90100b.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								src/f9/f90100b.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,42 @@
 | 
			
		||||
// Maschera controllo errori in comune con monitor e esclusi
 | 
			
		||||
// Sheet Pacchetti gia' elaborati
 | 
			
		||||
#define B_ORDER				201
 | 
			
		||||
#define B_ASSOC				202
 | 
			
		||||
#define B_SELESCL			203
 | 
			
		||||
#define B_ESCL				204
 | 
			
		||||
 | 
			
		||||
// Sheet movimenti da controllare
 | 
			
		||||
#define S_CONTROLLO		205
 | 
			
		||||
#define S_FPPRO				206
 | 
			
		||||
 | 
			
		||||
// Cambi maschera ordinamento sheet FPPRO
 | 
			
		||||
#define F_ORDER				301
 | 
			
		||||
#define F_VERSO				302
 | 
			
		||||
 | 
			
		||||
#define F_CSEL				101
 | 
			
		||||
#define F_CNUMREG			102
 | 
			
		||||
#define F_CDATAREG		103
 | 
			
		||||
#define F_CDATADOC		104
 | 
			
		||||
#define F_CCODCAUS		105
 | 
			
		||||
#define F_CMESELIQ		106
 | 
			
		||||
#define F_CNUMDOC			107
 | 
			
		||||
#define F_CIMPTOTDOC  108
 | 
			
		||||
#define F_CFORN       109
 | 
			
		||||
#define F_CRAGSOC     110
 | 
			
		||||
#define F_CPROTIVA		111
 | 
			
		||||
#define F_CDESCR			112
 | 
			
		||||
#define F_CESCLUDI		113
 | 
			
		||||
#define F_CESCLUSO		114
 | 
			
		||||
#define F_CDESCRERR		115
 | 
			
		||||
 | 
			
		||||
// Sheet fatture FPPRO da associare
 | 
			
		||||
#define F_FSEL				101
 | 
			
		||||
#define F_FTIPODOC		102
 | 
			
		||||
#define F_FDATA				103
 | 
			
		||||
#define F_FNUMDOC			104
 | 
			
		||||
#define F_FIMPTOTDOC	105
 | 
			
		||||
#define F_FFORNITORE	106
 | 
			
		||||
#define F_FRAGSOC			107
 | 
			
		||||
#define F_FSTATOPIVA	108
 | 
			
		||||
#define F_FPIVA				109
 | 
			
		||||
#define F_FPROKEYS		110
 | 
			
		||||
							
								
								
									
										263
									
								
								src/f9/f90100b.uml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										263
									
								
								src/f9/f90100b.uml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,263 @@
 | 
			
		||||
#include "f90100b.h"
 | 
			
		||||
 | 
			
		||||
TOOLBAR "topbar" 0 0 0 2
 | 
			
		||||
 | 
			
		||||
BUTTON B_ORDER 2 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 5 "Ordinamento"
 | 
			
		||||
  PICTURE TOOL_PERMISSIONS
 | 
			
		||||
	FLAGS ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BUTTON B_ASSOC 2 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 6 "Associa mov."
 | 
			
		||||
  PICTURE TOOL_PERMISSIONS
 | 
			
		||||
	FLAGS ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BUTTON B_SELESCL 2 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 8 "Sel. esclusi"
 | 
			
		||||
  PICTURE TOOL_PERMISSIONS
 | 
			
		||||
	FLAGS ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BUTTON B_ESCL 2 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 7 "Conf. esclusi"
 | 
			
		||||
  PICTURE TOOL_PERMISSIONS
 | 
			
		||||
	FLAGS ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_NULL 2 2
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 8 ""
 | 
			
		||||
  PICTURE 0
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
#include <helpbar.h>
 | 
			
		||||
ENDPAGE
 | 
			
		||||
 | 
			
		||||
PAGE "Elenco di controllo" -1 -1 78 13
 | 
			
		||||
 | 
			
		||||
SPREADSHEET S_CONTROLLO -1 10
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 0 0 "Movimenti da controllare"
 | 
			
		||||
	ITEM " "
 | 
			
		||||
	ITEM "NUMREG@8"
 | 
			
		||||
	ITEM "DATAREG@8"
 | 
			
		||||
	ITEM "DATADOC@8"
 | 
			
		||||
	ITEM "CODCAUS@8"
 | 
			
		||||
	ITEM "MESELIQ@8"
 | 
			
		||||
	ITEM "NUMDOC@8"
 | 
			
		||||
	ITEM "IMPTOTDOC@8"
 | 
			
		||||
	ITEM "FORNITORE@8"
 | 
			
		||||
	ITEM "RAGSOC@8"
 | 
			
		||||
	ITEM "PROTIVA@8"	
 | 
			
		||||
	ITEM "DESCR@8"
 | 
			
		||||
	ITEM "ESCLUDI@4"
 | 
			
		||||
	ITEM "ESCLUSO@5"
 | 
			
		||||
	ITEM "DESCR ERR"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
SPREADSHEET S_FPPRO -1 -1
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 0 11 "Movimenti da controllare"
 | 
			
		||||
	ITEM " "
 | 
			
		||||
	ITEM "TIPODOC"
 | 
			
		||||
	ITEM "DATA@8"
 | 
			
		||||
	ITEM "NUMDOC@12"
 | 
			
		||||
	ITEM "IMPTOTDOC@9"
 | 
			
		||||
	ITEM "FORNITORE@6"
 | 
			
		||||
	ITEM "RAGSOC@20"
 | 
			
		||||
	ITEM "STATOPIVA"
 | 
			
		||||
	ITEM "PIVA@8"
 | 
			
		||||
	ITEM "@1"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
ENDPAGE	
 | 
			
		||||
ENDMASK
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PAGE "Controllo" -1 -1 78 13
 | 
			
		||||
 | 
			
		||||
BOOLEAN F_CSEL
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
NUMERIC F_CNUMREG 7
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
DATA F_CDATAREG
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
DATA F_CDATADOC
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_CCODCAUS 3
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
NUMERIC F_CMESELIQ 2
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_CNUMDOC 50
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
NUMERIC F_CIMPTOTDOC 15 2
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
NUMERIC F_CFORN 6
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_CRAGSOC 80
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
NUMERIC F_CPROTIVA 6
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_CDESCR 50
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
LIST F_CESCLUDI 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 41 2  "Escludi"
 | 
			
		||||
  ITEM "N|NO"
 | 
			
		||||
	ITEM "Y|SI"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BOLEAN F_CESCLUSO
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 "ESCLUSO"
 | 
			
		||||
	FLAG "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_CDESCRERR 110
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 "DESCRIZIONE ERRORE"
 | 
			
		||||
	FLAG "D"
 | 
			
		||||
END
 | 
			
		||||
ENDPAGE
 | 
			
		||||
 | 
			
		||||
TOOLBAR "topbar" 0 0 0 2
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_NULL 2 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT -1 0 ""
 | 
			
		||||
  PICTURE 0
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_QUIT 2 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 3 1 "Fine"
 | 
			
		||||
  MESSAGE EXIT,K_QUIT
 | 
			
		||||
  PICTURE TOOL_QUIT
 | 
			
		||||
END
 | 
			
		||||
ENPAGE
 | 
			
		||||
ENDMASK
 | 
			
		||||
 | 
			
		||||
PAGE "Passive" -1 -1 78 13
 | 
			
		||||
 | 
			
		||||
BOOLEAN F_FSEL
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_FTIPODOC 4
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 " "
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
DATA F_FDATA
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 " "
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_FNUMDOC 20
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 " "
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
NUMERIC F_FIMPTOTDOC 15 2
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 " "
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
NUMERIC F_FFORNITORE 6
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 " "
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_FRAGSOC 80
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 " "
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_FSTATOPIVA 2
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 " "
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_FPIVA 15
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 " "
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_FPROKEYS 80
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 " "
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
ENDPAGE
 | 
			
		||||
 | 
			
		||||
TOOLBAR "topbar" 0 0 0 2
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_NULL 2 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT -1 0 ""
 | 
			
		||||
  PICTURE 0
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_QUIT 2 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 3 1 "Fine"
 | 
			
		||||
  MESSAGE EXIT,K_QUIT
 | 
			
		||||
  PICTURE TOOL_QUIT
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
ENPAGE
 | 
			
		||||
ENDMASK
 | 
			
		||||
							
								
								
									
										16
									
								
								src/f9/f90100c.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/f9/f90100c.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
			
		||||
#define S_ESCL				201
 | 
			
		||||
#define F_ETEXT				202
 | 
			
		||||
 | 
			
		||||
// Elenco movimenti esclusi
 | 
			
		||||
#define F_SEL				  101
 | 
			
		||||
#define F_NUMREG			102
 | 
			
		||||
#define F_DATAREG		  103
 | 
			
		||||
#define F_DATADOC		  104
 | 
			
		||||
#define F_CODCAUS		  105
 | 
			
		||||
#define F_MESELIQ		  106
 | 
			
		||||
#define F_NUMDOC			107
 | 
			
		||||
#define F_IMPTOTDOC   108
 | 
			
		||||
#define F_FORN        109
 | 
			
		||||
#define F_RAGSOC      110
 | 
			
		||||
#define F_PROTIVA		  111
 | 
			
		||||
#define F_DESCR			  112
 | 
			
		||||
							
								
								
									
										145
									
								
								src/f9/f90100c.uml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										145
									
								
								src/f9/f90100c.uml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,145 @@
 | 
			
		||||
#include "f90100c.h"
 | 
			
		||||
 | 
			
		||||
TOOLBAR "topbar" 0 0 0 2
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_OK 2 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 1 "Estrai"
 | 
			
		||||
	PICTURE TOOL_ELABORA
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_NULL 2 
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 2 ""
 | 
			
		||||
  PICTURE 0
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_FINDREC 2 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 4 "Controllo Estr."
 | 
			
		||||
  PICTURE TOOL_PERMISSIONS
 | 
			
		||||
	FLAGS ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
#include <helpbar.h>
 | 
			
		||||
ENDPAGE
 | 
			
		||||
 | 
			
		||||
PAGE "Esclusi" 0 2 0 0
 | 
			
		||||
 | 
			
		||||
TEXT F_ETEXT
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 0 0 "@BMovimenti esclusi dalle precedenti estrazioni:"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
SPREADSHEET S_ESCL -1 10
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 0 1 "Movimenti da controllare"
 | 
			
		||||
	ITEM " "
 | 
			
		||||
	ITEM "NUMREG@8"
 | 
			
		||||
	ITEM "DATAREG@8"
 | 
			
		||||
	ITEM "DATADOC@8"
 | 
			
		||||
	ITEM "CODCAUS@8"
 | 
			
		||||
	ITEM "MESELIQ@8"
 | 
			
		||||
	ITEM "NUMDOC@8"
 | 
			
		||||
	ITEM "IMPTOTDOC@8"
 | 
			
		||||
	ITEM "FORNITORE@8"
 | 
			
		||||
	ITEM "RAGSOC@8"
 | 
			
		||||
	ITEM "PROTIVA@8"	
 | 
			
		||||
	ITEM "DESCR@8"
 | 
			
		||||
END
 | 
			
		||||
ENDPAGE
 | 
			
		||||
ENDMASK
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PAGE "Mov Esclusi" -1 -1 78 13
 | 
			
		||||
 | 
			
		||||
BOOLEAN F_SEL
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
NUMERIC F_NUMREG 7
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
DATA F_DATAREG
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
DATA F_DATADOC
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_CODCAUS 3
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
NUMERIC F_MESELIQ 2
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_NUMDOC 50
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
NUMERIC F_IMPTOTDOC 15 2
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
NUMERIC F_FORN 6
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_RAGSOC 80
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
	FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
NUMERIC F_PROTIVA 6
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
  FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING F_DESCR 50
 | 
			
		||||
BEGIN
 | 
			
		||||
	PROMPT 1 1 ""
 | 
			
		||||
  FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
ENDPAGE
 | 
			
		||||
 | 
			
		||||
TOOLBAR "topbar" 0 0 0 2
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_NULL 2 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT -1 0 ""
 | 
			
		||||
  PICTURE 0
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_QUIT 2 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 3 1 "Fine"
 | 
			
		||||
  MESSAGE EXIT,K_QUIT
 | 
			
		||||
  PICTURE TOOL_QUIT
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
ENPAGE
 | 
			
		||||
ENDMASK
 | 
			
		||||
@ -1,40 +0,0 @@
 | 
			
		||||
#include "f90101.h"
 | 
			
		||||
 | 
			
		||||
TF9_fp& f9_db()
 | 
			
		||||
{
 | 
			
		||||
	static TF9_fp* f9 = nullptr;
 | 
			
		||||
 | 
			
		||||
	if (f9 == nullptr)
 | 
			
		||||
	{
 | 
			
		||||
		f9 = new TF9_fp();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return *f9;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TF9_fp::f9_tab TF9_fp::name2tab(TString& name)
 | 
			
		||||
{
 | 
			
		||||
	if (name == "F9DRD00K")
 | 
			
		||||
		return f9_drd;
 | 
			
		||||
	if(name == "F9DRT00K")
 | 
			
		||||
		return f9_drt;
 | 
			
		||||
	if(name == "F9IVA00K")
 | 
			
		||||
		return f9_iva;
 | 
			
		||||
	return f9_drd;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const char* TF9_fp::tab2name(f9_tab tab)
 | 
			
		||||
{
 | 
			
		||||
	if (tab == f9_drd)
 | 
			
		||||
		return "F9DRD00K";
 | 
			
		||||
	if (tab == f9_drt)
 | 
			
		||||
		return "F9DRT00K";
 | 
			
		||||
	if (tab == f9_iva)
 | 
			
		||||
		return "F9IVA00K";
 | 
			
		||||
	return "F9DRD00K";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void TF9_fp::set_tab(f9_tab tab)
 | 
			
		||||
{
 | 
			
		||||
	_tab = tab;
 | 
			
		||||
}
 | 
			
		||||
@ -1,37 +0,0 @@
 | 
			
		||||
#ifndef _F90101H_
 | 
			
		||||
#define _F90101H_
 | 
			
		||||
#include "object.h"
 | 
			
		||||
#include "strings.h"
 | 
			
		||||
#include "f901tab.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TF9_fp : public TObject
 | 
			
		||||
{
 | 
			
		||||
	enum f9_tab
 | 
			
		||||
	{
 | 
			
		||||
		f9_drd,			// Driver estrazione giornale iva
 | 
			
		||||
		f9_drt,			// Driver categorie documentali
 | 
			
		||||
		f9_iva			// File documenti estratti dal giornale iva
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	f9_tab _tab;
 | 
			
		||||
	TToken_string* _f9_drd; //F9RCSOC
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
	static f9_tab				name2tab(TString& name);
 | 
			
		||||
	static const char*	tab2name(f9_tab tab);
 | 
			
		||||
 | 
			
		||||
	void set_tab(f9_tab tab);
 | 
			
		||||
	void set_codsoc(TString& codsoc);
 | 
			
		||||
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	TF9_fp() : _tab(f9_drd) { _f9_drd = new TToken_string("", '|'); }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
TF9_fp& f9_db();
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
@ -39,7 +39,7 @@
 | 
			
		||||
#define IVA_TIPOG   "F9ITPGI" // A(10)  [K] - Tipo giornale
 | 
			
		||||
#define IVA_DOCXML  "F9IDXML" // A(1)       - { S | N } - Documento  xml (S=Si, N=No)
 | 
			
		||||
#define IVA_TIPOCF  "F9ITCFO" // A(1)       - { C | F } - Tipo cliente / fornitore (C=Cliente, F=Fornitore)
 | 
			
		||||
#define IVA_CODCF		"F9ICCFO"	// A(10)			- Codice cliente / fornitore (In caso di autofattura mettere fornitore originale)
 | 
			
		||||
#define IVA_CODCF   "F9ICCFO" // A(10)      - Codice cliente / fornitore (In caso di is_autofattura mettere fornitore originale)
 | 
			
		||||
#define IVA_RAGSOC  "F9IDRSO" // A(60)      - Ragione sociale
 | 
			
		||||
#define IVA_IDFISC  "F9IIDFI" // A(30)      - {Codice ISO + { PIVA (x ita) | CF (x est)}} ID fiscale
 | 
			
		||||
#define IVA_PIVA    "F9IPIVA" // A(28)      - Partiva Iva
 | 
			
		||||
@ -48,7 +48,7 @@
 | 
			
		||||
#define IVA_CAUSSOS "F9ICSOS" // A(6)       - Causale per sostitutiva(da tabella f9drt) (tipo documento fattura (TD01,TD02,TD03 ecc))
 | 
			
		||||
#define IVA_NUMDOC  "F9INDOC" // A(20)      - Numero Documento
 | 
			
		||||
#define IVA_DATADOC "F9IUDOC" // D          - Data Documento
 | 
			
		||||
#define IVA_SELIVA	"F9ISIVA"	// A(10)	[K]	- sezionale iva
 | 
			
		||||
#define IVA_SEZIVA  "F9ISIVA" // A(10)  [K] - sezionale iva
 | 
			
		||||
#define IVA_TIPOREG "F9ICREG" // A(6)   [K] - Tipo registrazione
 | 
			
		||||
#define IVA_NPROT   "F9INPRI" // A(20)  [K] - n.protocollo iva
 | 
			
		||||
#define IVA_DATPROT "F9IUPRI" // D      [K] - data protocollo iva
 | 
			
		||||
 | 
			
		||||
@ -58,8 +58,8 @@
 | 
			
		||||
#define MOV_TNUMREG    "TNUMREG"
 | 
			
		||||
#define MOV_IVALIQ     "IVALIQ"
 | 
			
		||||
#define MOV_KEYFPPRO	 "KEYFPPRO"
 | 
			
		||||
#define MOV_DATAELABF9 "DATAELABF9"
 | 
			
		||||
#define MOV_MOVCOLL		 "MOVCOLL"
 | 
			
		||||
#define MOV_ELABF9		 "ELABF9"
 | 
			
		||||
 | 
			
		||||
#define NUMREG_PROVVISORIO 999999L
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user