(module));
+ }
+ else
+ {
+ cantaccess_box(module);
+ module.cut(0);
+ }
}
}
}
diff --git a/src/include/campo.aut b/src/include/campo.aut
index 464a50487..3c468827e 100755
--- a/src/include/campo.aut
+++ b/src/include/campo.aut
@@ -19,7 +19,7 @@ at AVIS Provinciale
in Elenchi Intracomunitari
po Penna Ottica
ab Analisi di bilancio
-pa Fatturazione elettronica pubblica amministrazione
+pa Fattura PA
ca Contabilità Analitica
sl Stato Avanzamento Lavori
ic IVA per cassa
@@ -35,7 +35,7 @@ or Ordini
ef Effetti
db Distinta Base
pr Provvigioni Agenti
-?? Modulo vario ex-cu Codice Unico Progetto
+fp Fatturazione tra Privati + PA
sv Statistiche di Vendita
mr Manufacturing Resource Planning
?? Modulo vario ex-ec Collegamento E-commerce
@@ -46,6 +46,5 @@ l2 Lavanderie 02
bs Bee Store
ha Hardy Caffè
ri Riclassificazioni
-vd Vendita al dettaglio
-gv Gestione versamenti F24
-tf Trasferimento fatture
\ No newline at end of file
+gv Gestione versamenti
+tf Trasferimento Fatture
\ No newline at end of file
diff --git a/src/include/modaut.h b/src/include/modaut.h
index 1a7b3d78b..8968daa39 100755
--- a/src/include/modaut.h
+++ b/src/include/modaut.h
@@ -37,7 +37,7 @@
#define EFAUT 34
#define DBAUT 35
#define PRAUT 36
-//#define CUAUT 37 Obsoleta CUP implicita in CT (1)
+#define FPAUT 37
#define SVAUT 38
#define MRAUT 39
#define ECAUT 40
diff --git a/src/include/msksheet.cpp b/src/include/msksheet.cpp
index 128dcc74f..c02199282 100755
--- a/src/include/msksheet.cpp
+++ b/src/include/msksheet.cpp
@@ -278,7 +278,7 @@ protected:
// @cmember Ritorna la posizione della colonna con identificatore
int cid2col(short cid) const;
// @cmember Ritorna la colonna logica con identificatore
- int cid2index(short cid) const;
+ static int cid2index(short cid);
// @cmember Ritorna la colonna corrispondente al campo
della maschera
int field2col(const TOperable_field* f) const;
@@ -804,10 +804,9 @@ int TSpreadsheet::cid2col(short cid) const
return 0;
}
-int TSpreadsheet::cid2index(short cid) const
+int TSpreadsheet::cid2index(short cid)
{
- CHECKD(cid >= FIRST_FIELD, "Bad column id ", cid);
- return (cid % 100) - 1;
+ return xvtil_cid2index(cid);
}
int TSpreadsheet::field2col(const TOperable_field* f) const
diff --git a/src/include/tsdb.cpp b/src/include/tsdb.cpp
index 45fa207d1..806994eee 100644
--- a/src/include/tsdb.cpp
+++ b/src/include/tsdb.cpp
@@ -6,7 +6,7 @@
* Classe per esecuzioni di query temporanee (wrapper semplice per SACommand) *
******************************************************************************/
-const TDate SSimpleQuery::sqGetDate(const char * field)
+const TDate SSimple_query::sq_get_date(const char * field)
{
const TDate app(_rec.get_date(field));
return app;
diff --git a/src/include/tsdb.h b/src/include/tsdb.h
index 9852f46e9..6d1d8eba4 100644
--- a/src/include/tsdb.h
+++ b/src/include/tsdb.h
@@ -63,7 +63,7 @@
* Preferisco scrivere un po' di codice ridondante adesso che andare a fare *
* salti mortali dopo *
********************************************************************************/
-class SSimpleQuery
+class SSimple_query
{
protected:
TXvt_recordset _rec;
@@ -72,114 +72,115 @@ protected:
public:
/**< Costruttore, non inizializza nulla, da caricare successivamente */
- SSimpleQuery() {}
+ SSimple_query() = default;
/**< Costruttore, Accetta in ingresso dei parametri per la connessione, volendo è anche possibile impostare una query ed eseguirla. Attenzione! Non risponde se la query ha avuto un esito positivo o negativo! */
- SSimpleQuery(const char* db, const char* user, const char* pass, TT_driver tipoDb, const char * query = "", const bool ex = false, const bool freezed = false) : _rec(db, user, pass, tipoDb, query, ex, freezed) {}
+ SSimple_query(const char* db, const char* user, const char* pass, TT_driver tipoDb, const char * query = "", const bool ex = false, const bool freezed = false) : _rec(db, user, pass, tipoDb, query, ex, freezed) {}
+ //SSimpleQuery(const TString& db, const TString& user, const TString& pass, TT_driver tipoDb, const char * query = "", const bool ex = false, const bool freezed = false) : _rec(db, user, pass, tipoDb, query, ex, freezed) {}
/**< Distruttore */
- virtual ~SSimpleQuery() {}
+ virtual ~SSimple_query() = default;
// Connection functions
/**< Eseguo la connessione */
- int sqConnect(const char* db, const char* user, const char* pass, TT_driver tipoDb) { return _rec.connect(db, user, pass, tipoDb); }
+ int sq_connect(const char* db, const char* user, const char* pass, TT_driver tipoDb) { return _rec.connect(db, user, pass, tipoDb); }
/* Mi scollego */
- void sqDisconnect() { _rec.disconnect(); }
+ void sq_disconnect() { _rec.disconnect(); }
/**< Esegue la commit, di default in caso di errore viene chiamato il metodo rollback() */
- const bool sqCommit(bool autoRoll = true) { return _rec.commit(); }
+ const bool sq_commit(bool autoRoll = true) { return _rec.commit(); }
/**< Esegue il rollback all'ultimo commit */
- const bool sqRollback() { _rec.rollback(); }
+ const bool sq_rollback() { return _rec.rollback(); }
/**< Imposto il tipo di client che utilizzo */
- void sqSetClient(int client) { _rec.setClient((TT_driver)client); }
- void sqSetClient(TT_driver client) { _rec.setClient(client); }
+ void sq_set_client(int client) { _rec.setClient((TT_driver)client); }
+ void sq_set_client(TT_driver client) { _rec.setClient(client); }
// Imposto una opzione generica dellla connessione
- void sqSetConOption(const char* opt) { _rec.setConOption(opt); }
+ void sq_set_con_option(const char* opt) { _rec.setConOption(opt); }
/**< Abilito/Disabilito l'autocommit, (disabilitato di default) */
- void sqSetAutocommit(bool ac) { _rec.setAutocommit(ac); }
+ void sq_set_autocommit(bool ac) { _rec.setAutocommit(ac); }
/** Imposta la visibilità delle transazioni (vedi Funzione) */
- void sqSetVisibility(isoLvl vis = committed) { _rec.setVisibility(vis); }
+ void sq_set_visibility(isoLvl vis = committed) { _rec.setVisibility(vis); }
// Getters
/** Ritorna se la conessione è connessa */
- const bool sqIsConnect() const { return _rec.isConnect(); }
+ const bool sq_is_connect() const { return _rec.isConnect(); }
/**< Ritorna se la connessione è attiva */
- const bool sqIsAlive() const { return _rec.isAlive(); }
+ const bool sq_is_alive() const { return _rec.isAlive(); }
/** Ritorna la visibilità impostata */
- const int sqGetVisibility() { return _rec.getVisibility(); }
+ const int sq_get_visibility() { return _rec.getVisibility(); }
/**< Ritorna se è attivo l'autocommit, true -> attivo, false -> disattivo o sconosciuto */
- const bool sqGetAutocommit() { return _rec.getAutocommit(); }
+ const bool sq_get_autocommit() { return _rec.getAutocommit(); }
/**< Ritorna il valore dell'opzione specificata */
- const char* sqGetOption(const char* opt) { return _rec.getOption(opt); }
+ const char* sq_get_option(const char* opt) { return _rec.getOption(opt); }
/**< Ritorno la versione del Client che sto utilizzando */
- const long sqGetClientV() { return _rec.getClientV(); }
+ const long sq_get_client_v() { return _rec.getClientV(); }
/**< Ritorno la versione del Server che sto utilizzando */
- const char* sqGetServerV() { return _rec.getServerV(); }
+ const char* sq_get_server_v() { return _rec.getServerV(); }
/**< Ritorno la versione del Server che sto utilizzando in formato numerico */
- const long sqGetServerVN() { return _rec.getServerVN(); }
+ const long sq_get_server_vn() { return _rec.getServerVN(); }
/**< Ritorno se il recordset è carico */
- const bool sqIsLoaded() const { return _rec.isLoaded(); }
+ const bool sq_is_loaded() const { return _rec.isLoaded(); }
/** Ritorno il numero di elementi nella query */
- const long sqItems() { _rec.items(); }
+ const long sq_items() { return _rec.items(); }
// Conguration
/**< Imposta la query ricevuta come (const char *) nel recordset */
- const bool sqSet(const char* query) { return _rec.set(query); }
+ const bool sq_set(const char* query) { return _rec.set(query); }
/**< Imposta la query ricevuta come (string) nel recordset */
- const bool sqSet(string query) { return _rec.set(query.c_str()); }
+ const bool sq_set(string query) { return _rec.set(query.c_str()); }
/**< Imposta la query ricevuta come (TString) nel recordset */
- const bool sqSet(TString& query) { return _rec.set(static_cast(query)); }
+ const bool sq_set(TString& query) { return _rec.set(static_cast(query)); }
/**< Esegue la query impostata nel recordset, se viene passato autoF == true esegue anche un comando sqNext() */
- const bool sqExec(bool autoF = true) { return _rec.exec(autoF); }
+ const bool sq_exec(bool autoF = true) { return _rec.exec(autoF); }
/**< Unisce le funzioni sqSet e sqExec, riceve la query come (const char *) */
- const bool sqSetExec(const char* query, bool autoF = true) { _rec.set(query); return _rec.exec(autoF); }
+ const bool sq_set_exec(const char* query, bool autoF = true) { _rec.set(query); return _rec.exec(autoF); }
/**< Unisce le funzioni sqSet e sqExec, riceve la query come (string) */
- const bool sqSetExec(string query, bool autoF = true) { _rec.set(query.c_str()); return _rec.exec(autoF); }
+ const bool sq_set_exec(string query, bool autoF = true) { _rec.set(query.c_str()); return _rec.exec(autoF); }
/**< Unisce le funzioni sqSet e sqExec, riceve la query come (TString) */
- const bool sqSetExec(TString& query, bool autoF = true);
+ const bool sq_set_exec(TString& query, bool autoF = true) { return sq_set_exec(static_cast(query), autoF); }
/**< Si sposta avanti di un record, in caso di esito negativo valorizza _stringError e _codeError */
- const bool sqNext() { return _rec.next(); }
+ const bool sq_next() { return _rec.next(); }
/**< Si sposta indietro di un record, in caso di esito negativo valorizza _stringError e _codeError */
- const bool sqPrev() { return _rec.prev(); }
+ const bool sq_prev() { return _rec.prev(); }
/**< Si sposta avanti di un record, in caso di esito negativo valorizza _stringError e _codeError */
- const bool sqFirst() { return _rec.first(); }
+ const bool sq_first() { return _rec.first(); }
/**< Si sposta al primo record, in caso di esito negativo valorizza _stringError e _codeError */
- const bool sqLast() { return _rec.last(); }
+ const bool sq_last() { return _rec.last(); }
/**< Si sposta alla posizione n, in caso di esito negativo valorizza _stringError e _codeError */
- const bool sqGo(int newPos) { return _rec.go(newPos); }
+ const bool sq_go(int newPos) { return _rec.go(newPos); }
/**< Ritorna il numero di righe affette dall'ultima query */
- const int sqRowsAffected() { return _rec.rowsAffected(); }
+ const int sq_rows_affected() { return _rec.rowsAffected(); }
// Getters
/**< Ritorna il valore nel campo (field) in formato (int) */
- const int sqGetInt(const char* field) { return _rec.get_int(field); }
+ const int sq_get_int(const char* field) { return _rec.get_int(field); }
/**< Ritorna il valore nel campo (field) in formato (short) */
- const short sqGetShort(const char* field) { return _rec.get_short(field); }
+ const short sq_get_short(const char* field) { return _rec.get_short(field); }
/**< Ritorna il valore nel campo (field) in formato (long) */
- const long sqGetLong(const char* field) { return _rec.get_long(field); }
+ const long sq_get_long(const char* field) { return _rec.get_long(field); }
/**< Ritorna il valore nel campo (field) in formato (double) */
- const double sqGetDouble(const char* field) { return _rec.get_double(field); }
+ const double sq_get_double(const char* field) { return _rec.get_double(field); }
/**< Ritorna il valore nel campo (field) in formato (bool) */
- const bool sqGetBool(const char* field) { return _rec.get_bool(field); }
+ const bool sq_get_bool(const char* field) { return _rec.get_bool(field); }
/**< Ritorna il valore nel campo (field) in formato (TDate) */
- const TDate sqGetDate(const char* field);
+ const TDate sq_get_date(const char* field);
/**< Ritorna il valore nel campo (field) in formato (real) */
- const real sqGetReal(const char* field);
+ const real sq_get_real(const char* field);
/**< Ritorna il valore nel campo (field) in formato (SADateTime), Campo non gestisce le ore */
//SADateTime sqGetDateTime(const char* field) { get_short(field); }
/**< Ritorna il valore nel campo (field) passato come (const char *) in formato (const char *) */
- const char* sqGet(const char* field) { return _rec.get(field); }
+ const char* sq_get(const char* field) { return _rec.get(field); }
/**< Ritorna il valore nel campo (field) passato come (string) in formato (const char *) */
- const char* sqGet(string field) { return _rec.get(field.c_str()); }
+ const char* sq_get(string field) { return _rec.get(field.c_str()); }
/**< Ritorna il valore nel campo (field) passato come (TString) in formato (const char *) */
- const char* sqGet(TString& field) { return _rec.get(static_cast(field)); }
+ const char* sq_get(TString& field) { return _rec.get(static_cast(field)); }
/**< Ritorna il valore nel campo (field) in formato (char) */
- const char sqGetChar(const char* field) { return _rec.get_char(field); }
+ const char sq_get_char(const char* field) { return _rec.get_char(field); }
/**< Ritorna la posizione attuale */
- const long sqPos() const { return _rec.pos(); }
+ const long sq_pos() const { return _rec.pos(); }
// Error Getters
/**< Ritorno l'ultimo codice errore segnalato in formato /int) */
- const long sqGetCodeError(bool erase = true) { return _rec.get_code_error(erase); }
+ const long sq_get_code_error(bool erase = true) { return _rec.get_code_error(erase); }
/**< Ritorno l'ultima stringa di errore segnalato in formato (const char *) */
- const char* sqGetStringError(bool erase = true) { return _rec.get_string_error(erase); }
+ const char* sq_get_string_error(bool erase = true) { return _rec.get_string_error(erase); }
//char * getCharPointer(const char * field) { return const_cast(static_cast(recset.Field(field).asString())); }
};
diff --git a/src/include/utility.cpp b/src/include/utility.cpp
index 710d73ca6..43f9a9c4b 100755
--- a/src/include/utility.cpp
+++ b/src/include/utility.cpp
@@ -707,3 +707,13 @@ void quoted_string(TString& query, const char* val)
}
query << '\'';
}
+
+TString& to_tstring(long n)
+{
+ return get_tmp_string().cut(0) << n;
+}
+
+TString& to_tstring(int n)
+{
+ return to_tstring(static_cast(n));
+}
diff --git a/src/include/utility.h b/src/include/utility.h
index fcb3f581e..947523a19 100755
--- a/src/include/utility.h
+++ b/src/include/utility.h
@@ -73,4 +73,7 @@ void quoted_string(TString& query, const char* val);
inline const char* get_iva_sirio() // Ritorna la partita IVA della Sirio
{ return "04879210963"; }
+TString& to_tstring(long n);
+TString& to_tstring(int n);
+
#endif /* __UTILITY_H */
diff --git a/src/include/xvtility.cpp b/src/include/xvtility.cpp
index 68656c66c..5ea294f25 100755
--- a/src/include/xvtility.cpp
+++ b/src/include/xvtility.cpp
@@ -9,7 +9,8 @@
#include
#include
-#include
+#include
+#include
short CHARX = 8;
short CHARY = 14;
@@ -842,3 +843,8 @@ PEN_STYLE trans_pen(
return ps;
}
+int xvtil_cid2index(const int cid)
+{
+ CHECKD(cid >= FIRST_FIELD, "Bad column id ", cid);
+ return (cid % 100) - 1;
+}
diff --git a/src/include/xvtility.h b/src/include/xvtility.h
index 6cd1e60f1..f559879ed 100755
--- a/src/include/xvtility.h
+++ b/src/include/xvtility.h
@@ -45,6 +45,8 @@ bool xvtil_popup_warning(const char* msg);
bool xvtil_popup_error(const char* msg);
bool xvtil_system_error(unsigned long lasterror, ...);
+int xvtil_cid2index(const int cid);
+
void beep(int severity = 0);
void do_events();
diff --git a/src/ve/velib.h b/src/ve/velib.h
index 71ec1e5a2..a6114f8c3 100755
--- a/src/ve/velib.h
+++ b/src/ve/velib.h
@@ -319,7 +319,9 @@ public:
const TString & caus_anticipo() const {return get("S10"); }
const TString & tipi_iva_validi() const {return get("S11"); }
// Ritorna il ripo documento in formato SDI (TD01, TD02 ..)
- const TString & tipo_doc_sdi() const { return get("S12"); }
+ const TString & tipo_doc_sdi() const { return get("S3").mid(37,4); }
+ // Ritorna il regime fiscale
+ const TString & reg_fisc() const { return get("S3").mid(41, 4); }
const char stato_finale_inserimento() const {return get("S2")[0]; }
const char stato_finale_stampa() const {return get("S2")[1]; }
const char stato_bloccato() const {return get("S2")[2]; }
@@ -351,7 +353,7 @@ public:
bool fattura_commerciale() const { return get_bool("B9"); }
bool allega_documenti() const { return get_bool("B10"); }
bool auto_add() const { return get_bool("B11"); }
- bool invio_xml() const { return get_bool("B12"); }
+ bool invio_xml() const { return get_bool("B13"); }
const TString& stringa_descrizione_documento() const { return _str_desc_doc; }
const TString& stringa_descrizione_riga() const { return _str_desc_rdoc; }
diff --git a/src/ve/vetbtip.h b/src/ve/vetbtip.h
index 5d568aef5..b62fe7508 100755
--- a/src/ve/vetbtip.h
+++ b/src/ve/vetbtip.h
@@ -26,7 +26,8 @@
#define F_NATURA 124
#define F_NOTACREDDEB 125
#define F_LORDO 126
-#define F_FATCOM 127
+#define F_REG_FISC 127
+#define F_FATCOM 128
#define F_PMAIL 129
#define F_PSTAMPA2 130
#define F_NCOPIE2 131
diff --git a/src/ve/vetbtip.uml b/src/ve/vetbtip.uml
index c8bb1affc..5e6e49c9b 100755
--- a/src/ve/vetbtip.uml
+++ b/src/ve/vetbtip.uml
@@ -85,7 +85,7 @@ END
LIST F_TIPO_SDI 35
BEGIN
PROMPT 2 5 "Tipo documento SDI "
- FIELD S12
+ FIELD S3[37,40]
ITEM "|"
ITEM "TD01|TD01 Fattura" MESSAGE ENABLE,F_NOTACREDDEB|""
ITEM "TD02|TD02 Acconto/Anticipo su fattura" MESSAGE ENABLE,F_NOTACREDDEB|""
@@ -98,7 +98,7 @@ END
BOOLEAN F_ESPORTA_FP
BEGIN
PROMPT 65 5 "Invio XML"
- FIELD B12
+ FIELD B13
END
GROUPBOX DLG_NULL 78 5
@@ -202,30 +202,55 @@ END
BOOLEAN F_NOTACREDDEB
BEGIN
- PROMPT 2 13 "Nota di credito/debito"
+ PROMPT 2 13 "Nota di cred/deb"
FIELD B7
END
-BOOLEAN F_LORDO
+LIST F_REG_FISC 40
BEGIN
- PROMPT 40 13 "Calcolo importi al lordo"
- FIELD B8
- MESSAGE TRUE CLEAR,F_FATCOM
- MESSAGE FALSE ENABLE,F_FATCOM
+ PROMPT 23 13 "Regime Fisc. "
+ FIELD S3[41,44]
+ ITEM "|"
+ ITEM "RF01|RF01 Ordinario"
+ ITEM "RF02|RF02 Contribuenti minimi"
+ ITEM "RF04|RF04 Agricoltura, connesse e pesca"
+ ITEM "RF05|RF05 Vendita sali e tabacchi"
+ ITEM "RF06|RF06 Commercio fiammiferi"
+ ITEM "RF07|RF07 Editoria"
+ ITEM "RF08|RF08 Gestione servizi tel. pubblica"
+ ITEM "RF09|RF09 Rivendita DdT pubblico e di sosta"
+ ITEM "RF10|RF10 Intr., giochi e altre attività"
+ ITEM "RF11|RF11 Agenzie viaggi e turismo"
+ ITEM "RF12|RF12 Agriturismo"
+ ITEM "RF13|RF13 Vendite a domicilio"
+ ITEM "RF14|RF14 Rivendita usato, arte, ant. o col."
+ ITEM "RF15|RF15 Asta d’arte, ant. o da col."
+ ITEM "RF16|RF16 IVA per cassa P.A."
+ ITEM "RF17|RF17 IVA per cassa"
+ ITEM "RF18|RF18 Altro"
+ ITEM "RF19|RF19 Regime forfettario"
END
BOOLEAN F_SPESEAUT
BEGIN
- PROMPT 2 14 "Addebito automatico spese cliente"
+ PROMPT 2 14 "Addebito auto spese cliente"
FIELD B0
END
BOOLEAN F_FATCOM
BEGIN
- PROMPT 40 14 "Calcolo fattura commerciale"
+ PROMPT 30 14 "Calcolo fattura commerciale"
FIELD B9
END
+BOOLEAN F_LORDO
+BEGIN
+ PROMPT 55 14 "Calcolo importi al lordo"
+ FIELD B8
+ MESSAGE TRUE CLEAR,F_FATCOM
+ MESSAGE FALSE ENABLE,F_FATCOM
+END
+
BOOLEAN F_MOVMAG
BEGIN
PROMPT 2 15 "Mov. magazzino"
diff --git a/src/xvtdb/xvtdb.cpp b/src/xvtdb/xvtdb.cpp
index d64b9fdc2..50a19adc1 100644
--- a/src/xvtdb/xvtdb.cpp
+++ b/src/xvtdb/xvtdb.cpp
@@ -11,7 +11,7 @@
* Classe per esecuzioni di query temporanee (wrapper semplice per SACommand) *
******************************************************************************/
-TXvt_recordset::TXvt_recordset()
+TXvt_recordset::TXvt_recordset() : _freezed(false)
{
_con = new SAConnection;
_recset = new SACommand;
@@ -28,7 +28,7 @@ TXvt_recordset::TXvt_recordset()
TXvt_recordset::TXvt_recordset(const char* db, const char* user, const char* pass, TT_driver tipoDb, const char * query, const bool ex, const bool freezed)
- : _db(db), _usr(user), _psw(pass), _drv(tipoDb)
+ : _db(db), _usr(user), _psw(pass), _drv(tipoDb), _freezed(false)
{
_con = new SAConnection;
if(connect(db, user, pass, tipoDb) == NOERR)
@@ -62,14 +62,14 @@ TXvt_recordset::~TXvt_recordset()
{
try
{
+ // Se non è connesso viene lanciata l'eccezione
if(_CON(_con)->isConnected())
_CON(_con)->Disconnect();
- if(_con != NULL)
- delete _con;
- if(_recset != NULL)
- delete _recset;
}
catch (...) {}
+ // Prima cancellare il recordset POI la connessione
+ delete _recset;
+ delete _con;
}
/* PRIVATE FUNCTIONS **************************************************************************************************/
@@ -301,22 +301,22 @@ bool TXvt_recordset::set(const char* query)
bool TXvt_recordset::exec(bool autoF)
{
CHECK_FREEZED
+ bool ok = false;
try
{
_RCS(_recset)->Execute();
_recno = -1;
- if (autoF)
- {
- next();
- }
+ // Se trovo almeno un "select" faccio l'autofetch
+ SAString s = _RCS(_recset)->CommandText(); s.MakeUpper();
+ ok = s.Find("SELECT") != SIZE_MAX && autoF ? next() : true;
}
catch (SAException &x)
{
_codeError = x.ErrNativeCode();
_stringError = x.ErrMessage();
- return false;
+ ok = false;
}
- return true;
+ return ok;
}
bool TXvt_recordset::setExec(const char* query, bool autoF)