Merge branch 'R12.00.1244' of http://10.65.20.33/sirio/CAMPO/campo into R12.00.1244
This commit is contained in:
commit
0a574908e5
3
cd/test/f91256.txt
Normal file
3
cd/test/f91256.txt
Normal 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
19
cd/test/f91256a.ini
Normal 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
BIN
cd/test/f91256a1.zip
Normal file
Binary file not shown.
4
cd/test/fp1256.txt
Normal file
4
cd/test/fp1256.txt
Normal 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
22
cd/test/fp1256a.ini
Normal 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
BIN
cd/test/fp1256a1.zip
Normal file
Binary file not shown.
@ -760,7 +760,7 @@ void TControlloIntegrazioni_mask::open_win_filter()
|
||||
_flt_tot_doc_da = m.get_real(F_FLTTOTDOCDA);
|
||||
_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_piva = m.get(F_FLTPIVA);
|
||||
|
||||
|
@ -26,9 +26,8 @@
|
||||
#define F_FLTTOTDOCDA 316
|
||||
#define F_FLTTOTDOCA 317
|
||||
#define F_FLTFORNGRP 318
|
||||
#define F_FLTCODFORN 319
|
||||
#define F_FLTRAGSOC 320
|
||||
#define F_FLTPIVA 321
|
||||
#define F_FLTRAGSOC 319
|
||||
#define F_FLTPIVA 320
|
||||
|
||||
|
||||
|
||||
|
@ -290,28 +290,32 @@ real TPassive_mask::calcola_importo(vector<iva> riva)
|
||||
|
||||
void TPassive_mask::aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TSheet_field& sf_err)
|
||||
{
|
||||
TString denom = fp_db().sq_get("RAG_SOC");
|
||||
const TString& paa_codfisc = fp_db().sq_get("COD_FISC");
|
||||
const TString& paa_piva = fp_db().sq_get("P_IVA");
|
||||
const TString& paa_codpaese = fp_db().sq_get("COD_PAESE");
|
||||
const TDate& dataregcont = fp_db().sq_get_date("DATAREGCONT");
|
||||
const TString& filter_elab = get_fattsel();
|
||||
const bool is_contab = dataregcont != TDate("20010101");
|
||||
const TString& id_sdi = fp_db().sq_get("ID_SDI");
|
||||
TString denom = fp_db().sq_get("RAG_SOC");
|
||||
const TString& paa_codfisc = fp_db().sq_get("COD_FISC");
|
||||
const TString& paa_piva = fp_db().sq_get("P_IVA");
|
||||
const TString& paa_codpaese = fp_db().sq_get("COD_PAESE");
|
||||
const TDate& dataregcont = fp_db().sq_get_date("DATAREGCONT");
|
||||
const TString& filter_elab = get_fattsel();
|
||||
const bool is_contab = dataregcont != TDate("20010101");
|
||||
const TString& id_sdi = fp_db().sq_get("ID_SDI");
|
||||
|
||||
TToken_string keys("", ';');
|
||||
keys.add(fp_db().sq_get("KEYPROG")); keys.add(fp_db().sq_get("KEYHEAD")); keys.add(fp_db().sq_get("KEYFATT"));
|
||||
|
||||
|
||||
clifo.zero();
|
||||
clifo.put(CLI_TIPOCF, 'F');
|
||||
|
||||
const int forn_code = find_fornitore(clifo);
|
||||
|
||||
// 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)))
|
||||
return;
|
||||
return;
|
||||
|
||||
const bool data_range = dataregcont >= TDate(get(F_DATAINIREG)) && dataregcont <= TDate(get(F_DATAENDREG));
|
||||
if( filter_elab.blank() && forn_code != 0 // Filtro sui non associati
|
||||
|
||||
//INDAGARE QUI IL PROBLEMA DELLA SILE
|
||||
|
||||
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_CONT && forn_code == 0 && is_contab && data_range // Filtro solo contabilizzati e data
|
||||
|| filter_elab == FILTER_ALL) // Tutte
|
||||
@ -322,55 +326,108 @@ void TPassive_mask::aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TShee
|
||||
}
|
||||
denom.cut(50);
|
||||
|
||||
TString tiposdi = fp_db().sq_get("TIPO_SDI") ;
|
||||
TString tiposdi = fp_db().sq_get("TIPO_SDI");
|
||||
|
||||
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")
|
||||
if (filter_elab == FILTER_NOASS)
|
||||
{
|
||||
sf.disable_row(row);
|
||||
}
|
||||
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);
|
||||
|
||||
// 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);
|
||||
}
|
||||
if (tiposdi == "TD16" || tiposdi == "TD17" || tiposdi == "TD18" || tiposdi == "TD19" || tiposdi == "TD20")
|
||||
{
|
||||
sf.disable_row(row);
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
// 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"));
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
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
|
||||
{
|
||||
clifo.setkey(5);
|
||||
clifo.put(CLI_TIPOCF, 'F');
|
||||
clifo.put(CLI_STATOPAIV, paa_codpaese);
|
||||
clifo.put(CLI_PAIV, paa_piva);
|
||||
clifo.read() == NOERR ? found_clifo = found_piva : found_clifo = -1; // Se trovo con partita iva setto a 2
|
||||
|
Loading…
x
Reference in New Issue
Block a user