From 83f4f9e0d7fe7fa1d525c107153c10246710e6af Mon Sep 17 00:00:00 2001 From: guy Date: Wed, 20 Oct 2010 12:46:31 +0000 Subject: [PATCH] Patch level : 10 Files correlati : Ricompilazione Demo : [ ] Commento : avanzamento lavori conversione dati hardy git-svn-id: svn://10.65.10.50/branches/R_10_00@21036 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ha/hacnv100.cpp | 288 +++++++++++++++++++++++++++-------------------- ha/hacnv100.h | 49 ++++---- ha/hacnv100a.h | 8 ++ ha/hacnv100a.ini | 29 +++++ ha/hacnv100a.uml | 47 +++++++- 5 files changed, 281 insertions(+), 140 deletions(-) diff --git a/ha/hacnv100.cpp b/ha/hacnv100.cpp index fcbe11673..270621eb6 100755 --- a/ha/hacnv100.cpp +++ b/ha/hacnv100.cpp @@ -264,7 +264,6 @@ bool THardy_transfer::test_write(TBaseisamfile& file) return err == NOERR; } - const TString& THardy_transfer::get_str(const char* field) const { return recordset().get(field).as_string(); @@ -364,11 +363,7 @@ THardy_transfer::~THardy_transfer() delete _recset; } -/////////////////////////////////////////////////////////// -// THardy_pag -/////////////////////////////////////////////////////////// - -void THardy_pag::aggiorna_record(TRectype& rec, const TString_array& lista_campi) +void THardy_transfer::aggiorna_record(TRectype& rec, const TString_array& lista_campi) { TString campo_dest, campo_orig, valore, str; @@ -378,37 +373,48 @@ void THardy_pag::aggiorna_record(TRectype& rec, const TString_array& lista_campi row->get(1, campo_orig); if (campo_orig.full()) { - valore = get_str(campo_orig); + if (campo_orig[0] == '_') + { + TToken_string elabora(campo_orig.mid(1),','); + const TString& str = elabora.get(); + if (str == "TAB") // formato _TAB, ,, + { + const TString4 tab = elabora.get(); // tabella da leggere + const TString80 campo = elabora.get(); + const TString16 codtab = get_str(campo); + const TString80 campotab = elabora.get(); + valore = cache().get(tab, codtab, campotab); + } + else if (str == "FISSO") + valore = elabora.get(); // valore fisso indicato in configurazione + } + else + valore = get_str(campo_orig); rec.put(campo_dest, valore); } } } +/////////////////////////////////////////////////////////// +// THardy_pag +/////////////////////////////////////////////////////////// + bool THardy_pag::trasferisci() { TString query = "SELECT * " "FROM dbo.Pagamenti "; - TRecordset& recset = create_recordset(query); - - TString str; - TConfig& ini = config(); TString_array lista_campi; ini.list_variables(lista_campi, true, "CPG", true); - TTable table("%CPG"); TRectype& rec = table.curr(); - THardy_iterator hi(this); while (++hi) { - const TString& codtab = get_str("IdPagamento"); rec.zero(); - rec.put("CODTAB", codtab); aggiorna_record(rec, lista_campi); - test_write(table); } return write_enabled(); @@ -418,45 +424,21 @@ bool THardy_pag::trasferisci() // THardy_iva /////////////////////////////////////////////////////////// -void THardy_iva::aggiorna_record(TRectype& rec, const TString_array& lista_campi) -{ - TString campo_dest, campo_orig, valore, str; - - FOR_EACH_ARRAY_ROW(lista_campi,i,row) - { - row->get(0, campo_dest); - row->get(1, campo_orig); - if (campo_orig.full()) - { - valore = get_str(campo_orig); - rec.put(campo_dest, valore); - } - } -} - bool THardy_iva::trasferisci() { TString query = "SELECT * " "FROM dbo.AliquoteIVA "; - TRecordset& recset = create_recordset(query); - - TString str; - TConfig& ini = config(); TString_array lista_campi; ini.list_variables(lista_campi, true, "IVA", true); - TTable table("%IVA"); TRectype& rec = table.curr(); - THardy_iterator hi(this); while (++hi) { - const TString& codtab = get_str("IdIva"); rec.zero(); - rec.put("CODTAB", codtab); aggiorna_record(rec, lista_campi); test_write(table); } @@ -467,45 +449,21 @@ bool THardy_iva::trasferisci() // THardy_catmerc /////////////////////////////////////////////////////////// -void THardy_catmerc::aggiorna_record(TRectype& rec, const TString_array& lista_campi) -{ - TString campo_dest, campo_orig, valore, str; - - FOR_EACH_ARRAY_ROW(lista_campi,i,row) - { - row->get(0, campo_dest); - row->get(1, campo_orig); - if (campo_orig.full()) - { - valore = get_str(campo_orig); - rec.put(campo_dest, valore); - } - } -} - bool THardy_catmerc::trasferisci() { TString query = "SELECT * " "FROM dbo.CategorieMerc "; - TRecordset& recset = create_recordset(query); - - TString str; - TConfig& ini = config(); TString_array lista_campi; ini.list_variables(lista_campi, true, "GMC", true); - TTable table("%GMC"); - TRectype& rec = table.curr(); - + TRectype& rec = table.curr(); THardy_iterator hi(this); while (++hi) { - const TString& codtab = get_str("IdCategoria"); rec.zero(); - rec.put("CODTAB", codtab); aggiorna_record(rec, lista_campi); test_write(table); } @@ -516,45 +474,21 @@ bool THardy_catmerc::trasferisci() // THardy_catfisc /////////////////////////////////////////////////////////// -void THardy_catfisc::aggiorna_record(TRectype& rec, const TString_array& lista_campi) -{ - TString campo_dest, campo_orig, valore, str; - - FOR_EACH_ARRAY_ROW(lista_campi,i,row) - { - row->get(0, campo_dest); - row->get(1, campo_orig); - if (campo_orig.full()) - { - valore = get_str(campo_orig); - rec.put(campo_dest, valore); - } - } -} - bool THardy_catfisc::trasferisci() { TString query = "SELECT * " "FROM dbo.CategorieFisc "; - TRecordset& recset = create_recordset(query); - - TString str; - TConfig& ini = config(); TString_array lista_campi; ini.list_variables(lista_campi, true, "ASF", true); - TTable table("%ASF"); TRectype& rec = table.curr(); - THardy_iterator hi(this); while (++hi) { - const TString& codtab = get_str("IdCategoria"); rec.zero(); - rec.put("CODTAB", codtab); aggiorna_record(rec, lista_campi); test_write(table); } @@ -565,22 +499,6 @@ bool THardy_catfisc::trasferisci() // THardy_ban /////////////////////////////////////////////////////////// -void THardy_ban::aggiorna_record(TRectype& rec, const TString_array& lista_campi) -{ - TString campo_dest, campo_orig, valore, str; - - FOR_EACH_ARRAY_ROW(lista_campi,i,row) - { - row->get(0, campo_dest); - row->get(1, campo_orig); - if (campo_orig.full()) - { - valore = get_str(campo_orig); - rec.put(campo_dest, valore); - } - } -} - bool THardy_ban::trasferisci() { bool ok = trasferisci_abi(); @@ -594,26 +512,20 @@ bool THardy_ban::trasferisci_abi() TString query = "SELECT * " "FROM dbo.Banche "; - TRecordset& recset = create_recordset(query); - - TString str; - - TConfig& ini = config(); + TConfig& ini = config(); TString_array lista_campi; ini.list_variables(lista_campi, true, "ABI", true); - TSystemisamfile table(LF_TABCOM); table.open(_lock); - TRectype& rec = table.curr(); - THardy_iterator hi(this); while (++hi) { TString16 codtab = get_str("IdBanca"); codtab.lpad(5,'0'); rec.zero(); + rec.put("COD", "BAN"); rec.put("CODTAB", codtab); aggiorna_record(rec, lista_campi); test_write(table); @@ -627,20 +539,13 @@ bool THardy_ban::trasferisci_cab() TString query = "SELECT * " "FROM dbo.Agenzie "; - TRecordset& recset = create_recordset(query); - - TString str; - TConfig& ini = config(); TString_array lista_campi; ini.list_variables(lista_campi, true, "CAB", true); - TSystemisamfile table(LF_TABCOM); table.open(_lock); - TRectype& rec = table.curr(); - THardy_iterator hi(this); while (++hi) { @@ -657,6 +562,116 @@ bool THardy_ban::trasferisci_cab() return write_enabled(); } +/////////////////////////////////////////////////////////// +// THardy_caucont +/////////////////////////////////////////////////////////// + +bool THardy_caucont::trasferisci() +{ + TString query = + "SELECT * " + "FROM dbo.CausaliContab "; + TRecordset& recset = create_recordset(query); + TConfig& ini = config(); + TString_array lista_campi; + ini.list_variables(lista_campi, true, "CAUCONT", true); + TSystemisamfile table(LF_CAUSALI); + table.open(_lock); + TRectype& rec = table.curr(); + THardy_iterator hi(this); + while (++hi) + { + rec.zero(); + aggiorna_record(rec, lista_campi); + test_write(table); + } + table.close(); + return write_enabled(); +} + +/////////////////////////////////////////////////////////// +// THardy_caumag +/////////////////////////////////////////////////////////// + +bool THardy_caumag::trasferisci() +{ + TString query = + "SELECT * " + "FROM dbo.CausaliMagaz "; + TRecordset& recset = create_recordset(query); + TConfig& ini = config(); + TString_array lista_campi; + ini.list_variables(lista_campi, true, "CAUMAG", true); + TTable table("%CAU"); + TRectype& rec = table.curr(); + THardy_iterator hi(this); + while (++hi) + { + rec.zero(); + aggiorna_record(rec, lista_campi); + test_write(table); + } + return write_enabled(); +} + +/////////////////////////////////////////////////////////// +// THardy_um +/////////////////////////////////////////////////////////// + +bool THardy_um::trasferisci() +{ + TString query = + "SELECT * " + "FROM dbo.UnitaMisura "; + TRecordset& recset = create_recordset(query); + TConfig& ini = config(); + TString_array lista_campi; + ini.list_variables(lista_campi, true, "UM", true); + TTable table("%UMS"); + TRectype& rec = table.curr(); + THardy_iterator hi(this); + while (++hi) + { + rec.zero(); + aggiorna_record(rec, lista_campi); + test_write(table); + } + return write_enabled(); +} + +/////////////////////////////////////////////////////////// +// THardy_art +/////////////////////////////////////////////////////////// + +bool THardy_art::trasferisci() +{ + TString query = + "SELECT * " + "FROM dbo.Articoli "; + TRecordset& recset = create_recordset(query); + TConfig& ini = config(); + TString_array lista_campi_anamag, lista_campi_umart; + ini.list_variables(lista_campi_anamag, true, "ANAMAG", true); + ini.list_variables(lista_campi_umart, true, "UMART", true); + TSystemisamfile anamag(LF_ANAMAG); + anamag.open(_lock); + TRectype& rec_anamag = anamag.curr(); + TSystemisamfile umart(LF_UMART); + umart.open(_lock); + TRectype& rec_umart = umart.curr(); + THardy_iterator hi(this); + while (++hi) + { + aggiorna_record(rec_anamag, lista_campi_anamag); + test_write(anamag); + aggiorna_record(rec_umart, lista_campi_umart); + test_write(umart); + } + anamag.close(); + umart.close(); + return write_enabled(); +} + /////////////////////////////////////////////////////////// // TImportazioneHardy_mask /////////////////////////////////////////////////////////// @@ -747,6 +762,39 @@ void TImportazioneHardy_mask::trasferisci() book.add(log); rep_to_print = true; } + if (go_on && get_bool(F_CAUCONT)) + { + THardy_caucont pc; + pc.init(TR("Causali contabili"), query_header, log); + go_on = pc.trasferisci(); + book.add(log); + rep_to_print = true; + } + if (go_on && get_bool(F_CAUMAG)) + { + THardy_caumag pc; + pc.init(TR("Causali magazzino"), query_header, log); + go_on = pc.trasferisci(); + book.add(log); + rep_to_print = true; + } + + if (go_on && get_bool(F_UM)) + { + THardy_um pc; + pc.init(TR("Unità di misura"), query_header, log); + go_on = pc.trasferisci(); + book.add(log); + rep_to_print = true; + } + if (go_on && get_bool(F_ARTICOLI)) + { + THardy_art pc; + pc.init(TR("Articoli"), query_header, log); + go_on = pc.trasferisci(); + book.add(log); + rep_to_print = true; + } if (rep_to_print && book.pages() > 0) book.preview(); diff --git a/ha/hacnv100.h b/ha/hacnv100.h index 84a542add..cf1777b4a 100755 --- a/ha/hacnv100.h +++ b/ha/hacnv100.h @@ -56,6 +56,7 @@ protected: THardy_transfer(); virtual bool trasferisci() pure; + void aggiorna_record(TRectype& rec, const TString_array& lista_campi); public: void init(const char* rh, const char* qh, THardy_log& log); @@ -125,44 +126,26 @@ public: // Trasferimenti veri e propri /////////////////////////////////////////////////////////// -class THardy_conti : public THardy_transfer -{ -public: - virtual bool trasferisci(); -}; - class THardy_pag : public THardy_transfer { -protected: - void aggiorna_record(TRectype& rec, const TString_array& lista_campi); - public: virtual bool trasferisci(); }; class THardy_iva : public THardy_transfer { -protected: - void aggiorna_record(TRectype& rec, const TString_array& lista_campi); - public: virtual bool trasferisci(); }; class THardy_catmerc : public THardy_transfer { -protected: - void aggiorna_record(TRectype& rec, const TString_array& lista_campi); - public: virtual bool trasferisci(); }; class THardy_catfisc : public THardy_transfer { -protected: - void aggiorna_record(TRectype& rec, const TString_array& lista_campi); - public: virtual bool trasferisci(); }; @@ -170,7 +153,6 @@ public: class THardy_ban : public THardy_transfer { protected: - void aggiorna_record(TRectype& rec, const TString_array& lista_campi); bool trasferisci_abi(); bool trasferisci_cab(); @@ -178,6 +160,35 @@ public: virtual bool trasferisci(); }; +class THardy_caucont : public THardy_transfer +{ +public: + virtual bool trasferisci(); +}; + +class THardy_caumag : public THardy_transfer +{ +public: + virtual bool trasferisci(); +}; + +class THardy_um : public THardy_transfer +{ +public: + virtual bool trasferisci(); +}; + +class THardy_art : public THardy_transfer +{ +public: + virtual bool trasferisci(); +}; + +class THardy_conti : public THardy_transfer +{ +public: + virtual bool trasferisci(); +}; /* class THardy_clifo : public THardy_transfer diff --git a/ha/hacnv100a.h b/ha/hacnv100a.h index b91bcb0f4..24f447176 100755 --- a/ha/hacnv100a.h +++ b/ha/hacnv100a.h @@ -12,6 +12,14 @@ #define F_CAUCONT 116 #define F_CAUMAG 117 #define F_CAUCESP 118 +#define F_UM 119 +#define F_CLI 151 +#define F_FOR 152 +#define F_PCON 153 +#define F_ARTICOLI 154 +#define F_LISTINI 155 +#define F_CONTRATTI 156 +#define F_AGENTI 157 #define F_DSN 201 #define F_USR 202 diff --git a/ha/hacnv100a.ini b/ha/hacnv100a.ini index a55737e69..f661c0516 100755 --- a/ha/hacnv100a.ini +++ b/ha/hacnv100a.ini @@ -1,5 +1,6 @@ // tabella condizioni di pagamento = Pagamenti [CPG] +CODTAB=IdPagamento S0=DsPagamento S1= S3= @@ -20,6 +21,7 @@ RI=8 // tabella codici IVA = AliquoteIVA [IVA] +CODTAB=IdIva S0=DsIvaEstesa S1= S2= @@ -54,10 +56,12 @@ B4= // tabella gruppi merceologici = CategorieMerc [GMC] +CODTAB=IdCategoria S0=DsCategoria // tabella classi fiscali = CategorieFisc [ASF] +CODTAB=IdCategoria S0=DsCategoria // tabella Banche ABI = Banche @@ -68,8 +72,28 @@ S0=DsBanca S0=DsDocumento [CAUCONT] +CODCAUS=IdCausale +DESCR=DsCausaleEstesa + +[CAUMAG] +CODTAB=IdCausale S0=DsCausaleEstesa +[UM] +CODTAB=IdUm +S0=DsUm + +[ANAMAG] +CODART=IdProdotto +DESCR=DsProdotto +CODIVA=IdIva +GRMERC=IdCategoria + +[UMART] +CODART=IdProdotto +NRIGA=_FISSO,1 +UM=IdUM1 + [CLIFO] RAGSOC = _STREXPR,LEFT(TradeName1+" "+TradeName2; 50) INDCF = Address @@ -260,3 +284,8 @@ PERCSPINC= [TIPODOC] 20 = B01 DDT C/RIP = BOF + +[Main] +201 = hardy +202 = +203 = diff --git a/ha/hacnv100a.uml b/ha/hacnv100a.uml index d263b7cbd..fab8dee0a 100755 --- a/ha/hacnv100a.uml +++ b/ha/hacnv100a.uml @@ -29,7 +29,7 @@ BEGIN FLAGS "D" END -GROUPBOX DLG_NULL 78 6 +GROUPBOX DLG_NULL 78 7 BEGIN PROMPT 1 4 "@bTabelle" END @@ -74,6 +74,51 @@ BEGIN PROMPT 32 8 "Causali cespiti" END +BOOLEAN F_UM +BEGIN + PROMPT 2 9 "Unità di misura" +END + +GROUPBOX DLG_NULL 78 6 +BEGIN + PROMPT 1 11 "@bArchivi" +END + +BOOLEAN F_CLI +BEGIN + PROMPT 2 12 "Clienti" +END + +BOOLEAN F_FOR +BEGIN + PROMPT 2 13 "Fornitori" +END + +BOOLEAN F_PCON +BEGIN + PROMPT 2 14 "Piano dei conti" +END + +BOOLEAN F_ARTICOLI +BEGIN + PROMPT 2 15 "Articoli" +END + +BOOLEAN F_LISTINI +BEGIN + PROMPT 32 12 "Listini" +END + +BOOLEAN F_CONTRATTI +BEGIN + PROMPT 32 13 "Contratti" +END + +BOOLEAN F_AGENTI +BEGIN + PROMPT 32 14 "Agenti" +END + ENDPAGE PAGE "Configurazione" -1 -1 78 18