From fa19658f814e4595406497d0bd679de71453cb03 Mon Sep 17 00:00:00 2001 From: luca Date: Mon, 22 Jun 2009 11:13:46 +0000 Subject: [PATCH] =?UTF-8?q?Patch=20level=20=20=20=20=20=20=20=20=20:10.0?= =?UTF-8?q?=20354=20Files=20correlati=20=20=20=20=20:=20Ricompilazione=20D?= =?UTF-8?q?emo=20:=20[=20]=20Commento=20=20=20=20=20=20=20=20=20=20=20=20:?= =?UTF-8?q?=200001375:=20Tabelle=20di=20ripartizione=20Descrizione=20=20Du?= =?UTF-8?q?rante=20l'inserimento=20delle=20tabelle=20di=20ripartizione=20,?= =?UTF-8?q?=20l'utente=20=C3=A8=20costretto=20ad=20inserire=20il=20n.=20pr?= =?UTF-8?q?ogressivo,=20mentre=20invece=20dovrebbe=20essere=20creato=20da?= =?UTF-8?q?=20una=20numerazione=20automatica.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://10.65.10.50/trunk@19063 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ca/ca0800.cpp | 23 +++++++++++++++++++++++ ca/ca0800a.h | 30 +++++++++++++++--------------- 2 files changed, 38 insertions(+), 15 deletions(-) diff --git a/ca/ca0800.cpp b/ca/ca0800.cpp index 5d89935eb..e6ebbdeee 100755 --- a/ca/ca0800.cpp +++ b/ca/ca0800.cpp @@ -295,6 +295,7 @@ protected: virtual int write(const TMask& m); virtual int rewrite(const TMask& m); virtual int read(TMask& m); + virtual bool get_next_key(TToken_string& key); virtual TRelation* get_relation() const { return _rel; } 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) { const int err = TRelation_application::write(m); diff --git a/ca/ca0800a.h b/ca/ca0800a.h index 88b1a0c99..1c3155741 100755 --- a/ca/ca0800a.h +++ b/ca/ca0800a.h @@ -1,24 +1,24 @@ -#define F_TIPO 101 -#define F_CODICE_I 102 -#define F_CODICE_B 103 +#define F_TIPO 301 +#define F_CODICE_I 302 +#define F_CODICE_B 303 //le define commentate per ora non servono ma in futuro forse si (segnaposto) //#define F_CODICE_P 104 //#define F_CODICE_C 105 -#define F_DESCRIZ_I 106 -#define F_DESCRIZ_B 107 +#define F_DESCRIZ_I 306 +#define F_DESCRIZ_B 307 //#define F_DESCRIZ_P 108 //#define F_DESCRIZ_C 109 -#define F_TIPORIP 110 -#define F_LEVEL_1 111 -#define F_LEVEL_2 112 +#define F_TIPORIP 310 +#define F_LEVEL_1 311 +#define F_LEVEL_2 312 -#define F_GRUPPO 113 -#define F_CONTO 114 -#define F_SOTTOCONTO 115 -#define F_DESCR 116 -#define F_ANNOES 117 -#define F_INDBIL 118 -#define F_CLASSEMOV 119 +#define F_GRUPPO 313 +#define F_CONTO 314 +#define F_SOTTOCONTO 315 +#define F_DESCR 316 +#define F_ANNOES 317 +#define F_INDBIL 318 +#define F_CLASSEMOV 319 #define F_CODCDC_1 121 #define F_CODCDC_2 122