diff --git a/src/ve/f33.dir b/src/ve/f33.dir
index 0160db49c..4f66672c3 100755
--- a/src/ve/f33.dir
+++ b/src/ve/f33.dir
@@ -1,3 +1,3 @@
33
0
-$doc|0|0|745|0|Testate documenti|||
+$doc|0|0|755|0|Testate documenti|||
diff --git a/src/ve/f33.trr b/src/ve/f33.trr
index feb22c887..790c4f108 100755
--- a/src/ve/f33.trr
+++ b/src/ve/f33.trr
@@ -1,5 +1,5 @@
33
-99
+100
CODNUM|1|4|0|Codice della numerazione
ANNO|2|4|0|Anno
PROVV|1|1|0|Tipo numerazione
rovvisorio efinitivo
@@ -76,6 +76,7 @@ G1|11|10|0|Campo generale 1
DATAAGG|5|8|0|Data ultimo aggiornamento
UTENTE|1|16|0|Utente ultimo aggiornamento
COLL_GOLEM|11|10|0|Collegamento lista di GOLEM
+CARTACEI|11|10|0|Collegamento lista documenti cartacei da allegare nell'archiviazione
DOCEVASO|8|1|0|Ordine evaso
CODCMS|1|20|0|Codice Commessa
FASCMS|1|10|0|Fase Commessa
diff --git a/src/ve/ve0300.cpp b/src/ve/ve0300.cpp
index bd7c82d7c..9fcb91b39 100755
--- a/src/ve/ve0300.cpp
+++ b/src/ve/ve0300.cpp
@@ -447,6 +447,7 @@ class TField : public TObject
int _size;
int _stato;
int _x, _y;
+ int _picture;
TString _prompt, _flag, _help, _warning, _fieldname, _modules;
TToken_string _use, _input, _display, _output, _special, _items, _configs;
TToken_string _copy;
@@ -500,7 +501,8 @@ public:
void copy( TToken_string& copy ){ _copy = copy; }
void special( TToken_string& special ){ _special = special; }
void items( TToken_string& items ){ _items = items; }
- void configs( TToken_string& configs ){ _configs = configs; }
+ void configs(TToken_string& configs) { _configs = configs; }
+ void picture(int picture) { _picture = picture; }
TToken_string& use( ){ return _use; }
TToken_string& input( ){ return _input; }
TToken_string& display( ){ return _display; }
@@ -508,7 +510,8 @@ public:
TToken_string& copy( ){ return _copy; }
TToken_string& special( ){ return _special; }
TToken_string& items( ){ return _items; }
- TToken_string& configs( ){ return _configs; }
+ TToken_string& configs() { return _configs; }
+ int picture() { return _picture; }
TConfig& profilo( ) { CHECK(_grp, "NULL group in field"); return grp().generatore().profilo(); }
//TConfig& ditta( ) { CHECK(_grp, "NULL group in field"); return grp().generatore().ditta(); }
@@ -723,7 +726,10 @@ TField::TField( TString& campo, TConfig& pro ) : _nome( campo )
_configs = pro.get( "CONFIGS", campo );
_configs.separator( '~' );
_items = "";
+ _picture = pro.get_int("PICTURE", campo);
+
int last = pro.get_int( "NITEMS", campo );
+
for( int i = 1; i <= last; i ++ )
_items.add( pro.get( "ITEM", campo, i ) );
};
@@ -761,6 +767,7 @@ TField::TField( )
_configs.separator( '~' );
_items = "";
_items.separator( '@' );
+ _picture = 0;
}
TObject* TField::dup() const
@@ -788,7 +795,8 @@ TObject* TField::dup() const
f->_copy = _copy;
f->_special = _special;
f->_items = _items;
- f->_configs = _configs;
+ f->_configs = _configs;
+ f->_picture = _picture;
return f;
}
@@ -889,6 +897,8 @@ void TField::genera( )
if ( _warning.full( ) ) m.warning( _warning );
if ( _special.full( ) ) m.outline( _special );
if ( _modules.full()) m.module(_modules);
+ if ( _picture > 0 )
+ m.picture(_picture);
m.end( );
if ( ( m.line( ) > MAX_LINES_PER_PAGE ))
m.end( );
@@ -1015,6 +1025,8 @@ void TMask_generator::carica_dati_campi( const TFilename& fn, TAssoc_array& a )
campo->items( TToken_string(value, '@'));
else if( key.starts_with("CONF"))
campo->configs( (TToken_string & )value );
+ else if (key.starts_with("PI"))
+ campo->picture(atoi(value));
else yesnofatal_box( "Chiave non trovata(%s)", (const char *) key );
}
}
diff --git a/src/ve/velib02.cpp b/src/ve/velib02.cpp
index db6cebab7..30d6a3c20 100755
--- a/src/ve/velib02.cpp
+++ b/src/ve/velib02.cpp
@@ -657,7 +657,7 @@ TRiga_documento& TRiga_documento::operator +=(const TRiga_documento& r)
if (!get_bool(RDOC_RIGAEVASA))
{
if (qtaresidua().is_zero()) // same as is_evasa()
- put(RDOC_RIGAEVASA, "X");
+ put(RDOC_RIGAEVASA, true);
}
return *this;
@@ -1416,7 +1416,7 @@ void TRiga_documento::cms2tipodet()
void TRiga_documento::set_descr(const char* descr)
{
const int descr_len = length(RDOC_DESCR);
- TString s = descr; s.rtrim();
+ TString s = descr; s.trim();
int split_pos = s.find('\n');
if (split_pos < 0 && s.len() > descr_len)
split_pos = descr_len;
@@ -1426,7 +1426,7 @@ void TRiga_documento::set_descr(const char* descr)
{
put(RDOC_DESCR, s.left(split_pos));
const TString& dest = s.mid(split_pos);
- put(RDOC_DESCLUNGA, "X");
+ put(RDOC_DESCLUNGA, true);
put(RDOC_DESCEST, dest);
}
else
diff --git a/src/ve/velib03.cpp b/src/ve/velib03.cpp
index 738160ae4..ed4440135 100755
--- a/src/ve/velib03.cpp
+++ b/src/ve/velib03.cpp
@@ -1530,7 +1530,7 @@ int TDocumento::write_rewrite(TBaseisamfile & f, bool re) const
TTable tab("%DET");
tab.curr() = det;
- tab.curr().put("FPC", "X");
+ tab.curr().put("FPC", true);
tab.rewrite();
}
}
diff --git a/src/ve/velib03a.cpp b/src/ve/velib03a.cpp
index a639244e1..6d4737e57 100755
--- a/src/ve/velib03a.cpp
+++ b/src/ve/velib03a.cpp
@@ -1221,7 +1221,7 @@ int TFormula_documento::read(const char* codice, const char * expr, bool numexpr
if (expr && *expr)
{
put("S1", expr);
- put("B0", numexpr ? "X" : "");
+ put("B0", numexpr);
}
else
{
diff --git a/src/ve/velib04a.cpp b/src/ve/velib04a.cpp
index 63f794f9b..a274feeac 100755
--- a/src/ve/velib04a.cpp
+++ b/src/ve/velib04a.cpp
@@ -301,7 +301,7 @@ bool TFatturazione_bolle::raggruppa(TDocumento& doc_in, TDocumento& doc_out)
memo.rtrim();
memo << '\n' << riferimento;
rout.put(RDOC_DESCEST, memo);
- rout.put(RDOC_DESCLUNGA, "X");
+ rout.put(RDOC_DESCLUNGA, true);
}
} //if(rif_packed)..
} //if(gestione_riferimenti)...
diff --git a/src/ve/velib04b.cpp b/src/ve/velib04b.cpp
index 31de3a4c7..8116062c2 100755
--- a/src/ve/velib04b.cpp
+++ b/src/ve/velib04b.cpp
@@ -1362,6 +1362,7 @@ error_type TContabilizzazione::compile_head_mov(TDocumento& doc)
mov_rec.put(MOV_CAMBIO,cambio);
mov_rec.put(MOV_DATACAM,datacam);
mov_rec.put(MOV_CODPAG,codpag);
+ mov_rec.put(MOV_COLL_GOLEM, doc.get(DOC_COLL_GOLEM));
TCurrency_documento totdocval(doc.totale_doc(), doc);
@@ -1374,6 +1375,7 @@ error_type TContabilizzazione::compile_head_mov(TDocumento& doc)
mov_rec.put(MOV_TIPO,tipocf);
mov_rec.put(MOV_CODCF,codcf);
mov_rec.put(MOV_OCFPI,occas);
+ mov_rec.put(MOV_CARTACEI, doc.get(DOC_CARTACEI));
TString4 codvali;
real cambioi;
diff --git a/src/ve/velib04c.cpp b/src/ve/velib04c.cpp
index 30ed64578..545c75f44 100755
--- a/src/ve/velib04c.cpp
+++ b/src/ve/velib04c.cpp
@@ -607,7 +607,7 @@ long TGenerazione_effetti::group_bills(TAssoc_array& group_array, bool interatti
riga.put(REFF_IMPORTOVAL,imprataval);
}
if (n == numrate)
- effetto.put(EFF_ULTRATA, "X");
+ effetto.put(EFF_ULTRATA, true);
}
} // Ciclo sulle scadenze
}
diff --git a/src/ve/velib04d.cpp b/src/ve/velib04d.cpp
index 1d048d631..1340f6e88 100755
--- a/src/ve/velib04d.cpp
+++ b/src/ve/velib04d.cpp
@@ -526,7 +526,7 @@ bool TConsegna_ordini::genera_righe_riferimento(const TDocumento& indoc, TDocume
rout.put(RDOC_DESCLUNGA, memo.len() > 50);
rout.put(RDOC_DESCR, memo.left(50));
rout.put(RDOC_DESCEST, memo.mid(50));
- rout.put("RIFR", "X");
+ rout.put("RIFR", true);
return true;
}
@@ -636,7 +636,7 @@ bool TConsegna_ordini::elabora(TLista_documenti& doc_in, TLista_documenti& doc_o
ok = true; // Ho evaso almeno una riga!
const char* fqe = inrec.field_qtaevasa();
inrec.add(fqe, daeva); // nuovo modo di incrementare
- inrec.put(RDOC_RIGAEVASA, eva ? "X" : "");
+ inrec.put(RDOC_RIGAEVASA, eva);
if (eva && calcola_scarti())
{
diff --git a/src/ve/velib06.cpp b/src/ve/velib06.cpp
index b9f6de792..5c6129315 100755
--- a/src/ve/velib06.cpp
+++ b/src/ve/velib06.cpp
@@ -4400,7 +4400,7 @@ void TDocumento_mask::save_father_rows()
if (qtaevasa < rdoc_row.quantita())
rdoc_row.zero(RDOC_RIGAEVASA);
else
- rdoc_row.put(RDOC_RIGAEVASA, "X");
+ rdoc_row.put(RDOC_RIGAEVASA, true);
break;
}
}
diff --git a/src/ve/velib06a.cpp b/src/ve/velib06a.cpp
index 3821bed85..1cb154853 100755
--- a/src/ve/velib06a.cpp
+++ b/src/ve/velib06a.cpp
@@ -2000,7 +2000,7 @@ bool codart_handler(TMask_field& f, KEY key )
new_row.zero(RDOC_DESCEST);
new_row.put(RDOC_CHECKED, "");
new_row.put(RDOC_UMQTA, r.um());
- new_row.put(RDOC_GENERATA, "X");
+ new_row.put(RDOC_GENERATA, true);
new_row.put(RDOC_QTA, r.val() /* * qta_fin */);
const int level = start_level + r.livello();
new_row.put(RDOC_LEVEL, level);