Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : Sistemato problema nella stampa ca3800. Se si specificava, in una stampa dettagliata, una fase (o un cdc), la prima riga della stampa presentava, anzichè un record corretto, campi a caso del file install.ini!!! git-svn-id: svn://10.65.10.50/trunk@20278 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
e2483a4b57
commit
8bcdabcba9
@ -207,25 +207,29 @@ MESSAGE ADD,F3.69</postscript>
|
||||
<postscript description="B1.169 POSTSCRIPT">MESSAGE ADD,F4.169
|
||||
MESSAGE ADD,F3.169</postscript>
|
||||
</field>
|
||||
<field x="99" type="Numero" align="right" width="4" id="170" pattern="1">
|
||||
<field x="99" type="Numero" align="right" width="4" id="170" pattern="1" text="####">
|
||||
<font italic="1" face="Arial Narrow" size="8" />
|
||||
<prescript description="B1.170 PRESCRIPT">#RICAVI @
|
||||
EMPTY= IF
|
||||
0
|
||||
0
|
||||
ELSE
|
||||
1
|
||||
#COSTI @
|
||||
#RICAVI @
|
||||
F;
|
||||
-
|
||||
100
|
||||
*
|
||||
0
|
||||
ROUND
|
||||
1
|
||||
#COSTI @
|
||||
#RICAVI @
|
||||
F;
|
||||
-
|
||||
100
|
||||
*
|
||||
0
|
||||
ROUND
|
||||
DUP
|
||||
-999 C; IF
|
||||
DROP -999
|
||||
THEN
|
||||
THEN
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="103" type="Testo" align="center" width="2" id="171" pattern="1" text="%" />
|
||||
<field x="102.5" type="Testo" align="center" width="2" id="171" pattern="1" text="%" />
|
||||
<field type="Numero" hidden="1" align="right" width="1" id="200" pattern="1">
|
||||
<prescript description="B1.200 PRESCRIPT">#THIS @
|
||||
1
|
||||
|
@ -140,26 +140,30 @@
|
||||
<source>#RICAVI-#COSTI</source>
|
||||
<postscript description="B1.169 POSTSCRIPT">MESSAGE ADD,F3.169</postscript>
|
||||
</field>
|
||||
<field x="61.5" type="Numero" align="right" width="4" id="170" pattern="1">
|
||||
<font italic="1" face="Arial Narrow" size="8" />
|
||||
<prescript description="B1.170 PRESCRIPT">#RICAVI @
|
||||
EMPTY= IF
|
||||
0
|
||||
ELSE
|
||||
1
|
||||
#COSTI @
|
||||
#RICAVI @
|
||||
F;
|
||||
-
|
||||
100
|
||||
*
|
||||
DUP \ duplica la % non arrotondata
|
||||
#F3.170 \ e incrementa il campo nel footer3
|
||||
+!
|
||||
0 ROUND \ e alla fine arrotonda quello sul body
|
||||
THEN
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="61.5" type="Numero" align="right" width="4" id="170" pattern="1" text="####">
|
||||
<font italic="1" face="Arial Narrow" size="8" />
|
||||
<prescript description="B1.170 PRESCRIPT">
|
||||
#RICAVI @
|
||||
EMPTY= IF
|
||||
0
|
||||
ELSE
|
||||
1
|
||||
#COSTI @
|
||||
#RICAVI @
|
||||
F;
|
||||
-
|
||||
100
|
||||
*
|
||||
0
|
||||
ROUND
|
||||
DUP
|
||||
-999 C; IF
|
||||
DROP -999
|
||||
THEN
|
||||
THEN
|
||||
#THIS !
|
||||
</prescript>
|
||||
</field>
|
||||
<field x="65.5" type="Testo" align="center" width="2" id="171" pattern="1" text="%" />
|
||||
</section>
|
||||
<section type="Foot">
|
||||
|
@ -140,26 +140,30 @@
|
||||
<source>#RICAVI-#COSTI</source>
|
||||
<postscript description="B1.169 POSTSCRIPT">MESSAGE ADD,F3.169</postscript>
|
||||
</field>
|
||||
<field x="61.5" type="Numero" align="right" width="4" id="170" pattern="1">
|
||||
<font italic="1" face="Arial Narrow" size="8" />
|
||||
<prescript description="B1.170 PRESCRIPT">#RICAVI @
|
||||
EMPTY= IF
|
||||
0
|
||||
ELSE
|
||||
1
|
||||
#COSTI @
|
||||
#RICAVI @
|
||||
F;
|
||||
-
|
||||
100
|
||||
*
|
||||
DUP \ duplica la % non arrotondata
|
||||
#F3.170 \ e incrementa il campo nel footer3
|
||||
+!
|
||||
0 ROUND \ e alla fine arrotonda quello sul body
|
||||
THEN
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="61.5" type="Numero" align="right" width="4" id="170" pattern="1" text="####">
|
||||
<font italic="1" face="Arial Narrow" size="8" />
|
||||
<prescript description="B1.170 PRESCRIPT">
|
||||
#RICAVI @
|
||||
EMPTY= IF
|
||||
0
|
||||
ELSE
|
||||
1
|
||||
#COSTI @
|
||||
#RICAVI @
|
||||
F;
|
||||
-
|
||||
100
|
||||
*
|
||||
0
|
||||
ROUND
|
||||
DUP
|
||||
-999 C; IF
|
||||
DROP -999
|
||||
THEN
|
||||
THEN
|
||||
#THIS !
|
||||
</prescript>
|
||||
</field>
|
||||
<field x="65.5" type="Testo" align="center" width="2" id="171" pattern="1" text="%" />
|
||||
</section>
|
||||
<section type="Foot">
|
||||
|
@ -504,10 +504,10 @@ int TPrint_saldana_recordset::ricava_sezione_di_stampa(const TRectype& rec_comme
|
||||
return indice;
|
||||
}
|
||||
|
||||
TString TPrint_saldana_recordset::ricava_chiave_cdc_fase(const TString& codcms, const TString& fase, const TString& cdc) const
|
||||
void TPrint_saldana_recordset::ricava_chiave_cdc_fase(const TString& codcms, const TString& fase, const TString& cdc, TString& chiave) const
|
||||
{
|
||||
//ci sono filtri o raggruppamenti per fase o centro di costo?
|
||||
TString chiave = codcms;
|
||||
chiave = codcms;
|
||||
//selezione fasi solo su bilancio commessa (_tipo=8)
|
||||
if (_tipo == 8 && (_tipostampa >= 1 && _tipostampa <= 3))
|
||||
{
|
||||
@ -528,7 +528,6 @@ TString TPrint_saldana_recordset::ricava_chiave_cdc_fase(const TString& codcms,
|
||||
chiave << '|' << cdc; //dettaglia x cdc
|
||||
}
|
||||
}
|
||||
return chiave;
|
||||
}
|
||||
|
||||
|
||||
@ -648,7 +647,7 @@ void TPrint_saldana_recordset::parse_saldana(TAssoc_array* cms, const TDate& dat
|
||||
|
||||
//estrae i dati di commessa e le date relative;le date servono successivamente per stabilire...
|
||||
//..le sezioni in cui compariranno le commesse nella stampa
|
||||
const TString& codcms = saldana.get(SALDANA_COMMESSA);
|
||||
const TString80 codcms = saldana.get(SALDANA_COMMESSA);
|
||||
const TRectype& rec_commesse = cache().get(LF_COMMESSE, codcms);
|
||||
//indice: indica la sezione di report in cui apparariranno i valori!
|
||||
const int indice = ricava_sezione_di_stampa(rec_commesse, datainiesc, datafinesc);
|
||||
@ -661,10 +660,11 @@ void TPrint_saldana_recordset::parse_saldana(TAssoc_array* cms, const TDate& dat
|
||||
if (indice >= 0)
|
||||
{
|
||||
//ci sono filtri o raggruppamenti per fase o centro di costo?
|
||||
const TString& fase = saldana.get(SALDANA_FASE);
|
||||
const TString& cdc = saldana.get(SALDANA_COSTO);
|
||||
const TString80 fase = saldana.get(SALDANA_FASE);
|
||||
const TString80 cdc = saldana.get(SALDANA_COSTO);
|
||||
//ricava la chiave completa per l'assoc_array comprendendo eventuali fasi e/o cdc
|
||||
TString chiave = ricava_chiave_cdc_fase(codcms, fase, cdc);
|
||||
TString80 chiave;
|
||||
ricava_chiave_cdc_fase(codcms, fase, cdc, chiave);
|
||||
|
||||
//riempie le righe degli array da mandare poi in stampa
|
||||
//dapprima le righe normali..
|
||||
@ -802,7 +802,8 @@ void TPrint_saldana_recordset::parse_saldana_futuri()
|
||||
const TString& fase = saldana.get(SALDANA_FASE);
|
||||
const TString& cdc = saldana.get(SALDANA_COSTO);
|
||||
//ricava la chiave completa per l'assoc_array comprendendo eventuali fasi e/o cdc
|
||||
TString chiave = ricava_chiave_cdc_fase(codcms, fase, cdc);
|
||||
TString80 chiave;
|
||||
ricava_chiave_cdc_fase(codcms, fase, cdc, chiave);
|
||||
|
||||
//aggiorna totali della commessa (importi per codcms senza tener conto di fase o cdc)
|
||||
TAssoc_array& riga_tot = get_row(_totali[indice], codcms, indice, codcms, EMPTY_STRING, EMPTY_STRING,
|
||||
@ -837,7 +838,8 @@ void TPrint_saldana_recordset::elabora_rmovana(TAssoc_array* cms, const TDate& d
|
||||
const TString& cdc = rmovana.get(RMOVANA_CODCCOSTO);
|
||||
//se la riga è risultata buona ricava la chiave completa per l'assoc_array comprendendo eventuali..
|
||||
//..fasi e/o cdc
|
||||
TString chiave = ricava_chiave_cdc_fase(codcms, fase, cdc);
|
||||
TString80 chiave;
|
||||
ricava_chiave_cdc_fase(codcms, fase, cdc, chiave);
|
||||
|
||||
//calcola la "durata complessiva" della riga, ovvero l'intervallo di tempo per cui essa risulta valida
|
||||
//la data fine ci fa sudare un pò
|
||||
|
@ -115,7 +115,7 @@ protected:
|
||||
real calcola_avanzamento_tempo() const;
|
||||
const TDate calcola_min_datacomp(const TDate& datainiesc, const TDate& datafinesc) const;
|
||||
int ricava_sezione_di_stampa(const TRectype& rec_commesse, const TDate& datainiesc, const TDate& datafinesc) const;
|
||||
TString ricava_chiave_cdc_fase(const TString& codcms, const TString& fase, const TString& cdc) const;
|
||||
void ricava_chiave_cdc_fase(const TString& codcms, const TString& fase, const TString& cdc, TString& chiave) const;
|
||||
int numerazioni_documenti(TString_array& num_doc, TString_array& tip_doc, const int tipo) const;
|
||||
int numerazioni_ordini(TString_array& num_ordini, TString_array& tip_ordini) const;
|
||||
int numerazioni_fatture(TString_array& num_fatture, TString_array& tip_fatture) const;
|
||||
|
Loading…
x
Reference in New Issue
Block a user