Merge branch 'R_10_00' of http://10.65.20.33/sirio/CAMPO/campo into R_10_00
This commit is contained in:
commit
06a2fa1b05
@ -59,19 +59,23 @@ BEGIN
|
||||
PROMPT 2 5 "@bTipo bilancio"
|
||||
HELP "Indicare il tipo di bilancio da stampare"
|
||||
ITEM "1|Bilancio a sezioni contrapposte"
|
||||
MESSAGE HIDE,F_STAMPA1|RESET,F_STAMPA1|HIDE,F_VERIFICA|RESET,F_VERIFICA
|
||||
MESSAGE HIDE,F_STAMPAV|RESET,F_STAMPAV|HIDE,F_DATADA|RESET,F_DATADA
|
||||
MESSAGE HIDE,F_DATAA|RESET,F_DATAA|HIDE,F_SITUAZIONE|RESET,F_SITUAZIONE
|
||||
MESSAGE HIDE,F_ORDINAMENTO|RESET,F_ORDINAMENTO|HIDE,F_STAMPAC|RESET,F_STAMPAC
|
||||
//MESSAGE HIDE,F_STAMPA1|RESET,F_STAMPA1|HIDE,F_VERIFICA|RESET,F_VERIFICA
|
||||
//MESSAGE HIDE,F_STAMPAV|RESET,F_STAMPAV|HIDE,F_DATADA|RESET,F_DATADA
|
||||
//MESSAGE HIDE,F_DATAA|RESET,F_DATAA|HIDE,F_SITUAZIONE|RESET,F_SITUAZIONE
|
||||
//MESSAGE HIDE,F_ORDINAMENTO|RESET,F_ORDINAMENTO|HIDE,F_STAMPAC|RESET,F_STAMPAC
|
||||
MESSAGE SHOW,1@
|
||||
MESSAGE HIDE,2@|RESET,2@
|
||||
MESSAGE HIDE,96|HIDE,97|HIDE,98|HIDE,99
|
||||
MESSAGE CLEAR,F_MODULO
|
||||
MESSAGE SHOW,F_STAMPA|K_SPACE,F_STAMPA
|
||||
//MESSAGE SHOW,F_STAMPA|K_SPACE,F_STAMPA
|
||||
ITEM "2|Bilancio di verifica"
|
||||
MESSAGE HIDE,F_STAMPA|RESET,F_STAMPA
|
||||
MESSAGE HIDE,F_DATALIM|RESET,F_DATALIM|HIDE,F_TOTALI|RESET,F_TOTALI
|
||||
MESSAGE HIDE,F_CODICI|RESET,F_CODICI|HIDE,F_SALDO|RESET,F_SALDO
|
||||
MESSAGE HIDE,F_STAMPAV|RESET,F_STAMPAV
|
||||
MESSAGE SHOW,F_VERIFICA|K_SPACE,F_VERIFICA|SHOW,F_STAMPA1|K_SPACE,F_STAMPA1
|
||||
//MESSAGE HIDE,F_STAMPA|RESET,F_STAMPA
|
||||
//MESSAGE HIDE,F_DATALIM|RESET,F_DATALIM|HIDE,F_TOTALI|RESET,F_TOTALI
|
||||
//MESSAGE HIDE,F_CODICI|RESET,F_CODICI|HIDE,F_SALDO|RESET,F_SALDO
|
||||
//MESSAGE HIDE,F_STAMPAV|RESET,F_STAMPAV
|
||||
MESSAGE HIDE,1@|RESET,1@
|
||||
MESSAGE SHOW,2@
|
||||
//MESSAGE SHOW,F_VERIFICA|K_SPACE,F_VERIFICA|SHOW,F_STAMPA1|K_SPACE,F_STAMPA1
|
||||
MESSAGE ENABLE,F_MODULO
|
||||
MESSAGE SHOW,96|SHOW,97|SHOW,98|SHOW,99
|
||||
END
|
||||
@ -80,6 +84,7 @@ RADIOBUTTON F_STAMPA 28
|
||||
BEGIN
|
||||
PROMPT 41 5 "@bTipo stampa"
|
||||
HELP "Indicare il tipo di stampa"
|
||||
GROUP 1
|
||||
ITEM "1|Per date limite"
|
||||
MESSAGE SHOW,F_DATALIM|SHOW,F_TOTALI|SHOW,F_CODICI|SHOW,F_SALDO
|
||||
#ifdef CONT_SEP
|
||||
@ -98,13 +103,14 @@ BEGIN
|
||||
PROMPT 40 5 "@bTipo stampa"
|
||||
//FLAGS "G"
|
||||
HELP "Indicare il tipo di stampa"
|
||||
GROUP 2
|
||||
ITEM "1|Per date limite"
|
||||
MESSAGE SHOW,F_VERIFICA|SHOW,F_MODULO|SHOW,F_STAMPAMPROV
|
||||
MESSAGE SHOW,F_VERIFICA|SHOW,F_MODULO
|
||||
#ifdef CONT_SEP
|
||||
MESSAGE SHOW,F_CONTSEP
|
||||
#endif
|
||||
ITEM "2|All'ultima immissione"
|
||||
MESSAGE SHOW,F_VERIFICA|SHOW,F_MODULO|SHOW,F_STAMPAMPROV
|
||||
MESSAGE SHOW,F_VERIFICA|SHOW,F_MODULO
|
||||
MESSAGE COPY,F_STAMPA
|
||||
#ifdef CONT_SEP
|
||||
MESSAGE HIDE,F_CONTSEP
|
||||
@ -115,34 +121,38 @@ DATE F_DATALIM
|
||||
BEGIN
|
||||
PROMPT 2 9 "Data limite "
|
||||
HELP "Data fino alla quale si vuole la stampa"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN F_TOTALI
|
||||
BEGIN
|
||||
PROMPT 33 9 "Non stampare totali per gruppo "
|
||||
HELP "Indicare se non si devono stampare i totali dei gruppi"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN F_CODICI
|
||||
BEGIN
|
||||
PROMPT 2 10 "Non stampare codici conti "
|
||||
HELP "Indicare se non si devono stampare i codici dei conti"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN F_SALDO
|
||||
BEGIN
|
||||
PROMPT 33 10 "Non stampare movimenti con saldo a zero "
|
||||
HELP "Indicare se non si devono stampare i movimenti con saldo nullo"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
TEXT 96
|
||||
BEGIN
|
||||
PROMPT 2 10 "Dalla data competenza "
|
||||
PROMPT 2 9 "Dalla data competenza "
|
||||
END
|
||||
|
||||
TEXT 97
|
||||
BEGIN
|
||||
PROMPT 38 10 "Alla data competenza "
|
||||
PROMPT 38 9 "Alla data competenza "
|
||||
END
|
||||
|
||||
TEXT 98
|
||||
@ -158,12 +168,14 @@ END
|
||||
DATE F_DATADA
|
||||
BEGIN
|
||||
PROMPT 24 10 ""
|
||||
HELP "Data dalla quale iniziare la stampa"
|
||||
HELP "Data dall quale iniziare la stampa"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
DATE F_DATAA
|
||||
BEGIN
|
||||
PROMPT 60 10 ""
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BOOLEAN F_NORMALI
|
||||
@ -222,6 +234,7 @@ RADIOBUTTON F_VERIFICA 27
|
||||
BEGIN
|
||||
PROMPT 2 1 "@bStampa bilancio di verifica "
|
||||
HELP "Tipo di bilancio di verifica"
|
||||
GROUP 2
|
||||
ITEM "1|Bilancio"
|
||||
MESSAGE SHOW,F_HIDE_CLIFO|SHOW,F_PRINT_FULL_CODE
|
||||
ITEM "2|Saldi di mastro"
|
||||
@ -233,9 +246,9 @@ END
|
||||
RADIOBUTTON F_STAMPAC 36
|
||||
BEGIN
|
||||
PROMPT 34 1 "@bTipo stampa"
|
||||
|
||||
ITEM "1|Conti movimentati"
|
||||
ITEM "2|Conti con saldo diverso da zero"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
RADIOBUTTON F_STAMPAV 36
|
||||
@ -244,6 +257,7 @@ BEGIN
|
||||
ITEM "1|Conti movimentati"
|
||||
ITEM "2|Conti con saldo diverso da zero"
|
||||
ITEM "3|Tutti i conti"
|
||||
GROUP 1 2
|
||||
END
|
||||
|
||||
BOOLEAN F_SEPARATOR
|
||||
@ -275,6 +289,7 @@ BEGIN
|
||||
ITEM " |Entrambi"
|
||||
ITEM "C|Clienti"
|
||||
ITEM "F|Fornitori"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
LIST F_ORDINAMENTO 11
|
||||
@ -282,6 +297,7 @@ BEGIN
|
||||
PROMPT 2 11 "Tipo ordinamento "
|
||||
ITEM "1|Per codice"
|
||||
ITEM "2|Alfabetico"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 55 6
|
||||
|
@ -1556,7 +1556,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
||||
long nr = _mov->get_long(MOV_NUMREG);
|
||||
|
||||
if (nr == 97882 || nr == 98707)
|
||||
int i = 1;
|
||||
int i = 1;
|
||||
#endif
|
||||
|
||||
if ((soloiva &&
|
||||
@ -4102,8 +4102,6 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
||||
credito_utilizzabile -= cred_util_F24;
|
||||
credito_autorizzato_F24 = lim.get_real("R20");
|
||||
credito_utilizzabile += credito_autorizzato_F24;
|
||||
// risultato += credito_autorizzato_F24;
|
||||
// res_debt += credito_autorizzato_F24;
|
||||
|
||||
if (credito_utilizzabile < ZERO)
|
||||
credito_utilizzabile = ZERO;
|
||||
@ -4118,9 +4116,17 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
||||
credito_utilizzato_iva = min(risul, credito_utilizzabile);
|
||||
res_cred += credito_utilizzato_iva;
|
||||
risultato -= credito_utilizzato_iva;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (credito_compensabile)
|
||||
{
|
||||
TRectype lim = get_lim(month + deltam);
|
||||
|
||||
credito_autorizzato_F24 = lim.get_real("R20");
|
||||
risultato += credito_autorizzato_F24;
|
||||
res_debt += credito_autorizzato_F24;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (credito_compensabile)
|
||||
@ -4139,8 +4145,8 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
||||
credito_utilizzabile += credito_autorizzato(13);
|
||||
if (credito_utilizzabile < ZERO)
|
||||
credito_utilizzabile = ZERO;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// per l'annuale considera solo il credito a inizio anno
|
||||
|
@ -2426,7 +2426,7 @@ void TLiquidazione_app::set_grand_2000(_DescrItem& d, int &rw)
|
||||
if (_month < 13 && credito_compensabile && credito_autorizzato_F24 > ZERO)
|
||||
{
|
||||
cred_prec -= credito_autorizzato_F24;
|
||||
cre_deb_per += credito_autorizzato_F24;
|
||||
// cre_deb_per += credito_autorizzato_F24;
|
||||
set_row(rw++,FR("%s@11gCredito IVA autorizzato in F24%s@75g%r@100gil %s"), _is_visliq ? "$[r]" : "", _is_visliq ? "$[n]" : "", &credito_autorizzato_F24, (const char *) data_autorizzazione);
|
||||
}
|
||||
cred_prec -= rimborso;
|
||||
@ -2547,7 +2547,7 @@ void TLiquidazione_app::set_grand_2000(_DescrItem& d, int &rw)
|
||||
if (credito_autorizzato_F24 > ZERO)
|
||||
{
|
||||
credito_utilizzabile += credito_autorizzato_F24;
|
||||
set_row(rw++,FR("%s@11gCredito IVA autorizzato in F24%s@75g%r@100gil %s"), _is_visliq ? "$[r]" : "", _is_visliq ? "$[n]" : "", &credito_autorizzato_F24, (const char *) data_autorizzazione);
|
||||
set_row(rw++,FR("%s@11gCredito IVA autorizzato in F24%s@58g%r@100gil %s"), _is_visliq ? "$[r]" : "", _is_visliq ? "$[n]" : "", &credito_autorizzato_F24, (const char *) data_autorizzazione);
|
||||
}
|
||||
set_row(rw++, FR("@11gCredito IVA compensabile detratto@75g%r"), &credito_utilizzato_IVA);
|
||||
credito_utilizzabile -= credito_utilizzato_IVA;
|
||||
|
@ -15,13 +15,14 @@
|
||||
/*
|
||||
* - Per aggiornare le tabelle f9 aggiungere nella cartella "sql\f9\" il file sql cosi' fatto:
|
||||
* f9xxxx.sql dove xxxx e' il numero zero-filled della versione delle tabelle, che INCREMENTA DI DUE COME CON LE PATCH, IMPORTANTE!
|
||||
* - Aggiornare la definizione qui sotto di F9_SQL_VERSION mettendo la nuova versione.
|
||||
* - Aggiornare la definizione qui sotto di SQL_VERSION mettendo la nuova versione.
|
||||
* - Fare patch del file sql e dell'eseguibile f90.exe
|
||||
* - Lanciare il programma per eseguire l'aggiornamento.
|
||||
*/
|
||||
|
||||
#define TABMOD_SQL_VERSION "S0"
|
||||
#define F9_SQL_VERSION 100 // Utilizzo questo per controllare la versione attuale delle tabelle e nel caso aggiornarle
|
||||
#define TABMOD_TABVER "S0" // Campo per la memorizzazione della versione attuale delle tabelle
|
||||
#define TAB_BASE_VERSION 100 // Versione base delle tabelle
|
||||
#define SQL_VERSION 100 // Utilizzo questo per controllare la versione attuale delle tabelle e nel caso aggiornarle
|
||||
|
||||
SSimple_query& db()
|
||||
{
|
||||
@ -100,11 +101,11 @@ bool TEstrai_mask::estrai_handler(TMask_field& f, unsigned short key)
|
||||
message_box("Estrazione avvenuta con successo!");
|
||||
app().segna_estratti();
|
||||
}
|
||||
else if (!stato)
|
||||
{
|
||||
app().segna_in_errore();
|
||||
warning_box("L'estrazione non e' stata completata. Controllare il log degli errori.");
|
||||
}
|
||||
if (!stato)
|
||||
{
|
||||
app().segna_in_errore();
|
||||
warning_box("L'estrazione non e' stata completata. Controllare il log degli errori.");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -225,13 +226,13 @@ void TMonitor_mask::open_win_conf() const
|
||||
m->run();
|
||||
}
|
||||
|
||||
void TMonitor_mask::fill()
|
||||
void TMonitor_mask::fill() const
|
||||
{
|
||||
app()._ambiente = ini_get_string(CONFIG_DITTA, PAR_MOD, AMBIENTE_F9);
|
||||
app()._addr_doc = ini_get_string(CONFIG_DITTA, PAR_MOD, ADDRCART_F9);
|
||||
|
||||
TString query;
|
||||
query << "SELECT * FROM F9DRD00K ORDER BY " << DRD_TIME << ";";
|
||||
query << "SELECT * FROM F9DRD00K ORDER BY " << DRD_TIME << " DESC;";
|
||||
db().sq_set_exec(query, false);
|
||||
|
||||
TSheet_field& sf = sfield(S_ELAB);
|
||||
@ -259,19 +260,12 @@ void TMonitor_mask::fill()
|
||||
row.add(db().sq_get(DRD_UTENTE));
|
||||
row.add(TF9_app::traduci_stato(db().sq_get(DRD_STATO)));
|
||||
row.add(db().sq_get(DRD_DESC));
|
||||
if (TDate(row.get(cid2index(F_DATAESTR))) == today)
|
||||
{
|
||||
if (TString(row.get(cid2index(F_PROV_B))) == "X")
|
||||
app()._last_estr_p = real(TString(row.get(cid2index(F_IDESTR))).ltrim(10)).integer();
|
||||
else
|
||||
app()._last_estr_d = real(TString(row.get(cid2index(F_IDESTR))).ltrim(10)).integer();
|
||||
}
|
||||
}
|
||||
sf.force_update();
|
||||
sf.show();
|
||||
}
|
||||
|
||||
void TMonitor_mask::delete_pack(bool all)
|
||||
void TMonitor_mask::delete_pack(const bool all) const
|
||||
{
|
||||
bool flag = false;
|
||||
TSheet_field& sf = sfield(S_ELAB);
|
||||
@ -417,6 +411,13 @@ void TF9_dberr::send()
|
||||
_insert.cut(0) << "INSERT INTO " F9_ERR " VALUES ()";
|
||||
}
|
||||
|
||||
void TF9_dberr::del_err(const TString& id_estr, int numreg)
|
||||
{
|
||||
TString query;
|
||||
query << "DELETE FROM " F9_ERR " WHERE IDESTR = '" << id_estr << "' AND NUMREG = '" << numreg << "';";
|
||||
db().sq_set_exec(query);
|
||||
}
|
||||
|
||||
char TF9_dberr::get_errori(const TString& id_estr, vector<TToken_string>& movs)
|
||||
{
|
||||
TString query;
|
||||
@ -697,7 +698,7 @@ void TF9_app::edit_wa() const
|
||||
"INSERT INTO F9WA00K (F9PCSOC, F9PPCDC0) VALUES (" << _ambiente << ", " << _addr_doc << ");";
|
||||
}
|
||||
|
||||
void TF9_app::export_error_list(bool esclusi) // todo: da ritestare
|
||||
void TF9_app::export_error_list(bool esclusi)
|
||||
{
|
||||
TF9_dberr dberr;
|
||||
vector<TToken_string>& movs = esclusi ? _esclusi : _movs;
|
||||
@ -746,7 +747,6 @@ void TF9_app::load()
|
||||
|
||||
// Prendo tutti i movimenti a partire da una data e li carico tutti fino alla data finale
|
||||
_movs.clear();
|
||||
|
||||
for (bool ok = mov.read(); ok && (datareg = mov.get_date(MOV_DATAREG)) >= dataini && datareg <= dataend; ok = mov.next() == NOERR)
|
||||
{
|
||||
if (!progr.add_status())
|
||||
@ -966,8 +966,8 @@ bool TF9_app::is_doc_xml(const TLocalisamfile& mov)
|
||||
if(chiave_paf(doc, hfatt, bfatt))
|
||||
{
|
||||
query << "SELECT * FROM PAF0100F WHERE P1_KEYHEADERFATT = '" << hfatt << "' AND P1_KEYBODYFATT = '" << bfatt << "';";
|
||||
fp_db().sq_set_exec(query);
|
||||
return fp_db().sq_items() > 0;
|
||||
db().sq_set_exec(query);
|
||||
return db().sq_items() > 0;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -975,10 +975,16 @@ bool TF9_app::is_doc_xml(const TLocalisamfile& mov)
|
||||
TString TF9_app::next_estr_today(const char tipo) const
|
||||
{
|
||||
char estr[] = {0,0,0,0,0,0,0,0,0};
|
||||
if(tipo == 'P')
|
||||
sprintf_s(estr, 9, "%08d", _last_estr_p + 1);
|
||||
else
|
||||
sprintf_s(estr, 9, "%08d", _last_estr_d + 1);
|
||||
TString query;
|
||||
query << "SELECT TOP 1 " DRD_ID_EST " AS IDESTR\n"
|
||||
"FROM " F9_DRD "\n"
|
||||
"WHERE " DRD_ID_EST " LIKE '" << today.date2ansi() << tipo << "%'\n" <<
|
||||
"ORDER BY " DRD_ID_EST " DESC";
|
||||
if(!db().sq_set_exec(query))
|
||||
fatal_box(db().sq_get_text_error());
|
||||
|
||||
const int last_estr = real(db().sq_get("IDESTR").ltrim(10)).integer();
|
||||
sprintf_s(estr, 9, "%08d", last_estr + 1);
|
||||
return estr;
|
||||
}
|
||||
|
||||
@ -988,9 +994,10 @@ bool TF9_app::check_periodo_def(const drd& head)
|
||||
// Controllo se ci sono estrazioni (definitive) che si sovrappongono di periodo (con lo stesso tipo) e che non siano in stato di errore
|
||||
// Nel caso di stato di errore e' invece possibile la ri-estrazione
|
||||
query << "SELECT *\nFROM F9DRD00K\n" <<
|
||||
"WHERE '" << head.dal.date2ansi() << "' =< " DRD_DATAA " AND '" << head.al.date2ansi() << "' >= " DRD_DATADA " AND "
|
||||
DRD_FLAG_PD " = 'D' AND\n F9RIDAS <> '" D_GEST_ERR "' AND F9RIDAS <> '" D_WA_ERR "' AND F9RIDAS <> '" D_ERR_SOS "' AND " DRD_TIPODOC " = '" << head.tipo_doc << "';";
|
||||
db().sq_set_exec(query);
|
||||
"WHERE " << DRD_DATAA << " >= '" << head.dal.date2ansi() << "' AND " DRD_DATADA " <= '" << head.al.date2ansi() << "' AND "
|
||||
DRD_FLAG_PD " = 'D' AND\n " DRD_STATO " <> '" D_GEST_ERR "' AND " DRD_STATO " <> '" D_WA_ERR "' AND " DRD_STATO " <> '" D_ERR_SOS "' AND " DRD_TIPODOC " = '" << head.tipo_doc << "';";
|
||||
if (!db().sq_set_exec(query))
|
||||
fatal_box(db().sq_get_text_error());
|
||||
return db().sq_items() == 0;
|
||||
}
|
||||
|
||||
@ -1073,7 +1080,7 @@ int TF9_app::estrai()
|
||||
else if (_head.stato_estr == D_GEST_OK)
|
||||
{
|
||||
_msk->disable_controllo_err();
|
||||
return estrazione_iva() ? 1 : false;
|
||||
return estrazione_iva() ? 1 : 0;
|
||||
}
|
||||
}
|
||||
return -2;
|
||||
@ -1228,7 +1235,7 @@ void TF9_app::segna_in_errore() const
|
||||
db().sq_set_exec(query);
|
||||
}
|
||||
|
||||
|
||||
#ifdef DBG
|
||||
void pulisci_mov()
|
||||
{
|
||||
TLocalisamfile mov(LF_MOV);
|
||||
@ -1239,13 +1246,15 @@ void pulisci_mov()
|
||||
{
|
||||
mov.put(MOV_ELABF9, "");
|
||||
mov.write();
|
||||
bool ok = mov.rewrite() == NOERR;
|
||||
mov.rewrite();
|
||||
}while (mov.next() == NOERR);
|
||||
}
|
||||
#endif
|
||||
|
||||
void TF9_app::main_loop()
|
||||
{
|
||||
check_table();
|
||||
if(!check_table())
|
||||
fatal_box("Controllo tabelle modulo fallito.");
|
||||
#ifdef DBG // Per sicurezza che non venga inserito in release
|
||||
//pulisci_mov();
|
||||
#endif
|
||||
@ -1270,13 +1279,13 @@ bool TF9_app::create_tables() const
|
||||
tabmod.put("CODTAB", "VERSION");
|
||||
char ver[5] = "0000";
|
||||
sprintf_s(ver, 5, "%04d", 100);
|
||||
tabmod.put(TABMOD_SQL_VERSION, ver);
|
||||
tabmod.write(); // todo: controllare
|
||||
ok &= tabmod.rewrite() == NOERR; // todo: controllare
|
||||
tabmod.put(TABMOD_TABVER, ver);
|
||||
tabmod.write();
|
||||
ok &= tabmod.rewrite() == NOERR;
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool TF9_app::check_tabelle_f9()
|
||||
bool TF9_app::check_tabelle_f9() const
|
||||
{
|
||||
bool ok = true;
|
||||
TString query;
|
||||
@ -1297,15 +1306,16 @@ bool TF9_app::aggiorna_tab_f9(int version) const
|
||||
string sql;
|
||||
char ver[5] = "0000";
|
||||
sprintf_s(ver, 5, "%04d", version);
|
||||
file << "sql\\f90\\f9" << ver << ".sql";
|
||||
TString name; name << "f9" << ver << ".sql";
|
||||
file << "sql\\f90\\" << name;
|
||||
|
||||
std::ifstream fin;
|
||||
fin.open(file);
|
||||
if(ok &= fin.is_open())
|
||||
{
|
||||
while (!fin.eof())
|
||||
while (!fin.eof() && ok)
|
||||
{
|
||||
std::string appo_line; // todo: Controllare che si svuota ad ogni ciclo o aggiungere un erase
|
||||
std::string appo_line;
|
||||
std::getline(fin, appo_line);
|
||||
if (appo_line[0] == '-' && appo_line[1] == '-') // Se è una riga di commento la salto
|
||||
continue;
|
||||
@ -1315,12 +1325,17 @@ bool TF9_app::aggiorna_tab_f9(int version) const
|
||||
if(end != int(std::string::npos))
|
||||
{
|
||||
TString query; query << sql.c_str();
|
||||
ok &= fp_db().sq_set_exec(query);
|
||||
ok &= fp_db().sq_commit();
|
||||
ok &= db().sq_set_exec(query);
|
||||
ok &= db().sq_commit();
|
||||
sql.erase();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
TString msg; msg << "Impossibile trovare il file di aggiornamento tabelle: " << file;
|
||||
error_box(msg);
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
@ -1331,51 +1346,47 @@ bool TF9_app::check_tab_version() const
|
||||
tabmod.put("MOD", "F9");
|
||||
tabmod.put("COD", "SQL");
|
||||
tabmod.put("CODTAB", "VERSION");
|
||||
const bool exists = tabmod.read() == NOERR;
|
||||
|
||||
if(ok &= tabmod.read() == NOERR)
|
||||
int version = exists ? real(tabmod.get(TABMOD_TABVER)).integer() : TAB_BASE_VERSION - 2;
|
||||
if(version < SQL_VERSION) // Controllo la versione
|
||||
{
|
||||
int version = real(tabmod.get(TABMOD_SQL_VERSION)).integer();
|
||||
if(version < F9_SQL_VERSION) // Controllo la versione
|
||||
for(; version < SQL_VERSION; version += 2) // Effettuo le modifiche per ogni avanzamento di versione
|
||||
{
|
||||
for(; version <= F9_SQL_VERSION; version += 2) // Effettuo le modifiche per ogni avanzamento di versione
|
||||
if (ok &= aggiorna_tab_f9(version + 2))
|
||||
{
|
||||
if (ok &= aggiorna_tab_f9(version + 2))
|
||||
char ver[5] = "0000";
|
||||
sprintf_s(ver, 5, "%04d", version + 2);
|
||||
tabmod.put(TABMOD_TABVER, ver); // Avanzo il contatore della versione in TABMOD
|
||||
if (!exists)
|
||||
{
|
||||
char ver[5] = "0000";
|
||||
sprintf_s(ver, 5, "%04d", version + 2);
|
||||
tabmod.put(TABMOD_SQL_VERSION, ver); // Avanzo il contatore della versione in TABMOD
|
||||
tabmod.rewrite();
|
||||
tabmod.zero();
|
||||
tabmod.put("MOD", "F9");
|
||||
tabmod.put("COD", "SQL");
|
||||
tabmod.put("CODTAB", "VERSION");
|
||||
tabmod.put(TABMOD_TABVER, ver); // Avanzo il contatore della versione in TABMOD
|
||||
tabmod.write();
|
||||
}
|
||||
else
|
||||
break;
|
||||
tabmod.rewrite();
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool TF9_app::check_table()
|
||||
bool TF9_app::check_table() const
|
||||
{
|
||||
if (!check_tabelle_f9())
|
||||
{
|
||||
TString msg;
|
||||
std::ofstream fout;
|
||||
fout.open("f9checktaberr.txt");
|
||||
fout << fp_db().sq_get_text_error(false) << std::endl;
|
||||
fout.close();
|
||||
msg << "Errore controllo database F9: creazione tabelle.\n" << fp_db().sq_get_text_error(false);
|
||||
fatal_box(msg);
|
||||
return false;
|
||||
}
|
||||
// Se il check tabelle va a buon fine controllo la versione delle tabelle
|
||||
if (!check_tab_version())
|
||||
{
|
||||
TString msg;
|
||||
std::ofstream fout;
|
||||
fout.open("f9checktaberr.txt");
|
||||
fout << fp_db().sq_get_text_error(false) << std::endl;
|
||||
fout << db().sq_get_text_error(false) << std::endl;
|
||||
fout.close();
|
||||
msg << "Errore controllo database F9: aggiornamento tabelle.\n" << fp_db().sq_get_text_error(false);
|
||||
msg << "! Errore controllo database F9: creazione/aggiornamento tabelle.\n" << db().sq_get_text_error() << "\n" << db().sq_get_string_error();
|
||||
fatal_box(msg);
|
||||
return false;
|
||||
}
|
||||
@ -1393,7 +1404,7 @@ TF9_app& app()
|
||||
int f90100(int argc, char* argv[])
|
||||
{
|
||||
TF9_app app;
|
||||
app.run(argc, argv, TR("Configurazione FP"));
|
||||
app.run(argc, argv, TR("Archiviazione Sostitutiva"));
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1549,7 +1560,7 @@ TToken_string* TControllo_mask::selected_fat() const
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void TControllo_mask::associa()
|
||||
void TControllo_mask::associa() // todo: levare gli ultimi residui del vecchio funzionamento del controllo errori
|
||||
{
|
||||
TToken_string* mov_sel = selected_mov();
|
||||
TToken_string* fat_sel = selected_fat();
|
||||
@ -1575,6 +1586,7 @@ void TControllo_mask::associa()
|
||||
++it;
|
||||
}
|
||||
it->add(" ", 0);
|
||||
TF9_dberr::del_err(_id_estr, mov_sel->get_int(cid2index(F_CNUMREG)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -70,8 +70,6 @@ class TF9_app : public TSkeleton_application
|
||||
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;
|
||||
|
||||
@ -139,12 +137,12 @@ public:
|
||||
// Controllo e aggiornamento tabelle F9
|
||||
|
||||
bool create_tables() const; // Creazione tabelle F9
|
||||
bool check_tabelle_f9(); // Controllo esistenza delle tabelle e in caso le crea
|
||||
bool check_tabelle_f9() const; // Controllo esistenza delle tabelle e in caso le crea
|
||||
bool aggiorna_tab_f9(int version) const; // Aggiorna modifiche alle tabelle F9 come descritto in cima al file .cpp
|
||||
bool check_tab_version() const; // Controllo della versione e in caso aggiorna le tabelle
|
||||
bool check_table();
|
||||
bool check_table() const;
|
||||
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') { }
|
||||
_tipodoc_escl('A'), _flagprov_escl('P') { }
|
||||
};
|
||||
|
||||
TF9_app& app();
|
||||
@ -162,9 +160,9 @@ class TMonitor_mask : public TAutomask
|
||||
static void open_win_estr();
|
||||
void open_win_conf() const;
|
||||
|
||||
void fill();
|
||||
void fill() const;
|
||||
|
||||
void delete_pack(bool all = false);
|
||||
void delete_pack(bool all = false) const;
|
||||
|
||||
void sel() const;
|
||||
bool on_field_event(TOperable_field& o, TField_event e, long jolly) override;
|
||||
@ -185,7 +183,7 @@ class TControllo_mask : public TAutomask
|
||||
bool _sel_esclusi;
|
||||
bool _is_escluso;
|
||||
TString _id_estr;
|
||||
char _tipo_doc_err;
|
||||
char _tipo_doc_err{};
|
||||
|
||||
vector<TToken_string>& import_error_list();
|
||||
void fill();
|
||||
@ -220,6 +218,7 @@ public:
|
||||
void add(long num);
|
||||
void add() { add_str("NULL"); }
|
||||
void send();
|
||||
static void del_err(const TString& id_estr, int get_int);
|
||||
static char get_errori(const TString& id_estr, vector<TToken_string>& movs);
|
||||
TF9_dberr();
|
||||
};
|
||||
|
@ -1,123 +1,137 @@
|
||||
CREATE TABLE F9DRD00K (
|
||||
F9RCSOC CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9RIDES CHAR(18) NOT NULL DEFAULT '' ,
|
||||
F9RFPDE CHAR(1) NOT NULL DEFAULT '' ,
|
||||
F9RDDES CHAR(256) NOT NULL DEFAULT '' ,
|
||||
F9RFTDC CHAR(1) NOT NULL DEFAULT '' ,
|
||||
F9RUESD DATE NOT NULL DEFAULT getdate() ,
|
||||
F9RUESA DATE NOT NULL DEFAULT getdate() ,
|
||||
F9RUTEE CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9RUHES DATETIME NOT NULL DEFAULT getdate() ,
|
||||
F9RIDAS CHAR(2) NOT NULL DEFAULT '' ,
|
||||
F9RIDWA CHAR(2) NOT NULL DEFAULT '' ,
|
||||
F9RDSIW CHAR(256) NOT NULL DEFAULT '' ,
|
||||
F9RUHIM DATETIME NOT NULL DEFAULT getdate() ,
|
||||
F9RIISO CHAR(1) NOT NULL DEFAULT '' ,
|
||||
F9RUHIS DATETIME NOT NULL DEFAULT getdate() ,
|
||||
F9RSINW CHAR(2) NOT NULL DEFAULT '' ,
|
||||
F9RDSIN CHAR(256) NOT NULL DEFAULT '' ,
|
||||
F9RPCDC CHAR(256) NOT NULL DEFAULT '' ,
|
||||
PRIMARY KEY( F9RCSOC , F9RIDES , F9RFPDE ) ) ;
|
||||
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'F9DRD00K')
|
||||
CREATE TABLE F9DRD00K (
|
||||
F9RCSOC CHAR(10) NOT NULL DEFAULT '',
|
||||
F9RIDES CHAR(18) NOT NULL DEFAULT '',
|
||||
F9RFPDE CHAR(1) NOT NULL DEFAULT '',
|
||||
F9RDDES CHAR(256) NOT NULL DEFAULT '',
|
||||
F9RFTDC CHAR(1) NOT NULL DEFAULT '',
|
||||
F9RUESD DATE NOT NULL DEFAULT getdate(),
|
||||
F9RUESA DATE NOT NULL DEFAULT getdate(),
|
||||
F9RUTEE CHAR(10) NOT NULL DEFAULT '',
|
||||
F9RUHES DATETIME NOT NULL DEFAULT getdate(),
|
||||
F9RIDAS CHAR(2) NOT NULL DEFAULT '',
|
||||
F9RIDWA CHAR(2) NOT NULL DEFAULT '',
|
||||
F9RDSIW CHAR(256) NOT NULL DEFAULT '',
|
||||
F9RUHIM DATETIME NOT NULL DEFAULT getdate(),
|
||||
F9RIISO CHAR(1) NOT NULL DEFAULT '',
|
||||
F9RUHIS DATETIME NOT NULL DEFAULT getdate(),
|
||||
F9RSINW CHAR(2) NOT NULL DEFAULT '',
|
||||
F9RDSIN CHAR(256) NOT NULL DEFAULT '',
|
||||
F9RPCDC CHAR(256) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY( F9RCSOC,F9RIDES,F9RFPDE ))
|
||||
ELSE
|
||||
SELECT 1 AS EXIST;
|
||||
|
||||
CREATE TABLE F9DRT00K (
|
||||
F9TCSOC CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9TCADO CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9TDDES CHAR(30) NOT NULL DEFAULT '' ,
|
||||
F9TCLDC CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9TCDD1 CHAR(2) NOT NULL DEFAULT '' ,
|
||||
F9TCSOS CHAR(6) NOT NULL DEFAULT '' ,
|
||||
F9TCCAU CHAR(6) NOT NULL DEFAULT '' ,
|
||||
F9TTCAU CHAR(6) NOT NULL DEFAULT '' ,
|
||||
F9TTMOV CHAR(6) NOT NULL DEFAULT '' ,
|
||||
F9TFCEE CHAR(6) NOT NULL DEFAULT '' ,
|
||||
PRIMARY KEY( F9TCSOC , F9TCADO , F9TCCAU , F9TTCAU , F9TTMOV , F9TFCEE ) ) ;
|
||||
|
||||
CREATE TABLE F9IVA00K (
|
||||
F9ICSOC CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9IIDLA CHAR(18) NOT NULL DEFAULT '' ,
|
||||
F9IFPDE CHAR(1) NOT NULL DEFAULT '' ,
|
||||
F9IAFES CHAR(4) NOT NULL DEFAULT '' ,
|
||||
F9IGIVA CHAR(1) NOT NULL DEFAULT '' ,
|
||||
F9ITPGI CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9IDXML CHAR(1) NOT NULL DEFAULT '' ,
|
||||
F9ITCFO CHAR(1) NOT NULL DEFAULT '' ,
|
||||
F9ICCFO CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9IDRSO CHAR(60) NOT NULL DEFAULT '' ,
|
||||
F9IIDFI CHAR(30) NOT NULL DEFAULT '' ,
|
||||
F9IPIVA CHAR(28) NOT NULL DEFAULT '' ,
|
||||
F9ICFIS CHAR(16) NOT NULL DEFAULT '' ,
|
||||
F9ICADO CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9ICSOS CHAR(6) NOT NULL DEFAULT '' ,
|
||||
F9INDOC CHAR(20) NOT NULL DEFAULT '' ,
|
||||
F9IUDOC DATE NOT NULL DEFAULT getdate() ,
|
||||
F9ISIVA CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9ICREG CHAR(6) NOT NULL DEFAULT '' ,
|
||||
F9INPRI CHAR(20) NOT NULL DEFAULT '' ,
|
||||
F9IUPRI DATE NOT NULL DEFAULT getdate() ,
|
||||
F9IFOOA CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9ITROT CHAR(6) NOT NULL DEFAULT '' ,
|
||||
F9INRRO CHAR(20) NOT NULL DEFAULT '' ,
|
||||
F9IURGO DATE NOT NULL DEFAULT getdate() ,
|
||||
F9ICLDF CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9INMF1 CHAR(100) NOT NULL DEFAULT '' ,
|
||||
F9ICLDN CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9INMF2 CHAR(100) NOT NULL DEFAULT '' ,
|
||||
F9ICLDA CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9INMF3 CHAR(100) NOT NULL DEFAULT '' ,
|
||||
F9ICLD4 CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9INMF4 CHAR(100) NOT NULL DEFAULT '' ,
|
||||
F9ICLD5 CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9INMF5 CHAR(100) NOT NULL DEFAULT '' ,
|
||||
F9ICLD6 CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9INMF6 CHAR(100) NOT NULL DEFAULT '' ,
|
||||
F9ICLD7 CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9INMF7 CHAR(100) NOT NULL DEFAULT '' ,
|
||||
F9ICLD8 CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9INMF8 CHAR(100) NOT NULL DEFAULT '' ,
|
||||
F9ICLD9 CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9INMF9 CHAR(100) NOT NULL DEFAULT '' ,
|
||||
F9ICL10 CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9INM10 CHAR(100) NOT NULL DEFAULT '' ,
|
||||
F9IUTEE CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9IUHEL DATETIME NOT NULL DEFAULT getdate() ,
|
||||
F9IUHEW DATETIME NOT NULL DEFAULT getdate() ,
|
||||
F9IDDES CHAR(30) NOT NULL DEFAULT '' ,
|
||||
F9ITPRT CHAR(2) NOT NULL DEFAULT '' ,
|
||||
F9IAPRT NUMERIC(4, 0) NOT NULL DEFAULT 0 ,
|
||||
F9INPRT NUMERIC(10, 0) NOT NULL DEFAULT 0 ,
|
||||
F9IURIC DATETIME NOT NULL DEFAULT getdate() ,
|
||||
PRIMARY KEY( F9ICSOC , F9IIDLA , F9IFPDE , F9ISIVA , F9ICREG , F9INPRI , F9IUPRI , F9ITPGI ) ) ;
|
||||
|
||||
CREATE TABLE F9PWA00K (
|
||||
F9PCSOC CHAR(10) NOT NULL DEFAULT '' ,
|
||||
F9PCDFN CHAR(2) NOT NULL DEFAULT '' ,
|
||||
F9PCDNT CHAR(2) NOT NULL DEFAULT '' ,
|
||||
F9PCDA1 CHAR(2) NOT NULL DEFAULT '' ,
|
||||
F9PCDA2 CHAR(2) NOT NULL DEFAULT '' ,
|
||||
F9PCDA3 CHAR(2) NOT NULL DEFAULT '' ,
|
||||
F9PCDA4 CHAR(2) NOT NULL DEFAULT '' ,
|
||||
F9PCDA5 CHAR(2) NOT NULL DEFAULT '' ,
|
||||
F9PCDA6 CHAR(2) NOT NULL DEFAULT '' ,
|
||||
F9PCDA7 CHAR(2) NOT NULL DEFAULT '' ,
|
||||
F9PCDA8 CHAR(2) NOT NULL DEFAULT '' ,
|
||||
F9PPCDC CHAR(256) NOT NULL DEFAULT '' ,
|
||||
PRIMARY KEY( F9PCSOC ) ) ;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'F9DRT00K')
|
||||
CREATE TABLE F9DRT00K (
|
||||
F9TCSOC CHAR(10) NOT NULL DEFAULT '',
|
||||
F9TCADO CHAR(10) NOT NULL DEFAULT '',
|
||||
F9TDDES CHAR(30) NOT NULL DEFAULT '',
|
||||
F9TCLDC CHAR(10) NOT NULL DEFAULT '',
|
||||
F9TCDD1 CHAR(2) NOT NULL DEFAULT '',
|
||||
F9TCSOS CHAR(6) NOT NULL DEFAULT '',
|
||||
F9TCCAU CHAR(6) NOT NULL DEFAULT '',
|
||||
F9TTCAU CHAR(6) NOT NULL DEFAULT '',
|
||||
F9TTMOV CHAR(6) NOT NULL DEFAULT '',
|
||||
F9TFCEE CHAR(6) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY( F9TCSOC,F9TCADO,F9TCCAU,F9TTCAU,F9TTMOV,F9TFCEE ))
|
||||
ELSE
|
||||
SELECT 1 AS EXIST;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'F9IVA00K')
|
||||
CREATE TABLE F9IVA00K (
|
||||
F9ICSOC CHAR(10) NOT NULL DEFAULT '',
|
||||
F9IIDLA CHAR(18) NOT NULL DEFAULT '',
|
||||
F9IFPDE CHAR(1) NOT NULL DEFAULT '',
|
||||
F9IAFES CHAR(4) NOT NULL DEFAULT '',
|
||||
F9IGIVA CHAR(1) NOT NULL DEFAULT '',
|
||||
F9ITPGI CHAR(10) NOT NULL DEFAULT '',
|
||||
F9IDXML CHAR(1) NOT NULL DEFAULT '',
|
||||
F9ITCFO CHAR(1) NOT NULL DEFAULT '',
|
||||
F9ICCFO CHAR(10) NOT NULL DEFAULT '',
|
||||
F9IDRSO CHAR(60) NOT NULL DEFAULT '',
|
||||
F9IIDFI CHAR(30) NOT NULL DEFAULT '',
|
||||
F9IPIVA CHAR(28) NOT NULL DEFAULT '',
|
||||
F9ICFIS CHAR(16) NOT NULL DEFAULT '',
|
||||
F9ICADO CHAR(10) NOT NULL DEFAULT '',
|
||||
F9ICSOS CHAR(6) NOT NULL DEFAULT '',
|
||||
F9INDOC CHAR(20) NOT NULL DEFAULT '',
|
||||
F9IUDOC DATE NOT NULL DEFAULT getdate(),
|
||||
F9ISIVA CHAR(10) NOT NULL DEFAULT '',
|
||||
F9ICREG CHAR(6) NOT NULL DEFAULT '',
|
||||
F9INPRI CHAR(20) NOT NULL DEFAULT '',
|
||||
F9IUPRI DATE NOT NULL DEFAULT getdate(),
|
||||
F9IFOOA CHAR(10) NOT NULL DEFAULT '',
|
||||
F9ITROT CHAR(6) NOT NULL DEFAULT '',
|
||||
F9INRRO CHAR(20) NOT NULL DEFAULT '',
|
||||
F9IURGO DATE NOT NULL DEFAULT getdate(),
|
||||
F9ICLDF CHAR(10) NOT NULL DEFAULT '',
|
||||
F9INMF1 CHAR(100) NOT NULL DEFAULT '',
|
||||
F9ICLDN CHAR(10) NOT NULL DEFAULT '',
|
||||
F9INMF2 CHAR(100) NOT NULL DEFAULT '',
|
||||
F9ICLDA CHAR(10) NOT NULL DEFAULT '',
|
||||
F9INMF3 CHAR(100) NOT NULL DEFAULT '',
|
||||
F9ICLD4 CHAR(10) NOT NULL DEFAULT '',
|
||||
F9INMF4 CHAR(100) NOT NULL DEFAULT '',
|
||||
F9ICLD5 CHAR(10) NOT NULL DEFAULT '',
|
||||
F9INMF5 CHAR(100) NOT NULL DEFAULT '',
|
||||
F9ICLD6 CHAR(10) NOT NULL DEFAULT '',
|
||||
F9INMF6 CHAR(100) NOT NULL DEFAULT '',
|
||||
F9ICLD7 CHAR(10) NOT NULL DEFAULT '',
|
||||
F9INMF7 CHAR(100) NOT NULL DEFAULT '',
|
||||
F9ICLD8 CHAR(10) NOT NULL DEFAULT '',
|
||||
F9INMF8 CHAR(100) NOT NULL DEFAULT '',
|
||||
F9ICLD9 CHAR(10) NOT NULL DEFAULT '',
|
||||
F9INMF9 CHAR(100) NOT NULL DEFAULT '',
|
||||
F9ICL10 CHAR(10) NOT NULL DEFAULT '',
|
||||
F9INM10 CHAR(100) NOT NULL DEFAULT '',
|
||||
F9IUTEE CHAR(10) NOT NULL DEFAULT '',
|
||||
F9IUHEL DATETIME NOT NULL DEFAULT getdate(),
|
||||
F9IUHEW DATETIME NOT NULL DEFAULT getdate(),
|
||||
F9IDDES CHAR(30) NOT NULL DEFAULT '',
|
||||
F9ITPRT CHAR(2) NOT NULL DEFAULT '',
|
||||
F9IAPRT NUMERIC(4, 0) NOT NULL DEFAULT 0,
|
||||
F9INPRT NUMERIC(10, 0) NOT NULL DEFAULT 0,
|
||||
F9IURIC DATETIME NOT NULL DEFAULT getdate(),
|
||||
PRIMARY KEY( F9ICSOC,F9IIDLA,F9IFPDE,F9ISIVA,F9ICREG,F9INPRI,F9IUPRI,F9ITPGI ))
|
||||
ELSE
|
||||
SELECT 1 AS EXIST;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'F9PWA00K')
|
||||
CREATE TABLE F9PWA00K (
|
||||
F9PCSOC CHAR(10) NOT NULL DEFAULT '',
|
||||
F9PCDFN CHAR(2) NOT NULL DEFAULT '',
|
||||
F9PCDNT CHAR(2) NOT NULL DEFAULT '',
|
||||
F9PCDA1 CHAR(2) NOT NULL DEFAULT '',
|
||||
F9PCDA2 CHAR(2) NOT NULL DEFAULT '',
|
||||
F9PCDA3 CHAR(2) NOT NULL DEFAULT '',
|
||||
F9PCDA4 CHAR(2) NOT NULL DEFAULT '',
|
||||
F9PCDA5 CHAR(2) NOT NULL DEFAULT '',
|
||||
F9PCDA6 CHAR(2) NOT NULL DEFAULT '',
|
||||
F9PCDA7 CHAR(2) NOT NULL DEFAULT '',
|
||||
F9PCDA8 CHAR(2) NOT NULL DEFAULT '',
|
||||
F9PPCDC CHAR(256) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY( F9PCSOC ))
|
||||
ELSE
|
||||
SELECT 1 AS EXIST;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'F9ERROR')
|
||||
CREATE TABLE F9ERROR(
|
||||
IDESTR CHAR(18) NOT NULL,
|
||||
NUMREG NUMERIC(7,0) NOT NULL,
|
||||
DATAREG DATE NOT NULL,
|
||||
DATADOC DATE NOT NULL,
|
||||
CODCAUS VARCHAR(3) NOT NULL,
|
||||
MESELIQ NUMERIC(2,0),
|
||||
NUMDOC VARCHAR(50) NOT NULL,
|
||||
IDESTR CHAR(18) NOT NULL,
|
||||
NUMREG NUMERIC(7,0) NOT NULL,
|
||||
DATAREG DATE NOT NULL,
|
||||
DATADOC DATE NOT NULL,
|
||||
CODCAUS VARCHAR(3) NOT NULL,
|
||||
MESELIQ NUMERIC(2,0),
|
||||
NUMDOC VARCHAR(50) NOT NULL,
|
||||
IMPTOTDOC NUMERIC(18,3) NOT NULL,
|
||||
FORN NUMERIC(6,0) NOT NULL,
|
||||
RAGSOC VARCHAR(50),
|
||||
PROTIVA VARCHAR(10) NOT NULL,
|
||||
PROTIVA VARCHAR(10) NOT NULL,
|
||||
DESCR VARCHAR(50),
|
||||
ESCLUDI CHAR(1),
|
||||
ESCLUSO CHAR(2),
|
||||
DESCRERR VARCHAR(110),
|
||||
PRIMARY KEY(IDESTR, NUMREG)
|
||||
);
|
||||
PRIMARY KEY(IDESTR, NUMREG))
|
||||
ELSE
|
||||
SELECT 1 AS EXIST;
|
Loading…
x
Reference in New Issue
Block a user