Patch level : 12.0 920
Files correlati : fp0.exe Commento : - Corretta esportazione informazioni dichiarazioni d'intento - Corretta data di registrazione con data ricezione o con una specificata (f1)
This commit is contained in:
parent
5e2122e112
commit
0dfeffddb3
@ -69,8 +69,8 @@ protected:
|
||||
// Tasto aggiorna: aggiorna cliente che non corrisponde.
|
||||
bool aggiorna_forn();
|
||||
void salva_for() const;
|
||||
void clean_ini(const TString& filename) const;
|
||||
void run_cg0(const TString& filename) const;
|
||||
static void clean_ini(const TString& filename);
|
||||
static void run_cg0(const TString& filename);
|
||||
void elenco_prots_sel(TString& string) const;
|
||||
|
||||
static vector<iva>& get_righe_iva(TToken_string& keys);
|
||||
@ -89,7 +89,7 @@ protected:
|
||||
void fattsel(int dlg, TField_event& e);
|
||||
// Non permette la selezione multipla delle righe
|
||||
void sel() const;
|
||||
bool on_key(KEY key);
|
||||
bool on_key(KEY key) override;
|
||||
bool on_field_event(TOperable_field& o, TField_event e, long jolly) override;
|
||||
void check_buttons(int p) const;
|
||||
void next_page(int p) override;
|
||||
@ -102,12 +102,13 @@ protected:
|
||||
// Aggiunge i protocolli che sono già presenti per le fatture nel db alla tabellina per il filtro
|
||||
void aggiungi_prot() const;
|
||||
void init() const;
|
||||
|
||||
void save_all() const;
|
||||
public:
|
||||
TString& get_fattsel() const;
|
||||
|
||||
static void auto_assoc();
|
||||
TPassive_mask(bool f1);
|
||||
~TPassive_mask() { save_all(); }
|
||||
};
|
||||
|
||||
bool TPassive_mask::clifo_handler(TMask_field& f, KEY key)
|
||||
@ -450,8 +451,6 @@ void TPassive_mask::auto_assoc()
|
||||
{
|
||||
TToken_string key("",';');
|
||||
key.add(fp_db().sq_get("KEYPROG")); key.add(fp_db().sq_get("KEYHEAD")); key.add(fp_db().sq_get("KEYFATT"));
|
||||
if (TString(key.get(0)) == "fNuBh" && TString(key.get(1)) == "05094400966" && TString(key.get(2)) == "TD012019-07-22609")
|
||||
bool simo = true;
|
||||
|
||||
clifo.zero();
|
||||
clifo.put(CLI_TIPOCF, "F");
|
||||
@ -547,6 +546,11 @@ void TPassive_mask::init() const
|
||||
aggiungi_prot();
|
||||
}
|
||||
|
||||
void TPassive_mask::save_all() const
|
||||
{
|
||||
ini_set_bool(CONFIG_DITTA, PARA_FP, "F_USEDATARIC", get_bool(F_USEDATARIC));
|
||||
}
|
||||
|
||||
bool TPassive_mask::causfa_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB && f.focusdirty())
|
||||
@ -620,7 +624,7 @@ void TPassive_mask::salva_for() const
|
||||
}
|
||||
}
|
||||
|
||||
void TPassive_mask::clean_ini(const TString& filename) const
|
||||
void TPassive_mask::clean_ini(const TString& filename)
|
||||
{
|
||||
static TString remove_string;
|
||||
#ifdef DBG
|
||||
@ -631,7 +635,7 @@ void TPassive_mask::clean_ini(const TString& filename) const
|
||||
remove_files(remove_string, false);
|
||||
}
|
||||
|
||||
void TPassive_mask::run_cg0(const TString& filename) const
|
||||
void TPassive_mask::run_cg0(const TString& filename)
|
||||
{
|
||||
static TString run_string;
|
||||
#ifdef DBG
|
||||
@ -642,6 +646,11 @@ void TPassive_mask::run_cg0(const TString& filename) const
|
||||
TExternal_app(run_string).run();
|
||||
}
|
||||
|
||||
bool is_tipomov_nc(const TString& codcaus)
|
||||
{
|
||||
return TCausale(codcaus).tipomov() == tm_nota_credito;
|
||||
}
|
||||
|
||||
int TPassive_mask::prepara_contab() const
|
||||
{
|
||||
const int err = check_err();
|
||||
@ -685,7 +694,13 @@ int TPassive_mask::prepara_contab() const
|
||||
contab_ini.set_paragraph(LF_MOV); // [23]
|
||||
contab_ini.set("CODCAUS", codcaus);
|
||||
contab_ini.set("CODCF", row->get(sf.cid2index(S_FORNITORE)));
|
||||
contab_ini.set("DATACOMP", TDate(TODAY));
|
||||
TDate datareg;
|
||||
if (get_bool(F_USEDATARIC))
|
||||
datareg = TDate(row->get(sf.cid2index(S_DATARIC)));
|
||||
else
|
||||
datareg = !get(F_DATAREGDIF).empty() ? TDate(get(F_DATAREGDIF)) : TDate(TODAY);
|
||||
contab_ini.set("DATAREG", datareg);
|
||||
contab_ini.set("DATACOMP", datareg);
|
||||
contab_ini.set("DATADOC", row->get(sf.cid2index(S_DATADOC)));
|
||||
contab_ini.set("NUMDOCEXT", row->get(sf.cid2index(S_NDOC)));
|
||||
contab_ini.set("NUMDOC", TString(row->get(sf.cid2index(S_NDOC))).right(7));
|
||||
@ -715,7 +730,7 @@ int TPassive_mask::prepara_contab() const
|
||||
int i = 1;
|
||||
for (auto it = riva.begin(); it != riva.end(); ++it)
|
||||
{
|
||||
contab_ini.set_paragraph(LF_RMOVIVA, i);
|
||||
contab_ini.set_paragraph(LF_RMOVIVA, i); // [25]
|
||||
contab_ini.set("IMPONIBILE", abs(it->imponibile).string());
|
||||
contab_ini.set("IMPOSTA", abs(it->imposta).string());
|
||||
contab_ini.set("PERCIVA", it->aliquota.string());
|
||||
@ -735,14 +750,33 @@ int TPassive_mask::prepara_contab() const
|
||||
for (bool ok = fp_db().sq_next(); ok; ok = fp_db().sq_next())
|
||||
{
|
||||
const int riga = real(fp_db().sq_get("RIGA")).integer();
|
||||
contab_ini.set_paragraph(LF_SCADENZE, riga); // Setto il paragrafo con riga scad
|
||||
contab_ini.set_paragraph(LF_SCADENZE, riga); // Setto il paragrafo con riga scad [29]
|
||||
contab_ini.set("DATASCAD", fp_db().sq_get_date("DATA"));
|
||||
contab_ini.set("IMPORTO", fp_db().sq_get("IMPORTO"));
|
||||
contab_ini.set("NRATA", riga);
|
||||
contab_ini.set("NRIGA", "1");
|
||||
}
|
||||
|
||||
if(check_causale(codcaus, "NC", true) && is_tipomov_nc(codcaus))
|
||||
{
|
||||
contab_ini.set_paragraph(LF_MOV); // Aggiungo i riferimenti al documento se nota credito: GESTISCO DA CG PER IMPOSTARE PARTITE/SCADENZIARIO
|
||||
where_q.cut(0) << "WHERE PD_KEYPRGINVIO = '" << keys.get(0) << "'";
|
||||
where_q << " AND PD_KEYHEADERFATT = '" << keys.get() << "'";
|
||||
where_q << " AND PD_KEYBODYFATT = '" << keys.get() << "'";
|
||||
query.cut(0) << "SELECT PD_RIFNUMLINEA AS NUMLINEA, PD_IDDOC AS DOC, PD_DATADOC AS DATADOC\nFROM PAA1400F\n" << where_q;
|
||||
fp_db().sq_set_exec(query, false);
|
||||
bool ok = fp_db().sq_next();
|
||||
for(int j = 0; ok; ok = fp_db().sq_next(), j++)
|
||||
{
|
||||
contab_ini.set(TString("NUMLINEA(") << j << ")", fp_db().sq_get("NUMLINEA"));
|
||||
contab_ini.set(TString("DOC(") << j << ")", fp_db().sq_get("DOC"));
|
||||
contab_ini.set(TString("DATADOC(") << j << ")", fp_db().sq_get("DATADOC"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
row->add("", 0);
|
||||
break; // Chiudo subito tanto se ne può selezionare solo una alla volta
|
||||
}
|
||||
}
|
||||
|
||||
@ -936,7 +970,7 @@ void TPassive_mask::new_forn()
|
||||
query << "' AND PU_KEYHEADERFATT = '" << keys.get();
|
||||
query << "' AND PU_KEYBODYFATT = '" << keys.get() << "'";
|
||||
fp_db().sq_set_exec(query);
|
||||
TString pec = fp_db().sq_get("PEC");
|
||||
const TString pec = fp_db().sq_get("PEC");
|
||||
|
||||
TString num; num.format("%04d", nr);
|
||||
#ifdef DBG
|
||||
@ -1053,7 +1087,7 @@ bool TPassive_mask::aggiorna_forn()
|
||||
row->add("", 0);
|
||||
}
|
||||
if (count)
|
||||
run_cg0(newf);
|
||||
run_cg0(newf);
|
||||
auto_assoc();
|
||||
_filter_changed = true;
|
||||
next_page(1000);
|
||||
@ -1218,6 +1252,17 @@ bool TPassive_mask::on_field_event(TOperable_field& o, TField_event e, long joll
|
||||
field(F_PARIVA).enable(en);
|
||||
field(F_CODFISC).enable(en);
|
||||
}
|
||||
case F_USEDATARIC:
|
||||
if (e == fe_init)
|
||||
set(F_USEDATARIC, ini_get_bool(CONFIG_DITTA, PARA_FP, "F_USEDATARIC", true) ? "X" : "");
|
||||
if(e == fe_init || e == fe_modify)
|
||||
{
|
||||
const bool use = get_bool(F_USEDATARIC);
|
||||
field(F_DATAREGDIF).enable(!use);
|
||||
if (!use && get(F_DATAREGDIF).empty())
|
||||
set(F_DATAREGDIF, TDate(TODAY));
|
||||
}
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
if (o.dlg() >= F_ASSOC && o.dlg() <= F_CONTABIL)
|
||||
@ -1331,4 +1376,4 @@ int fp0400(int argc, char * argv[])
|
||||
TPassive_app fpas;
|
||||
fpas.run(argc, argv, TR("Fatturazione F.P."));
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@ -12,13 +12,16 @@
|
||||
#define F_GROUPCON 511
|
||||
#define F_GROUPCON2 512
|
||||
#define F_PERIODPREC 513
|
||||
#define F_GROUPCAU 514
|
||||
#define F_ENABLEFORN 515
|
||||
#define F_FORNITORE 516
|
||||
#define F_RAGSOC 517
|
||||
#define F_STATOPAIV 518
|
||||
#define F_PARIVA 519
|
||||
#define F_CODFISC 520
|
||||
#define F_USEDATARIC 514
|
||||
#define F_DATAREGDIF 515
|
||||
#define F_GROUPCAU 516
|
||||
#define F_ENABLEFORN 517
|
||||
#define F_FORNITORE 518
|
||||
#define F_RAGSOC 519
|
||||
#define F_STATOPAIV 520
|
||||
#define F_PARIVA 521
|
||||
#define F_CODFISC 522
|
||||
|
||||
|
||||
#define END_MASK 599
|
||||
|
||||
|
@ -221,7 +221,7 @@ BEGIN
|
||||
MODULE F1
|
||||
END
|
||||
|
||||
GROUPBOX F_GROUPCON2 59 3
|
||||
GROUPBOX F_GROUPCON2 59 5
|
||||
BEGIN
|
||||
PROMPT 33 16 "@BContabilizzazione automatica:"
|
||||
END
|
||||
@ -232,6 +232,18 @@ BEGIN
|
||||
MODULE F1
|
||||
END
|
||||
|
||||
BOOLEAN F_USEDATARIC
|
||||
BEGIN
|
||||
PROMPT 34 18 "Utilizza data di ricezione per la registrazione"
|
||||
MODULE F1
|
||||
END
|
||||
|
||||
DATE F_DATAREGDIF
|
||||
BEGIN
|
||||
PROMPT 34 19 "Data diversa da quella di ricezione"
|
||||
MODULE F1
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Elenco Fatture" 0 2 0 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user