Patch level : 2.0 564
Files correlati : sv2.exe sv2100a.msk Ricompilazione Demo : [ ] Commento : GF20071 La statistica per articoli omaggio non funziona ne se la configurazione dice RAGGRUPPA OMAGGI CON MERCE e neanche nel caso contrario git-svn-id: svn://10.65.10.50/trunk@11415 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
847a4bb9c5
commit
dcacf87142
@ -11,6 +11,10 @@
|
||||
class TRicalcolo_stats : public TSkeleton_application
|
||||
{
|
||||
TStats_agg _agg;
|
||||
static TDate _datamin;
|
||||
|
||||
protected:
|
||||
void calcola_data_minima();
|
||||
|
||||
protected:
|
||||
virtual void main_loop();
|
||||
@ -23,6 +27,8 @@ public:
|
||||
void calc_stats(const TDate& dfr, const TDate& dto);
|
||||
};
|
||||
|
||||
TDate TRicalcolo_stats::_datamin;
|
||||
|
||||
bool TRicalcolo_stats::create()
|
||||
{
|
||||
open_files(LF_TABCOM, 0); // File comuni
|
||||
@ -74,6 +80,40 @@ bool TRicalcolo_stats::kill_stats(const TDate& dfr, const TDate& dto)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void TRicalcolo_stats::calcola_data_minima()
|
||||
{
|
||||
TWait_cursor hourglass;
|
||||
|
||||
TAssoc_array tipi_doc;
|
||||
|
||||
TRelation rel_tip("%TIP");
|
||||
TCursor cur_tip(&rel_tip);
|
||||
const TRecnotype items_tip = cur_tip.items();
|
||||
cur_tip.freeze();
|
||||
for (cur_tip = 0L; cur_tip.pos() < items_tip; ++cur_tip)
|
||||
{
|
||||
const TRectype& rec_tip = rel_tip.curr();
|
||||
if (rec_tip.get_bool("B2")) // E' un tipo per le statistiche
|
||||
tipi_doc.add(rec_tip.get("CODTAB"), NULL);
|
||||
}
|
||||
|
||||
TRelation rel_doc(LF_DOC);
|
||||
TCursor cur_doc(&rel_doc, "", 3);
|
||||
const TRectype& rec_doc = rel_doc.curr();
|
||||
const TRecnotype items_doc = cur_doc.items();
|
||||
cur_doc.freeze();
|
||||
|
||||
for (cur_doc = 0L; cur_doc.pos() < items_doc; ++cur_doc)
|
||||
{
|
||||
const TString& tipodoc = rec_doc.get(DOC_TIPODOC);
|
||||
if (tipi_doc.is_key(tipodoc))
|
||||
{
|
||||
_datamin = rec_doc.get(DOC_DATADOC);
|
||||
_datamin.set_day(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void TRicalcolo_stats::calc_stats(const TDate& dfr, const TDate& dto)
|
||||
{
|
||||
@ -94,7 +134,7 @@ void TRicalcolo_stats::calc_stats(const TDate& dfr, const TDate& dto)
|
||||
const long items = cur.items();
|
||||
cur.freeze();
|
||||
|
||||
TProgind pi(items, "Ricalcolo statistiche", FALSE, TRUE);
|
||||
TProgind pi(items, TR("Ricalcolo statistiche"), FALSE, TRUE);
|
||||
|
||||
TDocumento* curr = new TDocumento;
|
||||
cur.file().set_curr(curr);
|
||||
@ -134,19 +174,21 @@ bool TRicalcolo_stats::datein_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (f.to_check(k))
|
||||
{
|
||||
TConfig prassid(CONFIG_DITTA, "Euro");
|
||||
TDate adozione = prassid.get("DataAdozione");
|
||||
TDate inizio(f.get());
|
||||
if (adozione.ok() && inizio < adozione)
|
||||
return f.error_box("Impossibile effettuare la ricostruzione statistiche \n a una data inferiore alla data adozione Euro") ;
|
||||
const TDate inizio = f.get();
|
||||
if (inizio < _datamin)
|
||||
return f.error_box(FR("Impossibile effettuare la ricostruzione statistiche\nad una data antecedente il %s"), _datamin.string());
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void TRicalcolo_stats::main_loop()
|
||||
{
|
||||
calcola_data_minima();
|
||||
|
||||
TMask m("sv2100a");
|
||||
m.set_handler(F_FROMDATE, datein_handler);
|
||||
m.set(F_FROMDATE, _datamin);
|
||||
|
||||
while (m.run() == K_ENTER)
|
||||
{
|
||||
const TDate dfr(m.get(F_FROMDATE));
|
||||
|
@ -5,6 +5,7 @@ PAGE "Ricalcolo statistiche" -1 -1 30 6
|
||||
DATE F_FROMDATE
|
||||
BEGIN
|
||||
PROMPT 1 1 "Dalla data "
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
DATE F_TODATE
|
||||
|
@ -506,7 +506,7 @@ bool TStats_agg::algebric_sum(const TRiga_documento& rdoc, int sign)
|
||||
if (_valfield.empty())
|
||||
{
|
||||
if (_omaggi_valore && rdoc.is_omaggio())
|
||||
val_riga = rdoc.imponibile_omaggio();
|
||||
val_riga = rdoc.imponibile_omaggio(2); // Considera il valore indipendentemente dall'addebito IVA
|
||||
else
|
||||
val_riga = rdoc.imponibile();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user