Patch level : 10.0
Files correlati : ve0 Ricompilazione Demo : [ ] Commento : Rivisto calcolo peso CONAI con esenzione git-svn-id: svn://10.65.10.50/trunk@19917 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
72118456d3
commit
6fce3bbff9
@ -563,8 +563,8 @@ public:
|
|||||||
bool sola_descrizione() const;
|
bool sola_descrizione() const;
|
||||||
void forza_sola_descrizione();
|
void forza_sola_descrizione();
|
||||||
|
|
||||||
const TToken_string & get_rdoc_key() const ;
|
const TToken_string& get_rdoc_key() const;
|
||||||
const TToken_string & get_original_rdoc_key();
|
const TToken_string& get_original_rdoc_key() const;
|
||||||
void set_original_rdoc_key(const TRectype& orig, int depth = 0);
|
void set_original_rdoc_key(const TRectype& orig, int depth = 0);
|
||||||
void reset_original_rdoc_key();
|
void reset_original_rdoc_key();
|
||||||
const TRectype* find_original_rdoc() const;
|
const TRectype* find_original_rdoc() const;
|
||||||
|
@ -1372,10 +1372,9 @@ TArticolo_giacenza & TRiga_documento::articolo_giacenza() const
|
|||||||
return cached_article_balances(get(RDOC_CODARTMAG));
|
return cached_article_balances(get(RDOC_CODARTMAG));
|
||||||
}
|
}
|
||||||
|
|
||||||
const TToken_string & TRiga_documento::get_original_rdoc_key()
|
const TToken_string & TRiga_documento::get_original_rdoc_key() const
|
||||||
{
|
{
|
||||||
TToken_string & key = get_tmp_string(32);
|
TToken_string & key = get_tmp_string(32);
|
||||||
|
|
||||||
key.add(get(RDOC_DACODNUM));
|
key.add(get(RDOC_DACODNUM));
|
||||||
key.add(get(RDOC_DAANNO));
|
key.add(get(RDOC_DAANNO));
|
||||||
key.add(get(RDOC_DAPROVV));
|
key.add(get(RDOC_DAPROVV));
|
||||||
|
@ -2756,14 +2756,21 @@ void TDocumento::update_spese_aut(TString_array & spese_aut, bool preserve_old,
|
|||||||
}
|
}
|
||||||
put(DOC_SPESEUPD, true);
|
put(DOC_SPESEUPD, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Calcola il peso in Kg degli imballaggi di una data categoria CONAI
|
||||||
real TDocumento::calc_conai_qta(TCONAI_class type)
|
real TDocumento::calc_conai_qta(TCONAI_class type)
|
||||||
{
|
{
|
||||||
|
ofstream conaicaz("conai.txt");
|
||||||
|
|
||||||
real qta;
|
real qta;
|
||||||
FOR_EACH_PHYSICAL_RDOC(*this, i, r) if (r->is_merce() || r->is_omaggio())
|
FOR_EACH_PHYSICAL_RDOC(*this, i, r) if (r->is_merce() || r->is_omaggio())
|
||||||
{
|
{
|
||||||
const real row_qta = r->calc_conai_qta(type);
|
const real row_qta = r->calc_conai_qta(type);
|
||||||
qta += row_qta;
|
if (!row_qta.is_zero())
|
||||||
|
{
|
||||||
|
conaicaz << "Riga(" << i << ")=" << row_qta << endl;
|
||||||
|
qta += row_qta;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return qta;
|
return qta;
|
||||||
}
|
}
|
||||||
@ -2840,9 +2847,15 @@ void TDocumento::update_conai()
|
|||||||
const real perc_esenz = cfven.get_real(__conai_cf_names[ct]);
|
const real perc_esenz = cfven.get_real(__conai_cf_names[ct]);
|
||||||
const bool cli_esente = (esponi_esenti) && (perc_esenz == CENTO);
|
const bool cli_esente = (esponi_esenti) && (perc_esenz == CENTO);
|
||||||
real qta = calc_conai_qta(ct);
|
real qta = calc_conai_qta(ct);
|
||||||
|
|
||||||
|
ofstream conaicaz("conai.txt", ios::app);
|
||||||
|
conaicaz << "Lordo=" << qta << endl;
|
||||||
|
conaicaz << "Esenzione=" << perc_esenz << endl;
|
||||||
if (!cli_esente && !qta.is_zero() && !perc_esenz.is_zero())
|
if (!cli_esente && !qta.is_zero() && !perc_esenz.is_zero())
|
||||||
qta = qta * (CENTO - perc_esenz) / CENTO; // More precise
|
qta = qta * (CENTO - perc_esenz) / CENTO; // More precise
|
||||||
if (qta > ZERO)
|
conaicaz << "Netto=" << qta << endl;
|
||||||
|
|
||||||
|
if (qta > ZERO)
|
||||||
{
|
{
|
||||||
const TString& s = conai_sp.row(ct);
|
const TString& s = conai_sp.row(ct);
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include <tabutil.h>
|
#include <recset.h>
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
|
|
||||||
#include "velib.h"
|
#include "velib.h"
|
||||||
@ -186,8 +186,8 @@ const TString_array& TTipo_documento::keys_descrs() const
|
|||||||
{
|
{
|
||||||
if (_keys_descrs.empty())
|
if (_keys_descrs.empty())
|
||||||
{
|
{
|
||||||
TFilename pn; profile_name(pn);
|
TFilename name; profile_name(name);
|
||||||
TConfig prof(pn, "RIGHE");
|
TConfig prof(name, "RIGHE");
|
||||||
TTipo_riga_documento tr;
|
TTipo_riga_documento tr;
|
||||||
TToken_string k, d;
|
TToken_string k, d;
|
||||||
|
|
||||||
@ -196,9 +196,11 @@ const TString_array& TTipo_documento::keys_descrs() const
|
|||||||
const TString& tiporiga = prof.get("Tipo", NULL, i);
|
const TString& tiporiga = prof.get("Tipo", NULL, i);
|
||||||
if (tiporiga.full())
|
if (tiporiga.full())
|
||||||
{
|
{
|
||||||
tr.read(tiporiga);
|
if (tr.read(tiporiga) == NOERR)
|
||||||
k.add(tr.codice());
|
{
|
||||||
d.add(tr.descrizione());
|
k.add(tr.codice());
|
||||||
|
d.add(tr.descrizione());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
break; //esce da un eventuale ciclo infinito
|
break; //esce da un eventuale ciclo infinito
|
||||||
@ -206,17 +208,14 @@ const TString_array& TTipo_documento::keys_descrs() const
|
|||||||
|
|
||||||
if (k.blank())
|
if (k.blank())
|
||||||
{
|
{
|
||||||
TTable tri("%TRI");
|
TISAM_recordset tri("USE %TRI");
|
||||||
TFilename name;
|
for (bool ok = tri.move_first(); ok; ok = tri.move_next())
|
||||||
|
|
||||||
for (int err = tri.first(); err == NOERR; err = tri.next())
|
|
||||||
{
|
{
|
||||||
name.format("verig%s.msk", (const char *) tri.get("CODTAB"));
|
name.format("verig%s.msk", (const char*)tri.get("CODTAB").as_string());
|
||||||
name.custom_path();
|
if (name.custom_path())
|
||||||
if (fexist(name))
|
|
||||||
{
|
{
|
||||||
k.add(tri.get("CODTAB"));
|
k.add(tri.get("CODTAB").as_string());
|
||||||
d.add(tri.get("S0"));
|
d.add(tri.get("S0").as_string());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -232,8 +231,7 @@ const TString_array& TTipo_documento::sheet_columns() const
|
|||||||
{
|
{
|
||||||
if (_sheet_columns.empty())
|
if (_sheet_columns.empty())
|
||||||
{
|
{
|
||||||
TFilename pn;
|
TFilename pn; profile_name(pn);
|
||||||
profile_name(pn);
|
|
||||||
TConfig prof(pn, "SHEET");
|
TConfig prof(pn, "SHEET");
|
||||||
for (int i = 0; i < MAX_COLUMNS; i++)
|
for (int i = 0; i < MAX_COLUMNS; i++)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user