Patch level : 10.0 285
Files correlati : Ricompilazione Demo : [ ] Commento : Riportata la versione 3.2 patch 1358 git-svn-id: svn://10.65.10.50/trunk@18725 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
78576bdc46
commit
5a901414d9
@ -926,8 +926,8 @@ public:
|
|||||||
TCond_vendita & condv() const;
|
TCond_vendita & condv() const;
|
||||||
|
|
||||||
void occ2mask();
|
void occ2mask();
|
||||||
void cli2mask();
|
void cli2mask(bool force_load = false);
|
||||||
void doc2mask(bool reload_clifo = true);
|
void doc2mask(bool reload_clifo = true, bool force_load = false);
|
||||||
void mask2doc();
|
void mask2doc();
|
||||||
|
|
||||||
void update_giacenza();
|
void update_giacenza();
|
||||||
|
@ -182,6 +182,7 @@ public:
|
|||||||
bool usa_data_consegna() const { return get_bool("B9"); }
|
bool usa_data_consegna() const { return get_bool("B9"); }
|
||||||
bool kill_descrizione_estesa() const { return get_bool("B10"); }
|
bool kill_descrizione_estesa() const { return get_bool("B10"); }
|
||||||
bool calcola_scarti() const { return get_bool("B11"); }
|
bool calcola_scarti() const { return get_bool("B11"); }
|
||||||
|
bool reload_prices() { return get_bool("B13"); }
|
||||||
const TString & num_riferimenti_in() const { return get("S11"); }
|
const TString & num_riferimenti_in() const { return get("S11"); }
|
||||||
|
|
||||||
int intestazioni_sheet() const { return get_int("I1"); }
|
int intestazioni_sheet() const { return get_int("I1"); }
|
||||||
@ -227,7 +228,6 @@ protected:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
bool nettifica() { return get_bool("B12"); }
|
bool nettifica() { return get_bool("B12"); }
|
||||||
bool reload_prices() { return get_bool("B13"); }
|
|
||||||
virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
||||||
const TDate& data_elab, bool interattivo = false);
|
const TDate& data_elab, bool interattivo = false);
|
||||||
|
|
||||||
@ -251,6 +251,7 @@ protected:
|
|||||||
virtual void add_rows(TRiga_documento & rout, TRiga_documento & rin) { rout += rin; }
|
virtual void add_rows(TRiga_documento & rout, TRiga_documento & rin) { rout += rin; }
|
||||||
virtual void create_row(TDocumento& doc_out, const TRiga_documento & rin);
|
virtual void create_row(TDocumento& doc_out, const TRiga_documento & rin);
|
||||||
virtual const TString & get_tipo_out(const TDocumento & doc_out) { return get("S8"); }
|
virtual const TString & get_tipo_out(const TDocumento & doc_out) { return get("S8"); }
|
||||||
|
bool change_clifo() { return get_bool("B14"); }
|
||||||
virtual void pre_process_input(TLista_documenti& doc_in) {}
|
virtual void pre_process_input(TLista_documenti& doc_in) {}
|
||||||
virtual void post_process_input(TLista_documenti& doc_out) {}
|
virtual void post_process_input(TLista_documenti& doc_out) {}
|
||||||
virtual void post_process_output(TLista_documenti& doc_out) {}
|
virtual void post_process_output(TLista_documenti& doc_out) {}
|
||||||
|
@ -159,6 +159,24 @@ bool TFatturazione_bolle::raggruppa(TDocumento& doc_in, TDocumento& doc_out)
|
|||||||
|
|
||||||
if (gestione_riferimenti())
|
if (gestione_riferimenti())
|
||||||
{
|
{
|
||||||
|
if (change_clifo())
|
||||||
|
{
|
||||||
|
const int indsped = doc_in.get_int(DOC_CODINDSP);
|
||||||
|
if (indsped > 0)
|
||||||
|
{
|
||||||
|
const char t = doc_in.get_char(DOC_TIPOCFFATT);
|
||||||
|
const long codcf = doc_in.get_long(DOC_CODCFFATT);
|
||||||
|
TString16 kis; kis << t << '|' << codcf << '|' << indsped;
|
||||||
|
const TString& dest = cache().get(LF_INDSP, kis, IND_RAGSOC);
|
||||||
|
if (dest.full()) // crea una riga descrizione nuova per indirizzo di spedizione valido
|
||||||
|
{
|
||||||
|
TRiga_documento& rout = doc_out.new_row();
|
||||||
|
rout.forza_sola_descrizione();
|
||||||
|
rout.put(RDOC_DESCR, dest);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Determina ed eventualmente crea la riga di riferimento
|
// Determina ed eventualmente crea la riga di riferimento
|
||||||
const int riga_rif = riferimenti_in_testa() ? 1 : doc_out.physical_rows()+1;
|
const int riga_rif = riferimenti_in_testa() ? 1 : doc_out.physical_rows()+1;
|
||||||
if (riga_rif > doc_out.physical_rows())
|
if (riga_rif > doc_out.physical_rows())
|
||||||
@ -305,15 +323,15 @@ bool TFatturazione_bolle::elabora(TLista_documenti& doc_in, TLista_documenti& do
|
|||||||
for (int id = 0; id < doc_in.items(); id++)
|
for (int id = 0; id < doc_in.items(); id++)
|
||||||
{
|
{
|
||||||
TDocumento& campione = doc_in[id];
|
TDocumento& campione = doc_in[id];
|
||||||
const TString8 orig_t(campione.get(DOC_TIPOCF));
|
const char orig_t = campione.get_char(DOC_TIPOCF);
|
||||||
const long orig_cod = campione.get_long(DOC_CODCF);
|
const long orig_cod = campione.get_long(DOC_CODCF);
|
||||||
|
|
||||||
if (get_bool("B13"))
|
if (change_clifo())
|
||||||
{
|
{
|
||||||
const TString4 t(campione.get(DOC_TIPOCFFATT));
|
const char t = campione.get_char(DOC_TIPOCFFATT);
|
||||||
const long codcf = campione.get_long(DOC_CODCFFATT);
|
const long codcf = campione.get_long(DOC_CODCFFATT);
|
||||||
|
|
||||||
if (t.full())
|
if (t > ' ')
|
||||||
{
|
{
|
||||||
campione.put(DOC_TIPOCF, t);
|
campione.put(DOC_TIPOCF, t);
|
||||||
if (interattivo)
|
if (interattivo)
|
||||||
@ -367,8 +385,6 @@ bool TFatturazione_bolle::elabora(TLista_documenti& doc_in, TLista_documenti& do
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
campione.set_riga_esenzione();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -384,6 +400,8 @@ bool TFatturazione_bolle::elabora(TLista_documenti& doc_in, TLista_documenti& do
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
campione.set_riga_esenzione();
|
||||||
|
|
||||||
const int tot = doc_out.items();
|
const int tot = doc_out.items();
|
||||||
int od = tot;
|
int od = tot;
|
||||||
|
|
||||||
@ -441,7 +459,7 @@ bool TFatturazione_bolle::elabora(TLista_documenti& doc_in, TLista_documenti& do
|
|||||||
od = doc_out.add(new_doc);
|
od = doc_out.add(new_doc);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (get_bool("B13"))
|
if (change_clifo())
|
||||||
{
|
{
|
||||||
campione.put(DOC_TIPOCF, orig_t);
|
campione.put(DOC_TIPOCF, orig_t);
|
||||||
campione.put(DOC_CODCF, orig_cod);
|
campione.put(DOC_CODCF, orig_cod);
|
||||||
@ -472,9 +490,25 @@ bool TFatturazione_bolle::elabora(TLista_documenti& doc_in, TLista_documenti& do
|
|||||||
td = tipo_cli.empty() ? tipo_out : tipo_cli;
|
td = tipo_cli.empty() ? tipo_out : tipo_cli;
|
||||||
const TString& sconto = d.get(DOC_SCONTOPERC);
|
const TString& sconto = d.get(DOC_SCONTOPERC);
|
||||||
d.put(DOC_SCONTOPERC, sconto);
|
d.put(DOC_SCONTOPERC, sconto);
|
||||||
|
if (change_clifo())
|
||||||
|
{
|
||||||
|
const TString8 tipodoc(d.tipo().codice());
|
||||||
|
TDocumento_mask m(tipodoc);
|
||||||
|
|
||||||
|
if (reload_prices())
|
||||||
|
{
|
||||||
|
const int rows = d.physical_rows();
|
||||||
|
|
||||||
|
for (int i = 1; i <= rows;i++)
|
||||||
|
d[i].zero(RDOC_CHECKED);
|
||||||
|
}
|
||||||
|
m.doc() = d;
|
||||||
|
m.doc2mask(true, true);
|
||||||
|
m.mask2doc();
|
||||||
|
d = m.doc();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
post_process_output(doc_out);
|
post_process_output(doc_out);
|
||||||
return tot > 0;
|
return tot > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -740,7 +740,7 @@ void TDocumento_mask::occ2mask()
|
|||||||
check_field(F_STATOSP);
|
check_field(F_STATOSP);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TDocumento_mask::cli2mask()
|
void TDocumento_mask::cli2mask(bool force_load)
|
||||||
{
|
{
|
||||||
TCli_for & c = doc().clifor();
|
TCli_for & c = doc().clifor();
|
||||||
|
|
||||||
@ -762,7 +762,7 @@ void TDocumento_mask::cli2mask()
|
|||||||
|
|
||||||
const TRectype & ven_rec = c.vendite();
|
const TRectype & ven_rec = c.vendite();
|
||||||
|
|
||||||
if(!onload)
|
if(force_load || !onload)
|
||||||
{
|
{
|
||||||
short pos = id2pos(F_CODVAL);
|
short pos = id2pos(F_CODVAL);
|
||||||
const TString16 codval = c.get(CLI_CODVAL); // Attenzione: Non usare TString& qui!
|
const TString16 codval = c.get(CLI_CODVAL); // Attenzione: Non usare TString& qui!
|
||||||
@ -1016,7 +1016,7 @@ void TDocumento_mask::reset_masks(const TString& tipo_doc)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TDocumento_mask::doc2mask(bool reload_clifo)
|
void TDocumento_mask::doc2mask(bool reload_clifo, bool force_load)
|
||||||
{
|
{
|
||||||
TSheet_field& s = sfield(F_SHEET);
|
TSheet_field& s = sfield(F_SHEET);
|
||||||
s.destroy( );
|
s.destroy( );
|
||||||
@ -1032,7 +1032,7 @@ void TDocumento_mask::doc2mask(bool reload_clifo)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (reload_clifo)
|
if (reload_clifo)
|
||||||
cli2mask();
|
cli2mask(force_load);
|
||||||
|
|
||||||
const int righe = doc().physical_rows();
|
const int righe = doc().physical_rows();
|
||||||
for (int i = 0; i < righe; i++)
|
for (int i = 0; i < righe; i++)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user