Patch level :10.0 354

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
0001375: Tabelle di ripartizione
Descrizione  Durante l'inserimento delle tabelle di ripartizione , l'utente è costretto ad inserire il n. progressivo, mentre invece dovrebbe essere creato da una numerazione automatica.


git-svn-id: svn://10.65.10.50/trunk@19063 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2009-06-22 11:13:46 +00:00
parent d70ad643d8
commit fa19658f81
2 changed files with 38 additions and 15 deletions

View File

@ -295,6 +295,7 @@ protected:
virtual int write(const TMask& m); virtual int write(const TMask& m);
virtual int rewrite(const TMask& m); virtual int rewrite(const TMask& m);
virtual int read(TMask& m); virtual int read(TMask& m);
virtual bool get_next_key(TToken_string& key);
virtual TRelation* get_relation() const { return _rel; } virtual TRelation* get_relation() const { return _rel; }
virtual TMask* get_mask(int) { return _msk; } virtual TMask* get_mask(int) { return _msk; }
@ -400,6 +401,28 @@ void TRiparti_app::read_rows()
} }
} }
bool TRiparti_app::get_next_key(TToken_string& key)
{
long num = 1;
const char tipo = _msk->get(F_TIPO)[0];
TString query;
query << "USE RIP\nFROM TIPO=" << tipo << "\nTO TIPO=" << tipo;
TISAM_recordset rip_recset(query);
const long items = rip_recset.items();
if (rip_recset.move_last())
num += rip_recset.get(RIP_CODICE).as_int();
//la scelta del campo della maschera su cui scrivere dipende dal tipo di ripartizione scelta nel radiobutton dei tipi
long codice = F_CODICE_I;
if (tipo == 'B')
codice = F_CODICE_B;
key.format("%d|%c|%d|%ld", F_TIPO, tipo, codice, num);
return true;
}
int TRiparti_app::write(const TMask& m) int TRiparti_app::write(const TMask& m)
{ {
const int err = TRelation_application::write(m); const int err = TRelation_application::write(m);

View File

@ -1,24 +1,24 @@
#define F_TIPO 101 #define F_TIPO 301
#define F_CODICE_I 102 #define F_CODICE_I 302
#define F_CODICE_B 103 #define F_CODICE_B 303
//le define commentate per ora non servono ma in futuro forse si (segnaposto) //le define commentate per ora non servono ma in futuro forse si (segnaposto)
//#define F_CODICE_P 104 //#define F_CODICE_P 104
//#define F_CODICE_C 105 //#define F_CODICE_C 105
#define F_DESCRIZ_I 106 #define F_DESCRIZ_I 306
#define F_DESCRIZ_B 107 #define F_DESCRIZ_B 307
//#define F_DESCRIZ_P 108 //#define F_DESCRIZ_P 108
//#define F_DESCRIZ_C 109 //#define F_DESCRIZ_C 109
#define F_TIPORIP 110 #define F_TIPORIP 310
#define F_LEVEL_1 111 #define F_LEVEL_1 311
#define F_LEVEL_2 112 #define F_LEVEL_2 312
#define F_GRUPPO 113 #define F_GRUPPO 313
#define F_CONTO 114 #define F_CONTO 314
#define F_SOTTOCONTO 115 #define F_SOTTOCONTO 315
#define F_DESCR 116 #define F_DESCR 316
#define F_ANNOES 117 #define F_ANNOES 317
#define F_INDBIL 118 #define F_INDBIL 318
#define F_CLASSEMOV 119 #define F_CLASSEMOV 319
#define F_CODCDC_1 121 #define F_CODCDC_1 121
#define F_CODCDC_2 122 #define F_CODCDC_2 122