Patch level : 10.0 294
Files correlati : lv2.exe ve0.exe Ricompilazione Demo : [ ] Commento : Bug 0001270 sulla fattura vengono stampati i riferimenti delle bolle, ma ogni riferimentousa 2 righe e tutte le volte ripete l'intestazione "bolle di vendita n.' quando consegno un cliente 2 volte alla settimana in un mese sono minimo 8 bolle e la prima pagina delle fatture viene totalmente occupata dai riferimenti bolla . Se ci fosse il modo di accorpare , anche solo non ripetendo tutte le volte l'intestazione Per avere riferimenti pi' corti bisogna sputare riferimetni sistetici sull'elaborazione git-svn-id: svn://10.65.10.50/trunk@18836 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
93296f9d24
commit
c5f7efd37c
@ -184,6 +184,7 @@ public:
|
|||||||
bool usa_doc_rif() const { return get_bool("B8"); }
|
bool usa_doc_rif() const { return get_bool("B8"); }
|
||||||
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 pack_rif() const { return get_bool("B15"); }
|
||||||
bool calcola_scarti() const { return get_bool("B11"); }
|
bool calcola_scarti() const { return get_bool("B11"); }
|
||||||
bool reload_prices() { return get_bool("B13"); }
|
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"); }
|
||||||
|
@ -138,6 +138,7 @@ bool TFatturazione_bolle::raggruppa(TDocumento& doc_in, TDocumento& doc_out)
|
|||||||
const TDate dcons = doc_in.get_date(DOC_DATACONS);
|
const TDate dcons = doc_in.get_date(DOC_DATACONS);
|
||||||
const TDate ddoc = doc_out.get_date(DOC_DATADOC);
|
const TDate ddoc = doc_out.get_date(DOC_DATADOC);
|
||||||
const bool usa_dcons = usa_data_consegna();
|
const bool usa_dcons = usa_data_consegna();
|
||||||
|
const int doc_out_rows = doc_out.physical_rows();
|
||||||
|
|
||||||
if (usa_dcons)
|
if (usa_dcons)
|
||||||
{
|
{
|
||||||
@ -178,7 +179,9 @@ bool TFatturazione_bolle::raggruppa(TDocumento& doc_in, TDocumento& doc_out)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 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 bool rif_testa = riferimenti_in_testa();
|
||||||
|
const bool rif_packed = pack_rif();
|
||||||
|
const int riga_rif = rif_testa ? 1 : doc_out.physical_rows()+1;
|
||||||
if (riga_rif > doc_out.physical_rows())
|
if (riga_rif > doc_out.physical_rows())
|
||||||
{
|
{
|
||||||
TRiga_documento& rout = doc_out.new_row();
|
TRiga_documento& rout = doc_out.new_row();
|
||||||
@ -189,40 +192,76 @@ bool TFatturazione_bolle::raggruppa(TDocumento& doc_in, TDocumento& doc_out)
|
|||||||
|
|
||||||
// Costruisce la stringa di riferimento
|
// Costruisce la stringa di riferimento
|
||||||
TString riferimento;
|
TString riferimento;
|
||||||
doc_in.riferimento(riferimento);
|
|
||||||
if (riferimento.empty())
|
if (!rif_testa || !rif_packed || doc_out_rows == 0)
|
||||||
riferimento = doc_in.tipo().descrizione();
|
{
|
||||||
|
doc_in.riferimento(riferimento);
|
||||||
|
if (riferimento.empty())
|
||||||
|
riferimento = doc_in.tipo().descrizione();
|
||||||
|
if (riferimento.full())
|
||||||
|
riferimento << ' ';
|
||||||
|
}
|
||||||
if (usa_doc_rif() && doc_in.get(DOC_NUMDOCRIF).not_empty())
|
if (usa_doc_rif() && doc_in.get(DOC_NUMDOCRIF).not_empty())
|
||||||
{
|
{
|
||||||
riferimento << " n. " << doc_in.get(DOC_NUMDOCRIF);
|
riferimento << "n. " << doc_in.get(DOC_NUMDOCRIF);
|
||||||
riferimento << " del " << doc_in.get(DOC_DATADOCRIF);
|
if (rif_packed)
|
||||||
|
riferimento << ' ' << doc_in.get_date(DOC_DATADOCRIF).string(brief);
|
||||||
|
else
|
||||||
|
riferimento << " del " << doc_in.get(DOC_DATADOCRIF);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
riferimento << " n. " << doc_in.numero();
|
riferimento << " n. " << doc_in.numero();
|
||||||
riferimento << " del " << doc_in.data().string();
|
if (rif_packed)
|
||||||
|
riferimento << ' ' << doc_in.data().string(brief);
|
||||||
|
else
|
||||||
|
riferimento << " del " << doc_in.data().string();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Setta la descrizione se vuota
|
// Setta la descrizione se vuota
|
||||||
if (rout.get(RDOC_DESCR).empty())
|
if (rif_packed)
|
||||||
rout.put(RDOC_DESCR, riferimento);
|
{
|
||||||
else
|
TString memo(1024);
|
||||||
{
|
|
||||||
// Altrimenti aggiungi il riferimento al memo
|
memo = rout.get(RDOC_DESCR);
|
||||||
TString memo(1024);
|
if (rout.get_bool(RDOC_DESCLUNGA))
|
||||||
memo = rout.get(RDOC_DESCEST);
|
memo << rout.get(RDOC_DESCEST);
|
||||||
if (memo.empty())
|
if (memo.full())
|
||||||
{
|
memo << " - ";
|
||||||
TString80 rif(rout.get(RDOC_DESCR));
|
memo << riferimento;
|
||||||
rif << '\n';
|
|
||||||
rout.put(RDOC_DESCR, rif);
|
if (memo.len() < rout.length(RDOC_DESCR))
|
||||||
rout.put(RDOC_DESCLUNGA, "X");
|
rout.put(RDOC_DESCR, memo);
|
||||||
}
|
else
|
||||||
else
|
{
|
||||||
memo << '\n';
|
rout.put(RDOC_DESCR, memo.left(rout.length(RDOC_DESCR)));
|
||||||
memo << riferimento;
|
rout.put(RDOC_DESCEST, memo.mid(rout.length(RDOC_DESCR)));
|
||||||
rout.put(RDOC_DESCEST, memo);
|
rout.put(RDOC_DESCLUNGA, "X");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (rout.get(RDOC_DESCR).empty())
|
||||||
|
rout.put(RDOC_DESCR, riferimento);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Altrimenti aggiungi il riferimento al memo
|
||||||
|
TString memo(1024);
|
||||||
|
|
||||||
|
memo = rout.get(RDOC_DESCEST);
|
||||||
|
if (memo.empty())
|
||||||
|
{
|
||||||
|
TString80 rif(rout.get(RDOC_DESCR));
|
||||||
|
rif << '\n';
|
||||||
|
rout.put(RDOC_DESCR, rif);
|
||||||
|
rout.put(RDOC_DESCLUNGA, "X");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
memo << '\n';
|
||||||
|
memo << riferimento;
|
||||||
|
rout.put(RDOC_DESCEST, memo);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const bool ignora_desc = ignora_descrizioni();
|
const bool ignora_desc = ignora_descrizioni();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user