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;
|
||||
void forza_sola_descrizione();
|
||||
|
||||
const TToken_string & get_rdoc_key() const ;
|
||||
const TToken_string & get_original_rdoc_key();
|
||||
const TToken_string& get_rdoc_key() const;
|
||||
const TToken_string& get_original_rdoc_key() const;
|
||||
void set_original_rdoc_key(const TRectype& orig, int depth = 0);
|
||||
void reset_original_rdoc_key();
|
||||
const TRectype* find_original_rdoc() const;
|
||||
|
@ -1372,10 +1372,9 @@ TArticolo_giacenza & TRiga_documento::articolo_giacenza() const
|
||||
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);
|
||||
|
||||
key.add(get(RDOC_DACODNUM));
|
||||
key.add(get(RDOC_DAANNO));
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
// Calcola il peso in Kg degli imballaggi di una data categoria CONAI
|
||||
real TDocumento::calc_conai_qta(TCONAI_class type)
|
||||
{
|
||||
{
|
||||
ofstream conaicaz("conai.txt");
|
||||
|
||||
real qta;
|
||||
FOR_EACH_PHYSICAL_RDOC(*this, i, r) if (r->is_merce() || r->is_omaggio())
|
||||
{
|
||||
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;
|
||||
}
|
||||
@ -2840,9 +2847,15 @@ void TDocumento::update_conai()
|
||||
const real perc_esenz = cfven.get_real(__conai_cf_names[ct]);
|
||||
const bool cli_esente = (esponi_esenti) && (perc_esenz == CENTO);
|
||||
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())
|
||||
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);
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include <tabutil.h>
|
||||
#include <recset.h>
|
||||
#include <utility.h>
|
||||
|
||||
#include "velib.h"
|
||||
@ -186,8 +186,8 @@ const TString_array& TTipo_documento::keys_descrs() const
|
||||
{
|
||||
if (_keys_descrs.empty())
|
||||
{
|
||||
TFilename pn; profile_name(pn);
|
||||
TConfig prof(pn, "RIGHE");
|
||||
TFilename name; profile_name(name);
|
||||
TConfig prof(name, "RIGHE");
|
||||
TTipo_riga_documento tr;
|
||||
TToken_string k, d;
|
||||
|
||||
@ -196,9 +196,11 @@ const TString_array& TTipo_documento::keys_descrs() const
|
||||
const TString& tiporiga = prof.get("Tipo", NULL, i);
|
||||
if (tiporiga.full())
|
||||
{
|
||||
tr.read(tiporiga);
|
||||
k.add(tr.codice());
|
||||
d.add(tr.descrizione());
|
||||
if (tr.read(tiporiga) == NOERR)
|
||||
{
|
||||
k.add(tr.codice());
|
||||
d.add(tr.descrizione());
|
||||
}
|
||||
}
|
||||
else
|
||||
break; //esce da un eventuale ciclo infinito
|
||||
@ -206,17 +208,14 @@ const TString_array& TTipo_documento::keys_descrs() const
|
||||
|
||||
if (k.blank())
|
||||
{
|
||||
TTable tri("%TRI");
|
||||
TFilename name;
|
||||
|
||||
for (int err = tri.first(); err == NOERR; err = tri.next())
|
||||
TISAM_recordset tri("USE %TRI");
|
||||
for (bool ok = tri.move_first(); ok; ok = tri.move_next())
|
||||
{
|
||||
name.format("verig%s.msk", (const char *) tri.get("CODTAB"));
|
||||
name.custom_path();
|
||||
if (fexist(name))
|
||||
name.format("verig%s.msk", (const char*)tri.get("CODTAB").as_string());
|
||||
if (name.custom_path())
|
||||
{
|
||||
k.add(tri.get("CODTAB"));
|
||||
d.add(tri.get("S0"));
|
||||
k.add(tri.get("CODTAB").as_string());
|
||||
d.add(tri.get("S0").as_string());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -232,8 +231,7 @@ const TString_array& TTipo_documento::sheet_columns() const
|
||||
{
|
||||
if (_sheet_columns.empty())
|
||||
{
|
||||
TFilename pn;
|
||||
profile_name(pn);
|
||||
TFilename pn; profile_name(pn);
|
||||
TConfig prof(pn, "SHEET");
|
||||
for (int i = 0; i < MAX_COLUMNS; i++)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user