Patch level : 12.0 1198

Files correlati     : cg2.exe ve0.exe

Commento:
aggiunti campi per  memorizzare documenti generici e documenti cartacei da archiviare
This commit is contained in:
Alessandro Bonazzi 2022-10-01 19:33:12 +02:00
parent 3c2e41a562
commit 9e7c45c556
12 changed files with 31 additions and 16 deletions

View File

@ -1,3 +1,3 @@
33
0
$doc|0|0|745|0|Testate documenti|||
$doc|0|0|755|0|Testate documenti|||

View File

@ -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 <P>rovvisorio <D>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

View File

@ -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
@ -789,6 +796,7 @@ TObject* TField::dup() const
f->_special = _special;
f->_items = _items;
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 );
}
}

View File

@ -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

View File

@ -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();
}
}

View File

@ -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
{

View File

@ -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)...

View File

@ -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;

View File

@ -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
}

View File

@ -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())
{

View File

@ -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;
}
}

View File

@ -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);