Patch level : 12.0 700
Files correlati : fp Commento : - Migliorata query per filtro protocolli - Sistemato numero protocollo - Aggiunto booleano se è stato salvato in FP PRO
This commit is contained in:
parent
8d76f94f75
commit
444971f052
@ -29,7 +29,6 @@ protected:
|
|||||||
|
|
||||||
void set_filter_changed();
|
void set_filter_changed();
|
||||||
void select_all(int sheet_field);
|
void select_all(int sheet_field);
|
||||||
void select_all_filtri();
|
|
||||||
bool on_field_event(TOperable_field& o, TField_event e, long jolly) override;
|
bool on_field_event(TOperable_field& o, TField_event e, long jolly) override;
|
||||||
void next_page(int p) override;
|
void next_page(int p) override;
|
||||||
// Elenco dei protocolli selezionati
|
// Elenco dei protocolli selezionati
|
||||||
@ -38,6 +37,7 @@ protected:
|
|||||||
static int find_fornitore(TLocalisamfile& clifo);
|
static int find_fornitore(TLocalisamfile& clifo);
|
||||||
static void add_row_err_forn(int forn_code, TSheet_field& sf_err, TString& denom);
|
static void add_row_err_forn(int forn_code, TSheet_field& sf_err, TString& denom);
|
||||||
static void aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TSheet_field& sf_err);
|
static void aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TSheet_field& sf_err);
|
||||||
|
// Aggiunge i protocolli che sono già presenti per le fatture nel db alla tabellina per il filtro
|
||||||
void aggiungi_prot() const;
|
void aggiungi_prot() const;
|
||||||
void init();
|
void init();
|
||||||
|
|
||||||
@ -76,7 +76,7 @@ void TPassive_mask::fill()
|
|||||||
TSheet_field& sf = sfield(F_DOCS);
|
TSheet_field& sf = sfield(F_DOCS);
|
||||||
TSheet_field& sf_err = sfield(F_ERR);
|
TSheet_field& sf_err = sfield(F_ERR);
|
||||||
TString query;
|
TString query;
|
||||||
TString prots;
|
TString prots_query;
|
||||||
TLocalisamfile clifo(LF_CLIFO);
|
TLocalisamfile clifo(LF_CLIFO);
|
||||||
|
|
||||||
const TDate dal = get(F_DATAINI);
|
const TDate dal = get(F_DATAINI);
|
||||||
@ -87,7 +87,7 @@ void TPassive_mask::fill()
|
|||||||
sf_err.hide();
|
sf_err.hide();
|
||||||
sf_err.destroy();
|
sf_err.destroy();
|
||||||
|
|
||||||
elenco_prots_sel(prots);
|
elenco_prots_sel(prots_query);
|
||||||
|
|
||||||
query << "SELECT PZ_TIPOPROT AS TIPO_PROT, YEAR(P7_DATA) AS ANNO, P7_TIPODOC AS [TIPO_SDI], P7_NUMERO AS [NUM_DOC], " <<
|
query << "SELECT PZ_TIPOPROT AS TIPO_PROT, YEAR(P7_DATA) AS ANNO, P7_TIPODOC AS [TIPO_SDI], P7_NUMERO AS [NUM_DOC], " <<
|
||||||
"P7_DATA AS [DATA_DOC], PQ_IMPTOTDOC AS [TOT_DOC], P2_ANADENOMIN AS [RAG_SOC], P2_ANANOME AS NOME, " <<
|
"P7_DATA AS [DATA_DOC], PQ_IMPTOTDOC AS [TOT_DOC], P2_ANADENOMIN AS [RAG_SOC], P2_ANANOME AS NOME, " <<
|
||||||
@ -101,7 +101,7 @@ void TPassive_mask::fill()
|
|||||||
"LEFT JOIN PAA2600F PAA26 ON P1_KEYPRGINVIO = PP_KEYPRGINVIO and P1_KEYHEADERFATT = PP_KEYHEADERFATT and P1_KEYBODYFATT = PP_KEYBODYFATT\n" <<
|
"LEFT JOIN PAA2600F PAA26 ON P1_KEYPRGINVIO = PP_KEYPRGINVIO and P1_KEYHEADERFATT = PP_KEYHEADERFATT and P1_KEYBODYFATT = PP_KEYBODYFATT\n" <<
|
||||||
"LEFT JOIN PAA3200F PAA32 ON P1_KEYPRGINVIO = PU_KEYPRGINVIO and P1_KEYHEADERFATT = PU_KEYHEADERFATT and P1_KEYBODYFATT = PU_KEYBODYFATT\n" <<
|
"LEFT JOIN PAA3200F PAA32 ON P1_KEYPRGINVIO = PU_KEYPRGINVIO and P1_KEYHEADERFATT = PU_KEYHEADERFATT and P1_KEYBODYFATT = PU_KEYBODYFATT\n" <<
|
||||||
"LEFT JOIN FPPRO00F FPPRO ON P1_KEYPRGINVIO = PZ_KEYPRGINVIO and P1_KEYHEADERFATT = PZ_KEYHEADERFATT and P1_KEYBODYFATT = PZ_KEYBODYFATT\n" <<
|
"LEFT JOIN FPPRO00F FPPRO ON P1_KEYPRGINVIO = PZ_KEYPRGINVIO and P1_KEYHEADERFATT = PZ_KEYHEADERFATT and P1_KEYBODYFATT = PZ_KEYBODYFATT\n" <<
|
||||||
"WHERE P7_DATA >= \'" << dal.date2ansi() << "\' AND P7_DATA <= \'" << al.date2ansi() << "\' AND PZ_TIPOPROT IN (" << prots << ")\n" <<
|
"WHERE P7_DATA >= \'" << dal.date2ansi() << "\' AND P7_DATA <= \'" << al.date2ansi() << "\'" << prots_query << "\n" <<
|
||||||
"GROUP BY YEAR(P7_DATA), P7_TIPODOC, P7_NUMERO, P7_DATA, PQ_IMPTOTDOC, P2_ANADENOMIN, P2_ANANOME, P2_ANACOGNOME, P2_FISCIVACOD, P2_CODFISCALE, P2_FISCIVAPAESE,\n" <<
|
"GROUP BY YEAR(P7_DATA), P7_TIPODOC, P7_NUMERO, P7_DATA, PQ_IMPTOTDOC, P2_ANADENOMIN, P2_ANANOME, P2_ANACOGNOME, P2_FISCIVACOD, P2_CODFISCALE, P2_FISCIVAPAESE,\n" <<
|
||||||
"P1_CODDEST, PU_PEC, P1_KEYPRGINVIO, P1_KEYHEADERFATT, P1_KEYBODYFATT, PZ_TIPOPROT, PZ_NUMPROT, PZ_ANNOPROT, PZ_TIPOCF, PZ_CLIFOR";
|
"P1_CODDEST, PU_PEC, P1_KEYPRGINVIO, P1_KEYHEADERFATT, P1_KEYBODYFATT, PZ_TIPOPROT, PZ_NUMPROT, PZ_ANNOPROT, PZ_TIPOCF, PZ_CLIFOR";
|
||||||
fp_db().sq_set_exec(query, false);
|
fp_db().sq_set_exec(query, false);
|
||||||
@ -124,6 +124,8 @@ void TPassive_mask::elenco_prots_sel(TString& string) const
|
|||||||
TString_array elenco;
|
TString_array elenco;
|
||||||
TSheet_field& sf = sfield(F_PROT);
|
TSheet_field& sf = sfield(F_PROT);
|
||||||
|
|
||||||
|
string << " AND PZ_TIPOPROT IN (";
|
||||||
|
|
||||||
FOR_EACH_SHEET_ROW(sf, nr, row)
|
FOR_EACH_SHEET_ROW(sf, nr, row)
|
||||||
{
|
{
|
||||||
if (*row->get(0) == 'X')
|
if (*row->get(0) == 'X')
|
||||||
@ -135,10 +137,10 @@ void TPassive_mask::elenco_prots_sel(TString& string) const
|
|||||||
{
|
{
|
||||||
for (int i = 0; i < elenco.items() - 1; i++)
|
for (int i = 0; i < elenco.items() - 1; i++)
|
||||||
string << "\'" << elenco.row(i) << "\', ";
|
string << "\'" << elenco.row(i) << "\', ";
|
||||||
string << "\'" << elenco.row(elenco.items() - 1) << "\'";
|
string << "\'" << elenco.row(elenco.items() - 1) << "\'" << ")\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
string = "\'\'";
|
string = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -150,6 +152,7 @@ void TPassive_mask::aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TShee
|
|||||||
const TString paa_piva = fp_db().sq_get("P_IVA");
|
const TString paa_piva = fp_db().sq_get("P_IVA");
|
||||||
const TString paa_codpaese = fp_db().sq_get("COD_PAESE");
|
const TString paa_codpaese = fp_db().sq_get("COD_PAESE");
|
||||||
const TString paa_codsdi = fp_db().sq_get("COD_SDI");
|
const TString paa_codsdi = fp_db().sq_get("COD_SDI");
|
||||||
|
TString prot = fp_db().sq_get("TIPO_PROT");
|
||||||
|
|
||||||
TToken_string& row = sf.row(-1);
|
TToken_string& row = sf.row(-1);
|
||||||
|
|
||||||
@ -168,8 +171,10 @@ void TPassive_mask::aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TShee
|
|||||||
row.add(fp_db().sq_get("DATA_DOC"));
|
row.add(fp_db().sq_get("DATA_DOC"));
|
||||||
row.add(fp_db().sq_get("TOT_DOC"));
|
row.add(fp_db().sq_get("TOT_DOC"));
|
||||||
|
|
||||||
// Dopo aver fatto le ricerche se lo trovo aggiungo se no coloro la cella
|
// Dopo aver fatto le ricerche se lo trovo lo segno e lo aggiungo, se no coloro la cella
|
||||||
forn_code = find_fornitore(clifo);
|
forn_code = find_fornitore(clifo);
|
||||||
|
if (forn_code == 0) row.add("X");
|
||||||
|
else row.add("");
|
||||||
|
|
||||||
if(forn_code >= 0)
|
if(forn_code >= 0)
|
||||||
{
|
{
|
||||||
@ -187,10 +192,10 @@ void TPassive_mask::aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TShee
|
|||||||
row.add(paa_piva);
|
row.add(paa_piva);
|
||||||
row.add(paa_codfisc);
|
row.add(paa_codfisc);
|
||||||
|
|
||||||
row.add(fp_db().sq_get("ATTACHMENT").blank() ? "" : "X");
|
row.add(fp_db().sq_get("ATTACHMENT") != "0" ? "" : "X");
|
||||||
row.add(paa_codsdi.blank() ? fp_db().sq_get("PEC") : paa_codsdi);
|
row.add(paa_codsdi.blank() ? fp_db().sq_get("PEC") : paa_codsdi);
|
||||||
row.add(denom);
|
row.add(denom);
|
||||||
row.add(fp_db().sq_get("TIPO_PROT") << fp_db().sq_get("NUM_PROT") << "/" << fp_db().sq_get("ANNO_PROT"));
|
row.add(fp_db().sq_get("ANNO_PROT") << (prot.empty() ? "" : "-") << prot << "/" << fp_db().sq_get("NUM_PROT") << (prot.empty() ? " (no prot.)" : ""));
|
||||||
TString key_prot; key_prot << fp_db().sq_get("KEYPROG") << ";" << fp_db().sq_get("KEYHEAD") << ";" << fp_db().sq_get("KEYFATT");
|
TString key_prot; key_prot << fp_db().sq_get("KEYPROG") << ";" << fp_db().sq_get("KEYHEAD") << ";" << fp_db().sq_get("KEYFATT");
|
||||||
row.add(key_prot);
|
row.add(key_prot);
|
||||||
}
|
}
|
||||||
@ -199,6 +204,7 @@ void TPassive_mask::aggiungi_prot() const
|
|||||||
{
|
{
|
||||||
TSheet_field& sf_prot = sfield(F_PROT);
|
TSheet_field& sf_prot = sfield(F_PROT);
|
||||||
TString query = "";
|
TString query = "";
|
||||||
|
TString prot = "";
|
||||||
|
|
||||||
query << "SELECT DISTINCT(PZ_TIPOPROT) AS TIPO_PROT \nFROM FPPRO00F";
|
query << "SELECT DISTINCT(PZ_TIPOPROT) AS TIPO_PROT \nFROM FPPRO00F";
|
||||||
fp_db().sq_set_exec(query, false);
|
fp_db().sq_set_exec(query, false);
|
||||||
@ -206,8 +212,10 @@ void TPassive_mask::aggiungi_prot() const
|
|||||||
while (fp_db().sq_next())
|
while (fp_db().sq_next())
|
||||||
{
|
{
|
||||||
TToken_string& row = sf_prot.row(sf_prot.items()+1);
|
TToken_string& row = sf_prot.row(sf_prot.items()+1);
|
||||||
|
prot = fp_db().sq_get("TIPO_PROT");
|
||||||
|
|
||||||
row.add("", 0);
|
row.add("", 0);
|
||||||
row.add(fp_db().sq_get("TIPO_PROT"));
|
row.add(prot.empty() ? "no-prot." : prot );
|
||||||
}
|
}
|
||||||
|
|
||||||
sf_prot.force_update();
|
sf_prot.force_update();
|
||||||
@ -323,12 +331,6 @@ void TPassive_mask::select_all(int sheet_field)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TPassive_mask::select_all_filtri()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void TPassive_mask::salva_for()
|
void TPassive_mask::salva_for()
|
||||||
{
|
{
|
||||||
if(fp_db().sq_is_connect())
|
if(fp_db().sq_is_connect())
|
||||||
@ -358,10 +360,12 @@ void TPassive_mask::salva_for()
|
|||||||
{
|
{
|
||||||
q_update << "UPDATE FPPRO00F SET PZ_TIPOCF = 'F', PZ_CLIFOR = '" << row->get(sf.cid2index(S_FORNITORE)) << "' WHERE PZ_KEYPRGINVIO = '" << key.get(0) << "' AND PZ_KEYHEADERFATT = '" << key.get(1) << "' AND PZ_KEYBODYFATT = '" << key.get(2) << "'";
|
q_update << "UPDATE FPPRO00F SET PZ_TIPOCF = 'F', PZ_CLIFOR = '" << row->get(sf.cid2index(S_FORNITORE)) << "' WHERE PZ_KEYPRGINVIO = '" << key.get(0) << "' AND PZ_KEYHEADERFATT = '" << key.get(1) << "' AND PZ_KEYBODYFATT = '" << key.get(2) << "'";
|
||||||
fp_db().sq_set_exec(q_update, false);
|
fp_db().sq_set_exec(q_update, false);
|
||||||
|
row->add("X", sf.cid2index(S_FPPRO));
|
||||||
|
sf.force_update();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
row->add("", 0);
|
|
||||||
}
|
}
|
||||||
|
row->add("", 0);
|
||||||
}
|
}
|
||||||
fp_db().sq_commit();
|
fp_db().sq_commit();
|
||||||
sf.force_update();
|
sf.force_update();
|
||||||
@ -384,12 +388,13 @@ bool TPassive_mask::on_field_event(TOperable_field& o, TField_event e, long joll
|
|||||||
if (e == fe_button)
|
if (e == fe_button)
|
||||||
switch (curr_page())
|
switch (curr_page())
|
||||||
{
|
{
|
||||||
case elenco_fe:
|
|
||||||
select_all(F_DOCS);
|
|
||||||
case filtri:
|
case filtri:
|
||||||
select_all(F_PROT);
|
select_all(F_PROT);
|
||||||
set_filter_changed();
|
set_filter_changed();
|
||||||
break;
|
break;
|
||||||
|
case elenco_fe:
|
||||||
|
select_all(F_DOCS);
|
||||||
|
break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -399,6 +404,7 @@ bool TPassive_mask::on_field_event(TOperable_field& o, TField_event e, long joll
|
|||||||
{
|
{
|
||||||
case elenco_fe:
|
case elenco_fe:
|
||||||
salva_for();
|
salva_for();
|
||||||
|
break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -411,6 +417,7 @@ bool TPassive_mask::on_field_event(TOperable_field& o, TField_event e, long joll
|
|||||||
case F_DATAEND:
|
case F_DATAEND:
|
||||||
if (e == fe_init)
|
if (e == fe_init)
|
||||||
o.set(TDate(TODAY));
|
o.set(TDate(TODAY));
|
||||||
|
break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
if ((e == fe_modify || e >= se_enter) && jolly == 0)
|
if ((e == fe_modify || e >= se_enter) && jolly == 0)
|
||||||
|
@ -25,16 +25,17 @@
|
|||||||
#define S_NDOC 104
|
#define S_NDOC 104
|
||||||
#define S_DATADOC 105
|
#define S_DATADOC 105
|
||||||
#define S_TOTDOC 106
|
#define S_TOTDOC 106
|
||||||
#define S_FORNITORE 107
|
#define S_FPPRO 107
|
||||||
#define S_RAGSOC 108
|
#define S_FORNITORE 108
|
||||||
#define S_STATOPAIV 109
|
#define S_RAGSOC 109
|
||||||
#define S_PARIVA 110
|
#define S_STATOPAIV 110
|
||||||
#define S_CODFISC 111
|
#define S_PARIVA 111
|
||||||
#define S_ATTACH 112
|
#define S_CODFISC 112
|
||||||
#define S_COFI 113
|
#define S_ATTACH 113
|
||||||
#define S_RAGXML 114
|
#define S_COFI 114
|
||||||
#define S_NPROT 115
|
#define S_RAGXML 115
|
||||||
#define S_PROKEY 116
|
#define S_NPROT 116
|
||||||
|
#define S_PROKEY 117
|
||||||
|
|
||||||
|
|
||||||
#define F_ERR 301
|
#define F_ERR 301
|
||||||
|
@ -56,6 +56,7 @@ BEGIN
|
|||||||
ITEM "Num.\nDoc.@11"
|
ITEM "Num.\nDoc.@11"
|
||||||
ITEM "Data\nDoc.@10"
|
ITEM "Data\nDoc.@10"
|
||||||
ITEM "Totale\nDoc."
|
ITEM "Totale\nDoc."
|
||||||
|
ITEM "Salvato in\nFP PRO@7"
|
||||||
ITEM "Fornitore"
|
ITEM "Fornitore"
|
||||||
ITEM "Ragione Sociale@50"
|
ITEM "Ragione Sociale@50"
|
||||||
ITEM "Stato P.IVA@2"
|
ITEM "Stato P.IVA@2"
|
||||||
@ -64,7 +65,7 @@ BEGIN
|
|||||||
ITEM "Allegati"
|
ITEM "Allegati"
|
||||||
ITEM "Codice destinatario@20"
|
ITEM "Codice destinatario@20"
|
||||||
ITEM "Rag. Soc. (XML)@50"
|
ITEM "Rag. Soc. (XML)@50"
|
||||||
ITEM "Numero Protocollo"
|
ITEM "Numero Protocollo\n[anno-tipo prot/progressivo]"
|
||||||
ITEM "Chiave Prot.@80"
|
ITEM "Chiave Prot.@80"
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -154,6 +155,12 @@ BEGIN
|
|||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
BOOLEAN S_FPPRO
|
||||||
|
BEGIN
|
||||||
|
PROMPT 28 3 "Salvato"
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
NUMBER S_FORNITORE 6
|
NUMBER S_FORNITORE 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 4 "Fornitore "
|
PROMPT 1 4 "Fornitore "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user