Patch level : 12.0
Files correlati : fplib01.cpp Commento: Sistemato il filtro sui fornitori associati e non nel monitor delle fatture passive
This commit is contained in:
parent
6cdf5b5acb
commit
b0b08a023c
@ -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