diff --git a/ca/ca3883.cpp b/ca/ca3883.cpp
index 6c9ae0484..ae9dd102c 100755
--- a/ca/ca3883.cpp
+++ b/ca/ca3883.cpp
@@ -517,9 +517,9 @@ bool TCRPA_report::generate_columns (TString_array& codici, TString_array& testa
if (f4 != NULL)
offset_and_fill_sectionf4(*f4, model_id);
-//#ifdef DBG
+#ifdef DBG
save("cazzone.rep");
-//#endif
+#endif
return true;
}
@@ -1251,6 +1251,14 @@ const TVariant& TPrint_saldana_recordset::get(const char* column_name) const
TAssoc_array& riga = (TAssoc_array&)_righe[_curr];
if (strncmp(column_name, "RECORD.", 7) == 0)
column_name += 7;
+
+ if (_forza_maturato && strcmp(column_name, "COS_MAT") == 0)
+ {
+ const int indice = get("LEVEL").as_int();
+ if (indice <= 1)
+ column_name = "COS_BDG";
+ }
+
const TString* val = (TString*)riga.objptr(column_name);
if (val)
var.set(*val);
@@ -1265,6 +1273,8 @@ const TVariant& TPrint_saldana_recordset::get(const char* column_name) const
void TPrint_saldana_recordset::set_filter(const TMask& msk, const TString& curr_sublevel)
{
_fase = _cdc = "";
+ _forza_maturato = false;
+
//tira su un po' di parametri dalla maschera...
_anno = msk.get_int(F_ESERCIZIO);
//prende anche il prefix
@@ -1307,4 +1317,8 @@ void TPrint_saldana_recordset::set_filter(const TMask& msk, const TString& curr_
break;
}
} //if(tipo==8..
+ if (_tipo == 9)
+ {
+ _forza_maturato = msk.get_bool(F_FORZA_MATURATO);
+ }
}
diff --git a/ca/ca3883.h b/ca/ca3883.h
index 02220cb91..b8a67300d 100755
--- a/ca/ca3883.h
+++ b/ca/ca3883.h
@@ -71,6 +71,7 @@ class TPrint_saldana_recordset : public TRecordset
int _tipostampa;
bool _vitaintera;
bool _tipodetr;
+ bool _forza_maturato;
char _tipostima;
TString16 _fase;
TString80 _cdc;
diff --git a/ca/ca3883a.h b/ca/ca3883a.h
index 969eea385..edd697136 100755
--- a/ca/ca3883a.h
+++ b/ca/ca3883a.h
@@ -1,20 +1,21 @@
#ifndef __CA3883A_H
#define __CA3883A_H
-#define F_DITTA 101
-#define F_RAGSOC 102
-#define F_DATASTAMPA 103
-#define F_ESERCIZIO 104
-#define F_REPORT 105
-#define F_INIZIO_ES 106
-#define F_FINE_ES 107
-#define F_TIPOSTIMA 108
-#define F_VITAINTERA 109
-#define F_FASE 110
-#define F_CDC 111
-#define F_DEPTH 112
-#define F_TIPOSTAMPA 113
-#define F_TIPODETR 114
+#define F_DITTA 101
+#define F_RAGSOC 102
+#define F_DATASTAMPA 103
+#define F_ESERCIZIO 104
+#define F_REPORT 105
+#define F_INIZIO_ES 106
+#define F_FINE_ES 107
+#define F_TIPOSTIMA 108
+#define F_VITAINTERA 109
+#define F_FASE 110
+#define F_CDC 111
+#define F_DEPTH 112
+#define F_TIPOSTAMPA 113
+#define F_TIPODETR 114
+#define F_FORZA_MATURATO 115
/* campi per la generazione automatica
#define F_FASE1 112
diff --git a/ca/ca3900.uml b/ca/ca3900.uml
index 5f9617109..41ae45d00 100755
--- a/ca/ca3900.uml
+++ b/ca/ca3900.uml
@@ -1,6 +1,6 @@
#include "ca3883a.h"
-TOOLBAR "topbar" 0 0 0 2
+TOOLBAR "" 0 -3 0 2
BUTTON DLG_PRINT 10 2
BEGIN
@@ -15,17 +15,8 @@ END
ENDPAGE
-TOOLBAR "" 0 -2 0 2
+PAGE "Stima ricavi di competenza" -1 -1 0 -3
-STRING DLG_PROFILE 50
-BEGIN
- PROMPT 9 -11 "Profilo "
- PSELECT
-END
-
-ENDPAGE
-
-PAGE "Stima ricavi di competenza" 0 0 0 2
GROUPBOX DLG_NULL 76 4
BEGIN
PROMPT 0 1 ""
@@ -80,6 +71,11 @@ BEGIN
FLAGS "A"
END
+BOOLEAN F_FORZA_MATURATO
+BEGIN
+ PROMPT 2 6 "Considerare finite le commesse che terminano nell'esercizio selezionato"
+END
+
GROUPBOX F_PRE0 76 5
BEGIN
PROMPT 0 12 "@bPrefisso del piano dei conti analitico:"
@@ -88,7 +84,7 @@ END
STRING F_REPORT 256 64
BEGIN
- PROMPT 1 19 "Report "
+ PROMPT 1 20 "Report "
FLAGS "B"
END
diff --git a/ca/ca3900a.rep b/ca/ca3900a.rep
index e3d6fea95..068cf0e62 100755
--- a/ca/ca3900a.rep
+++ b/ca/ca3900a.rep
@@ -130,8 +130,8 @@ MESSAGE RESET,F3.108
MESSAGE ADD,F3.102
- #101 @
-0 = IF
+ #101 @ \ legge il budget
+0 = IF \ se 0 per evitare la divisione per 0 mette 100 nella %
100
ELSE
#102 @