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;
|
||||
|
||||
void occ2mask();
|
||||
void cli2mask();
|
||||
void doc2mask(bool reload_clifo = true);
|
||||
void cli2mask(bool force_load = false);
|
||||
void doc2mask(bool reload_clifo = true, bool force_load = false);
|
||||
void mask2doc();
|
||||
|
||||
void update_giacenza();
|
||||
|
@ -182,7 +182,8 @@ public:
|
||||
bool usa_data_consegna() const { return get_bool("B9"); }
|
||||
bool kill_descrizione_estesa() const { return get_bool("B10"); }
|
||||
bool calcola_scarti() const { return get_bool("B11"); }
|
||||
const TString & num_riferimenti_in() const { return get("S11"); }
|
||||
bool reload_prices() { return get_bool("B13"); }
|
||||
const TString & num_riferimenti_in() const { return get("S11"); }
|
||||
|
||||
int intestazioni_sheet() const { return get_int("I1"); }
|
||||
|
||||
@ -227,7 +228,6 @@ protected:
|
||||
|
||||
public:
|
||||
bool nettifica() { return get_bool("B12"); }
|
||||
bool reload_prices() { return get_bool("B13"); }
|
||||
virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
||||
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 create_row(TDocumento& doc_out, const TRiga_documento & rin);
|
||||
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 post_process_input(TLista_documenti& doc_out) {}
|
||||
virtual void post_process_output(TLista_documenti& doc_out) {}
|
||||
|
@ -85,12 +85,12 @@ bool TFatturazione_bolle::doc_raggruppabili(const TDocumento& doc_in, const TDoc
|
||||
return doc_in.raggruppabile(doc_out, campi);
|
||||
}
|
||||
|
||||
void TFatturazione_bolle::create_row(TDocumento& doc_out, const TRiga_documento & rin)
|
||||
void TFatturazione_bolle::create_row(TDocumento& doc_out, const TRiga_documento& rin)
|
||||
{
|
||||
TRiga_documento& rout = doc_out.new_row(); // ... crea una riga nuova e
|
||||
|
||||
doc_out.copy_data(rout, rin); // copiaci tutti i campi della riga sorgente.
|
||||
rout.set_original_rdoc_key(rin); // memorizza il codice della riga originale
|
||||
doc_out.copy_data(rout, rin); // copiaci tutti i campi della riga sorgente.
|
||||
rout.set_original_rdoc_key(rin); // memorizza il codice della riga originale
|
||||
|
||||
if (usa_data_consegna())
|
||||
{
|
||||
@ -159,6 +159,24 @@ bool TFatturazione_bolle::raggruppa(TDocumento& doc_in, TDocumento& doc_out)
|
||||
|
||||
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
|
||||
const int riga_rif = riferimenti_in_testa() ? 1 : doc_out.physical_rows()+1;
|
||||
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++)
|
||||
{
|
||||
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);
|
||||
|
||||
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);
|
||||
|
||||
if (t.full())
|
||||
if (t > ' ')
|
||||
{
|
||||
campione.put(DOC_TIPOCF, t);
|
||||
if (interattivo)
|
||||
@ -341,7 +359,7 @@ bool TFatturazione_bolle::elabora(TLista_documenti& doc_in, TLista_documenti& do
|
||||
|
||||
for (int i = 1; i <= rows; i++)
|
||||
{
|
||||
TRiga_documento & rdoc = campione[i];
|
||||
TRiga_documento& rdoc = campione[i];
|
||||
|
||||
if (codesiva.full())
|
||||
rdoc.put(RDOC_CODIVA, codesiva);
|
||||
@ -367,8 +385,6 @@ bool TFatturazione_bolle::elabora(TLista_documenti& doc_in, TLista_documenti& do
|
||||
|
||||
}
|
||||
}
|
||||
campione.set_riga_esenzione();
|
||||
|
||||
}
|
||||
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();
|
||||
int od = tot;
|
||||
|
||||
@ -441,7 +459,7 @@ bool TFatturazione_bolle::elabora(TLista_documenti& doc_in, TLista_documenti& do
|
||||
od = doc_out.add(new_doc);
|
||||
}
|
||||
|
||||
if (get_bool("B13"))
|
||||
if (change_clifo())
|
||||
{
|
||||
campione.put(DOC_TIPOCF, orig_t);
|
||||
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;
|
||||
const TString& sconto = d.get(DOC_SCONTOPERC);
|
||||
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);
|
||||
return tot > 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -740,7 +740,7 @@ void TDocumento_mask::occ2mask()
|
||||
check_field(F_STATOSP);
|
||||
}
|
||||
|
||||
void TDocumento_mask::cli2mask()
|
||||
void TDocumento_mask::cli2mask(bool force_load)
|
||||
{
|
||||
TCli_for & c = doc().clifor();
|
||||
|
||||
@ -762,7 +762,7 @@ void TDocumento_mask::cli2mask()
|
||||
|
||||
const TRectype & ven_rec = c.vendite();
|
||||
|
||||
if(!onload)
|
||||
if(force_load || !onload)
|
||||
{
|
||||
short pos = id2pos(F_CODVAL);
|
||||
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);
|
||||
s.destroy( );
|
||||
@ -1032,7 +1032,7 @@ void TDocumento_mask::doc2mask(bool reload_clifo)
|
||||
}
|
||||
|
||||
if (reload_clifo)
|
||||
cli2mask();
|
||||
cli2mask(force_load);
|
||||
|
||||
const int righe = doc().physical_rows();
|
||||
for (int i = 0; i < righe; i++)
|
||||
|
Loading…
x
Reference in New Issue
Block a user