Merge branch 'R12.00.1244' of http://10.65.20.33/sirio/CAMPO/campo into R12.00.1244

This commit is contained in:
Alessandro Bonazzi 2023-04-12 08:54:10 +02:00
commit 0a574908e5
9 changed files with 164 additions and 59 deletions

3
cd/test/f91256.txt Normal file
View File

@ -0,0 +1,3 @@
f90.exe
La maschera del filtro per l'abbinamento doc andava in errore

19
cd/test/f91256a.ini Normal file
View File

@ -0,0 +1,19 @@
[Main]
Demo=0
[f90]
File(0) = f90.exe|X
Patch = 1256
Versione = 21511200
[f9]
Data = 04-04-2023
Descrizione = Archiviazione Sostitutiva
Dischi = 1
Moduli = fp
OEM =
Patch = 1256
PostProcess =
PreProcess =
Versione = 21511200

BIN
cd/test/f91256a1.zip Normal file

Binary file not shown.

4
cd/test/fp1256.txt Normal file
View File

@ -0,0 +1,4 @@
fp0.exe
Sistemato il filtro sui fornitori associati e non nel monitor delle fatture passive
(Segnalazione Sile)

22
cd/test/fp1256a.ini Normal file
View File

@ -0,0 +1,22 @@
[Main]
Demo=0
[fp0]
File(0) = fp0.exe|X
Patch = 1256
Versione = 21511200
[fp99]
Kill(0) = fppro.msk|x
[fp]
Data = 31-03-2023
Descrizione = Fattura Elettronica
Dischi = 1
Moduli = cg,ve
OEM =
Patch = 1256
PostProcess =
PreProcess =
Versione = 21511200

BIN
cd/test/fp1256a1.zip Normal file

Binary file not shown.

View File

@ -760,7 +760,7 @@ void TControlloIntegrazioni_mask::open_win_filter()
_flt_tot_doc_da = m.get_real(F_FLTTOTDOCDA); _flt_tot_doc_da = m.get_real(F_FLTTOTDOCDA);
_flt_tot_doc_a = m.get_real(F_FLTTOTDOCA); _flt_tot_doc_a = m.get_real(F_FLTTOTDOCA);
_flt_codforn = m.get(F_FLTCODFORN); //_flt_codforn = m.get(F_FLTCODFORN);
_flt_ragsoc = m.get(F_FLTRAGSOC); _flt_ragsoc = m.get(F_FLTRAGSOC);
_flt_piva = m.get(F_FLTPIVA); _flt_piva = m.get(F_FLTPIVA);

View File

@ -26,9 +26,8 @@
#define F_FLTTOTDOCDA 316 #define F_FLTTOTDOCDA 316
#define F_FLTTOTDOCA 317 #define F_FLTTOTDOCA 317
#define F_FLTFORNGRP 318 #define F_FLTFORNGRP 318
#define F_FLTCODFORN 319 #define F_FLTRAGSOC 319
#define F_FLTRAGSOC 320 #define F_FLTPIVA 320
#define F_FLTPIVA 321

View File

@ -306,11 +306,15 @@ void TPassive_mask::aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TShee
clifo.put(CLI_TIPOCF, 'F'); clifo.put(CLI_TIPOCF, 'F');
const int forn_code = find_fornitore(clifo); const int forn_code = find_fornitore(clifo);
// Se abilitato il flag di ricerca per fornitore controllo che il codice sia giusto // Se abilitato il flag di ricerca per fornitore controllo che il codice sia giusto
if (get_bool(F_ENABLEFORN) && (forn_code < 0 || clifo.get_int(CLI_CODCF) != get_int(F_FORNITORE))) if (get_bool(F_ENABLEFORN) && (forn_code < 0 || clifo.get_int(CLI_CODCF) != get_int(F_FORNITORE)))
return; return;
const bool data_range = dataregcont >= TDate(get(F_DATAINIREG)) && dataregcont <= TDate(get(F_DATAENDREG)); const bool data_range = dataregcont >= TDate(get(F_DATAINIREG)) && dataregcont <= TDate(get(F_DATAENDREG));
//INDAGARE QUI IL PROBLEMA DELLA SILE
if (filter_elab.blank() && forn_code != 0 // Filtro sui non associati if (filter_elab.blank() && forn_code != 0 // Filtro sui non associati
|| filter_elab == FILTER_ASS && forn_code == 0 && !is_contab // Filtro sui associati e non contab. || filter_elab == FILTER_ASS && forn_code == 0 && !is_contab // Filtro sui associati e non contab.
|| filter_elab == FILTER_CONT && forn_code == 0 && is_contab && data_range // Filtro solo contabilizzati e data || filter_elab == FILTER_CONT && forn_code == 0 && is_contab && data_range // Filtro solo contabilizzati e data
@ -324,6 +328,60 @@ void TPassive_mask::aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TShee
TString tiposdi = fp_db().sq_get("TIPO_SDI"); TString tiposdi = fp_db().sq_get("TIPO_SDI");
if (filter_elab == FILTER_NOASS)
{
if (forn_code<0)
{
const int row = sf.set_row_cell(S_ANNO, fp_db().sq_get_int("ANNO"));
sf.set_row_cell(S_TIPODOCSDI, tiposdi, row);
sf.set_row_cell(S_NDOC, fp_db().sq_get("NUM_DOC"), row);
sf.set_row_cell(S_DATARIC, fp_db().sq_get_date("DATA_RIC"), row);
sf.set_row_cell(S_DATADOC, fp_db().sq_get_date("DATA_DOC"), row);
sf.set_row_cell(S_TOTDOC, fp_db().sq_get("TOT_DOC"), row);
sf.set_row_cell(S_TOTRIT, fppro_db().set_keys(keys).get_ritenute(), row);
sf.set_row_cell(S_IDSDI, id_sdi, row);
if (tiposdi == "TD16" || tiposdi == "TD17" || tiposdi == "TD18" || tiposdi == "TD19" || tiposdi == "TD20")
{
sf.disable_row(row);
}
// Decido se mettere o meno il flag
sf.set_row_cell(S_FPPRO, forn_code == 0, row);
sf.set_row_cell(S_NUMREGCONT, fp_db().sq_get("NUMREGCONT"), row);
if (dataregcont > TDate("20010101"))
sf.set_row_cell(S_DATAREGCONT, dataregcont, row);
// Valorizzo le colonne rimanenti o la tabella degli errori
if (forn_code >= 0)
{
sf.set_row_cell(S_FORNITORE, clifo.get(CLI_CODCF), row);
sf.set_row_cell(S_RAGSOC, clifo.get(CLI_RAGSOC), row);
}
else if (_list_fatt_err.find(denom) == _list_fatt_err.end())
{
TForn_err& forn_err = _list_fatt_err[denom];
forn_err.forn_code = forn_code;
forn_err.fatt_err = sf.items() - 1;
add_row_err_forn(forn_code, sf_err, denom);
}
sf.set_row_cell(S_STATOPAIV, paa_codpaese, row);
sf.set_row_cell(S_PARIVA, paa_piva, row);
sf.set_row_cell(S_CODFISC, paa_codfisc, row);
sf.set_row_cell(S_ATTACH, fp_db().sq_get("ATTACHMENT") != "0", row);
sf.set_row_cell(S_RAGXML, denom, row);
sf.set_row_cell(S_NPROT, TProtocollo(fp_db().sq_get_int("ANNO_PROT"), fp_db().sq_get("TIPO_PROT"), fp_db().sq_get("NUM_PROT")).get_prot_str(), row);
sf.set_row_cell(S_NDOC, fp_db().sq_get("PZ_NUMERO"), row);
sf.set_row_cell(S_DATADOC, fp_db().sq_get_date("PZ_DATA"), row);
sf.set_row_cell(S_PROKEY, keys, row);
}
}
else
{
const int row = sf.set_row_cell(S_ANNO, fp_db().sq_get_int("ANNO")); const int row = sf.set_row_cell(S_ANNO, fp_db().sq_get_int("ANNO"));
sf.set_row_cell(S_TIPODOCSDI, tiposdi, row); sf.set_row_cell(S_TIPODOCSDI, tiposdi, row);
sf.set_row_cell(S_NDOC, fp_db().sq_get("NUM_DOC"), row); sf.set_row_cell(S_NDOC, fp_db().sq_get("NUM_DOC"), row);
@ -342,7 +400,6 @@ void TPassive_mask::aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TShee
sf.set_row_cell(S_FPPRO, forn_code == 0, row); sf.set_row_cell(S_FPPRO, forn_code == 0, row);
sf.set_row_cell(S_NUMREGCONT, fp_db().sq_get("NUMREGCONT"), row); sf.set_row_cell(S_NUMREGCONT, fp_db().sq_get("NUMREGCONT"), row);
if (dataregcont > TDate("20010101")) if (dataregcont > TDate("20010101"))
sf.set_row_cell(S_DATAREGCONT, dataregcont, row); sf.set_row_cell(S_DATAREGCONT, dataregcont, row);
// Valorizzo le colonne rimanenti o la tabella degli errori // Valorizzo le colonne rimanenti o la tabella degli errori
@ -370,7 +427,7 @@ void TPassive_mask::aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TShee
sf.set_row_cell(S_DATADOC, fp_db().sq_get_date("PZ_DATA"), row); sf.set_row_cell(S_DATADOC, fp_db().sq_get_date("PZ_DATA"), row);
sf.set_row_cell(S_PROKEY, keys, row); sf.set_row_cell(S_PROKEY, keys, row);
} }
}
} }
void TPassive_mask::aggiungi_prot() const void TPassive_mask::aggiungi_prot() const
@ -499,6 +556,7 @@ int TPassive_mask::find_fornitore(TLocalisamfile& clifo)
else if (paa_codpaese.full() && (piva = paa_piva).full()) // Se non c'è nell FPPRO ricerco con chiave 5 else if (paa_codpaese.full() && (piva = paa_piva).full()) // Se non c'è nell FPPRO ricerco con chiave 5
{ {
clifo.setkey(5); clifo.setkey(5);
clifo.put(CLI_TIPOCF, 'F');
clifo.put(CLI_STATOPAIV, paa_codpaese); clifo.put(CLI_STATOPAIV, paa_codpaese);
clifo.put(CLI_PAIV, paa_piva); clifo.put(CLI_PAIV, paa_piva);
clifo.read() == NOERR ? found_clifo = found_piva : found_clifo = -1; // Se trovo con partita iva setto a 2 clifo.read() == NOERR ? found_clifo = found_piva : found_clifo = -1; // Se trovo con partita iva setto a 2