Patch level : 12.0 800
Files correlati : cg5.exe Commento : Spostata la colonna iva a credito o debito nella seconda colonna nella visualizzazione liquidazione
This commit is contained in:
parent
13b002ef43
commit
2cd2de17dd
@ -18,6 +18,11 @@ extern "C"
|
||||
#include <urldefid.h>
|
||||
#include <utility.h>
|
||||
|
||||
int cid2index(short cid)
|
||||
{
|
||||
return xvtil_cid2index(cid);
|
||||
}
|
||||
|
||||
class TCell_property : public TObject
|
||||
{
|
||||
COLOR _back, _fore;
|
||||
@ -3064,6 +3069,71 @@ const char* TSheet_field::cell(int r, int c) const
|
||||
return v ? v : " ";
|
||||
}
|
||||
|
||||
int TSheet_field::set_row_cell(short id, const char * value, int nrow)
|
||||
{
|
||||
if (nrow < 0)
|
||||
nrow = first_empty();
|
||||
set_row_cell(row(nrow), id, value);
|
||||
#ifdef DBG
|
||||
const TToken_string & r = row(nrow);
|
||||
#endif
|
||||
return nrow;
|
||||
}
|
||||
|
||||
int TSheet_field::set_row_cell(short id, char value, int nrow)
|
||||
{
|
||||
if (nrow < 0)
|
||||
nrow = first_empty();
|
||||
set_row_cell(row(nrow), id, value);
|
||||
#ifdef DBG
|
||||
const TToken_string & r = row(nrow);
|
||||
#endif
|
||||
return nrow;
|
||||
}
|
||||
|
||||
int TSheet_field::set_row_cell(short id, long value, int nrow)
|
||||
{
|
||||
if (nrow < 0)
|
||||
nrow = first_empty();
|
||||
set_row_cell(row(nrow), id, value);
|
||||
#ifdef DBG
|
||||
const TToken_string & r = row(nrow);
|
||||
#endif
|
||||
return nrow;
|
||||
}
|
||||
|
||||
int TSheet_field::set_row_cell(short id, int value, int nrow)
|
||||
{
|
||||
if (nrow < 0)
|
||||
nrow = first_empty();
|
||||
set_row_cell(row(nrow), id, value);
|
||||
#ifdef DBG
|
||||
const TToken_string & r = row(nrow);
|
||||
#endif
|
||||
return nrow;
|
||||
}
|
||||
|
||||
int TSheet_field::set_row_cell(short id, const real& value, int nrow)
|
||||
{
|
||||
if (nrow < 0)
|
||||
nrow = first_empty();
|
||||
set_row_cell(row(nrow), id, value);
|
||||
#ifdef DBG
|
||||
const TToken_string & r = row(nrow);
|
||||
#endif
|
||||
return nrow;
|
||||
}
|
||||
|
||||
int TSheet_field::set_row_cell(short id, const TDate& value, int nrow)
|
||||
{
|
||||
if (nrow < 0)
|
||||
nrow = first_empty();
|
||||
set_row_cell(row(nrow), id, value);
|
||||
#ifdef DBG
|
||||
const TToken_string & r = row(nrow);
|
||||
#endif
|
||||
return nrow;
|
||||
}
|
||||
|
||||
// Certified 100%
|
||||
// Ritorna l'indice della prima riga vuota dello sheet
|
||||
|
@ -18,6 +18,7 @@ class TRecord_array;
|
||||
class TRelation;
|
||||
#endif
|
||||
|
||||
|
||||
#define FIRST_FIELD 101
|
||||
#define K_ROWEDIT ( K_CTRL + 'I' )
|
||||
|
||||
@ -35,6 +36,7 @@ typedef bool (*SPREADSHEET_NOTIFY)(TSheet_field& s, int r, KEY k);
|
||||
// @type SHEET_USERGETPUT| Prototipo funzione utente che gestisce il caricamento/salvataggio dei dati dello sheet
|
||||
typedef void (*SHEET_USERGETPUT)(TSheet_field &fld_righe, int item);
|
||||
|
||||
int cid2index(short cid);
|
||||
// @doc EXTERNAL
|
||||
|
||||
// @class TSheet_field | Classe per la gestione dei campi di uno spreadsheet
|
||||
@ -42,113 +44,133 @@ typedef void (*SHEET_USERGETPUT)(TSheet_field &fld_righe, int item);
|
||||
// @base public | TMask_field
|
||||
class TSheet_field : public TLoadable_field
|
||||
{
|
||||
// @author:(INTERNAL) Guido
|
||||
// @author:(INTERNAL) Guido
|
||||
|
||||
// @cfriend TSpreadsheet
|
||||
friend class TSpreadsheet;
|
||||
// @cfriend TSpreadsheet
|
||||
friend class TSpreadsheet;
|
||||
|
||||
// @access:(INTERNAL) Private Member
|
||||
// @access:(INTERNAL) Private Member
|
||||
|
||||
// @cmember:(INTERNAL) Indica se aggiungere a fondo dello spreadsheet o nella riga in cui ti trovi
|
||||
bool _append;
|
||||
// @cmember:(INTERNAL) Indica se aggiungere a fondo dello spreadsheet o nella riga in cui ti trovi
|
||||
bool _append;
|
||||
|
||||
// @cmember:(INTERNAL) Separatore delle TToken_string
|
||||
char _separator;
|
||||
// @cmember:(INTERNAL) Separatore delle TToken_string
|
||||
char _separator;
|
||||
|
||||
// @cmember:(INTERNAL) Flag di autoload
|
||||
bool _enable_autoload;
|
||||
// @cmember:(INTERNAL) Campi di input sulla maschera (key field names)
|
||||
TToken_string _file_k_names;
|
||||
// @cmember:(INTERNAL) Campi di input sulla maschera (key field ids)
|
||||
TToken_string _file_k_ids;
|
||||
// @cmember:(INTERNAL) file delle righe
|
||||
TLocalisamfile * _sheetfile;
|
||||
// @cmember:(INTERNAL) record array delle righe
|
||||
TRecord_array* _linee_rec;
|
||||
// @cmember:(INTERNAL) indicatore di record array gestito esternamente
|
||||
bool _external_record;
|
||||
// @cmember:(INTERNAL) funzioni utente per get tra record (array) e array righe
|
||||
SHEET_USERGETPUT _userput;
|
||||
// @cmember:(INTERNAL) funzioni utente per put tra righe e record (array)
|
||||
SHEET_USERGETPUT _userget;
|
||||
// @cmember:(INTERNAL) Flag di autoload
|
||||
bool _enable_autoload;
|
||||
// @cmember:(INTERNAL) Campi di input sulla maschera (key field names)
|
||||
TToken_string _file_k_names;
|
||||
// @cmember:(INTERNAL) Campi di input sulla maschera (key field ids)
|
||||
TToken_string _file_k_ids;
|
||||
// @cmember:(INTERNAL) file delle righe
|
||||
TLocalisamfile * _sheetfile;
|
||||
// @cmember:(INTERNAL) record array delle righe
|
||||
TRecord_array* _linee_rec;
|
||||
// @cmember:(INTERNAL) indicatore di record array gestito esternamente
|
||||
bool _external_record;
|
||||
// @cmember:(INTERNAL) funzioni utente per get tra record (array) e array righe
|
||||
SHEET_USERGETPUT _userput;
|
||||
// @cmember:(INTERNAL) funzioni utente per put tra righe e record (array)
|
||||
SHEET_USERGETPUT _userget;
|
||||
|
||||
// @access Protected Member
|
||||
// @access Protected Member
|
||||
protected:
|
||||
// @cmember:(INTERNAL) Identificatore dell' ultima colonna dello sheet
|
||||
short _last_column_id;
|
||||
// @cmember:(INTERNAL) Identificatore dell' ultima colonna dello sheet
|
||||
short _last_column_id;
|
||||
|
||||
// @cmember Ritorna l'identificatore della classe
|
||||
virtual word class_id() const;
|
||||
|
||||
virtual bool is_kind_of(word cid) const;
|
||||
// @cmember Ritorna l'identificatore della classe
|
||||
virtual word class_id() const;
|
||||
|
||||
// @cmember Gestisce la chiamata all'handler del campo
|
||||
virtual bool on_hit();
|
||||
|
||||
// @cmember Legge la testata dello spreadsheet da <p scanner>
|
||||
virtual void parse_head(TScanner& scanner);
|
||||
// @cmember Legge gli item dello spreadsheet da <p scanner>
|
||||
virtual bool parse_item(TScanner& scanner);
|
||||
// @cmember Legge gli input (campi chiave) dello spreadsheet da <p scanner>
|
||||
void parse_input(TScanner& scanner);
|
||||
// @cmember Crea lo spreadsheet
|
||||
virtual void create(WINDOW parent);
|
||||
virtual bool is_kind_of(word cid) const;
|
||||
|
||||
// @cmember Setta il focus sul campo
|
||||
virtual void highlight() const;
|
||||
// @cmember Ricopia i campi della maschera nel record <p n>-esimo
|
||||
virtual void mask2row(int n, TToken_string & rec);
|
||||
// @cmember Ricopia i campi del record <p n>-esimo nella maschera
|
||||
virtual void row2mask(int n, TToken_string & rec, int mode = 0x3);
|
||||
// @cmember Permette di mettere il focus su una cella
|
||||
bool set_focus_cell(int riga, int colonna);
|
||||
// @cmember Gestisce la chiamata all'handler del campo
|
||||
virtual bool on_hit();
|
||||
|
||||
//Copy Costructor per impedire la duplicazione accidentale degli sheet
|
||||
TSheet_field(const TSheet_field& s): TLoadable_field(&s.mask()){CHECK(false, "Can't duplicate TSheet_field");}
|
||||
// @cmember Legge la testata dello spreadsheet da <p scanner>
|
||||
virtual void parse_head(TScanner& scanner);
|
||||
// @cmember Legge gli item dello spreadsheet da <p scanner>
|
||||
virtual bool parse_item(TScanner& scanner);
|
||||
// @cmember Legge gli input (campi chiave) dello spreadsheet da <p scanner>
|
||||
void parse_input(TScanner& scanner);
|
||||
// @cmember Crea lo spreadsheet
|
||||
virtual void create(WINDOW parent);
|
||||
|
||||
// @access Public Member
|
||||
// @cmember Setta il focus sul campo
|
||||
virtual void highlight() const;
|
||||
// @cmember Ricopia i campi della maschera nel record <p n>-esimo
|
||||
virtual void mask2row(int n, TToken_string & rec);
|
||||
// @cmember Ricopia i campi del record <p n>-esimo nella maschera
|
||||
virtual void row2mask(int n, TToken_string & rec, int mode = 0x3);
|
||||
// @cmember Permette di mettere il focus su una cella
|
||||
bool set_focus_cell(int riga, int colonna);
|
||||
//Copy Costructor per impedire la duplicazione accidentale degli sheet
|
||||
TSheet_field(const TSheet_field& s) : TLoadable_field(&s.mask()) { CHECK(false, "Can't duplicate TSheet_field"); }
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
// @cmember Permette di mettere il focus su una cella
|
||||
bool set_focus_cell_id(long rec, short cid);
|
||||
bool set_focus_cell_id(long rec, short cid);
|
||||
|
||||
// @cmember Gestisce la pressione del tasto (true se la gestione ha avuto successo)
|
||||
virtual bool on_key(KEY k);
|
||||
// @cmember Gestisce la pressione del tasto (true se la gestione ha avuto successo)
|
||||
virtual bool on_key(KEY k);
|
||||
|
||||
// @cmember Si, sono uno spreadsheet
|
||||
virtual bool is_sheet() const { return true; }
|
||||
virtual bool empty() const { return items() == 0; }
|
||||
// @cmember Si, sono uno spreadsheet
|
||||
virtual bool is_sheet() const { return true; }
|
||||
virtual bool empty() const { return items() == 0; }
|
||||
|
||||
// @cmember Legge automaticamente la linea dal record array assegnato
|
||||
virtual bool autoload_line(int i,const TRectype & rec);
|
||||
// @cmember Salva automaticamente la linea nel record array assegnato
|
||||
virtual bool autosave_line(int i,TRectype & rec);
|
||||
// @cmember Legge automaticamente la linea dal record array assegnato
|
||||
virtual bool autoload_line(int i, const TRectype & rec);
|
||||
// @cmember Salva automaticamente la linea nel record array assegnato
|
||||
virtual bool autosave_line(int i, TRectype & rec);
|
||||
|
||||
// @cmember Legge automaticamente lo sheet dal record array assegnato
|
||||
virtual bool autoload(const TRelation& r);
|
||||
// @cmember Salva automaticamente lo sheet nel record array assegnato
|
||||
virtual bool autosave(TRelation& r) ;
|
||||
// @cmember setta la funzione utente che Legge i campi dello sheet
|
||||
void set_userget(SHEET_USERGETPUT handler);
|
||||
// @cmember setta la funzione utente che scrive i campi dello sheet
|
||||
void set_userput(SHEET_USERGETPUT handler);
|
||||
// @cmember carica le chiavi del record array dello sheet
|
||||
TRectype * putkey(const TRelation& r);
|
||||
// @cmember restituisce il record array assegnato allo sheet
|
||||
TRecord_array * record() const {return _linee_rec;}
|
||||
// @cmember Imposta un record array esterno che contiene le righe dello sheet
|
||||
void set_lines_record(TRecord_array &);
|
||||
// @cmember Ritorna se il record assegnato è gestito esternamente (read/write/remove)
|
||||
bool external_record() const {return _external_record;}
|
||||
// @cmember Gestisce i campi della chiave
|
||||
void restart_key();
|
||||
TMask_field *get_key(TString & dbfieldname);
|
||||
// @cmember Legge automaticamente lo sheet dal record array assegnato
|
||||
virtual bool autoload(const TRelation& r);
|
||||
// @cmember Salva automaticamente lo sheet nel record array assegnato
|
||||
virtual bool autosave(TRelation& r);
|
||||
// @cmember setta la funzione utente che Legge i campi dello sheet
|
||||
void set_userget(SHEET_USERGETPUT handler);
|
||||
// @cmember setta la funzione utente che scrive i campi dello sheet
|
||||
void set_userput(SHEET_USERGETPUT handler);
|
||||
// @cmember carica le chiavi del record array dello sheet
|
||||
TRectype * putkey(const TRelation& r);
|
||||
// @cmember restituisce il record array assegnato allo sheet
|
||||
TRecord_array * record() const { return _linee_rec; }
|
||||
// @cmember Imposta un record array esterno che contiene le righe dello sheet
|
||||
void set_lines_record(TRecord_array &);
|
||||
// @cmember Ritorna se il record assegnato è gestito esternamente (read/write/remove)
|
||||
bool external_record() const { return _external_record; }
|
||||
// @cmember Gestisce i campi della chiave
|
||||
void restart_key();
|
||||
TMask_field *get_key(TString & dbfieldname);
|
||||
|
||||
// @cmember Ritorna una riga dello spreadsheet
|
||||
TToken_string& row(int n);
|
||||
// @cmember Ritorna un array con tutte le righe dello spreadsheet
|
||||
TString_array& rows_array() const;
|
||||
// @cmember Ritorna l'elemento <p c>-esimo della riga <p r>
|
||||
const char* cell(int r, int c) const;
|
||||
// @cmember Ritorna una riga dello spreadsheet
|
||||
TToken_string& row(int n);
|
||||
// @cmember Ritorna un array con tutte le righe dello spreadsheet
|
||||
TString_array& rows_array() const;
|
||||
// @cmember Ritorna l'elemento <p c>-esimo della riga <p r>
|
||||
const char* cell(int r, int c) const;
|
||||
|
||||
virtual void set_row_cell(TToken_string & row, short id, const char * value) { row.add(value, cid2index(id)); }
|
||||
virtual void set_row_cell(TToken_string & row, short id, char value) { row.add(value, cid2index(id)); }
|
||||
virtual void set_row_cell(TToken_string & row, short id, long value) { row.add(value, cid2index(id)); }
|
||||
virtual void set_row_cell(TToken_string & row, short id, int value) { row.add(value, cid2index(id)); }
|
||||
virtual void set_row_cell(TToken_string & row, short id, const real& value) { row.add(value, cid2index(id)); }
|
||||
virtual void set_row_cell(TToken_string & row, short id, const TDate& value) { row.add(value, cid2index(id)); }
|
||||
|
||||
virtual int set_row_cell(short id, const char * value, int nrow = -1);
|
||||
virtual int set_row_cell(short id, char value, int nrow = -1);
|
||||
virtual int set_row_cell(short id, long value, int nrow = -1);
|
||||
virtual int set_row_cell(short id, int value, int nrow = -1);
|
||||
virtual int set_row_cell(short id, const real& value, int nrow = -1);
|
||||
virtual int set_row_cell(short id, const TDate& value, int nrow = -1);
|
||||
|
||||
virtual const char * get_str_row_cell(int nrow, short id) { return row(nrow).get(); }
|
||||
virtual char get_char_row_cell(int nrow, short id) { return row(nrow).get_char(); }
|
||||
virtual long get_long_row_cell(int nrow, short id) { return row(nrow).get_long(); }
|
||||
virtual int get_int_row_cell(int nrow, short id) { return row(nrow).get_int(); }
|
||||
virtual real get_real_row_cell(int nrow, short id) { return real(row(nrow).get()); }
|
||||
virtual TDate get_date_row_cell(int nrow, short id) { return TDate(row(nrow).get()); }
|
||||
|
||||
char separator() const { return _separator; }
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user