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_data_consegna() const { return get_bool("B9"); }
|
||||
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 reload_prices() { return get_bool("B13"); }
|
||||
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 ddoc = doc_out.get_date(DOC_DATADOC);
|
||||
const bool usa_dcons = usa_data_consegna();
|
||||
const int doc_out_rows = doc_out.physical_rows();
|
||||
|
||||
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
|
||||
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())
|
||||
{
|
||||
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
|
||||
TString riferimento;
|
||||
doc_in.riferimento(riferimento);
|
||||
if (riferimento.empty())
|
||||
riferimento = doc_in.tipo().descrizione();
|
||||
|
||||
if (!rif_testa || !rif_packed || doc_out_rows == 0)
|
||||
{
|
||||
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())
|
||||
{
|
||||
riferimento << " n. " << doc_in.get(DOC_NUMDOCRIF);
|
||||
riferimento << " del " << doc_in.get(DOC_DATADOCRIF);
|
||||
riferimento << "n. " << doc_in.get(DOC_NUMDOCRIF);
|
||||
if (rif_packed)
|
||||
riferimento << ' ' << doc_in.get_date(DOC_DATADOCRIF).string(brief);
|
||||
else
|
||||
riferimento << " del " << doc_in.get(DOC_DATADOCRIF);
|
||||
}
|
||||
else
|
||||
{
|
||||
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
|
||||
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);
|
||||
}
|
||||
if (rif_packed)
|
||||
{
|
||||
TString memo(1024);
|
||||
|
||||
memo = rout.get(RDOC_DESCR);
|
||||
if (rout.get_bool(RDOC_DESCLUNGA))
|
||||
memo << rout.get(RDOC_DESCEST);
|
||||
if (memo.full())
|
||||
memo << " - ";
|
||||
memo << riferimento;
|
||||
|
||||
if (memo.len() < rout.length(RDOC_DESCR))
|
||||
rout.put(RDOC_DESCR, memo);
|
||||
else
|
||||
{
|
||||
rout.put(RDOC_DESCR, memo.left(rout.length(RDOC_DESCR)));
|
||||
rout.put(RDOC_DESCEST, memo.mid(rout.length(RDOC_DESCR)));
|
||||
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();
|
||||
|
Loading…
x
Reference in New Issue
Block a user