From 88f1d0b7e9d6789ca4c66e5916265df7940047d7 Mon Sep 17 00:00:00 2001 From: bonazzi Date: Sun, 24 Sep 2017 21:03:35 +0000 Subject: [PATCH] Patch level : 12.0 440 Files correlati : cg1.exe Programma di aggiornamento tipo documento in prima nota git-svn-id: svn://10.65.10.50/branches/R_10_00@24104 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- src/cg/cg1300.cpp | 7 +++++++ src/cg/cg1313.cpp | 51 +++++++++++++++++++++++++++++++++++++++++++++++ src/cg/cg1313.h | 11 ++++++++++ src/cg/cgmenu.men | 3 ++- 4 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 src/cg/cg1313.cpp create mode 100644 src/cg/cg1313.h diff --git a/src/cg/cg1300.cpp b/src/cg/cg1300.cpp index 74a876d5b..51fdb2a7e 100755 --- a/src/cg/cg1300.cpp +++ b/src/cg/cg1300.cpp @@ -13,6 +13,7 @@ #include "cg1304.h" #include "cg1305.h" #include "cg1306.h" +#include "cg1313.h" #include "cglib01.h" @@ -113,6 +114,12 @@ int cg1300(int argc, char* argv[]) a.run(argc, argv,TR("Aggiornamento codice esercizio")); } break; + case 'F': + { + TAgg_tipodoc a; + a.run(argc, argv,TR("Aggiornamento Tipo documento")); + } + break; case 'I': agg_opintra(argc, argv); break; case 'L': controlla_PIVA(argc, argv); break; // cg1309 case 'P': diff --git a/src/cg/cg1313.cpp b/src/cg/cg1313.cpp new file mode 100644 index 000000000..91a5674a1 --- /dev/null +++ b/src/cg/cg1313.cpp @@ -0,0 +1,51 @@ +// sistema la data di competenza di tutti i movimenti + +#include +#include + +#include "cg1300.h" +#include "cg1313.h" +#include "cg2103.h" + +#include + +inline TAgg_tipodoc& app() { return (TAgg_tipodoc&) main_app(); } + +void TAgg_tipodoc::main_loop() +{ + if (set_firm()) + aggiorna_tipodoc(); +} + +void TAgg_tipodoc::aggiorna_tipodoc() +{ + TLocalisamfile mov(LF_MOV); + long nrecs = (long) mov.eod(); + long modified_recs = 0L; + TString16 tipodoc; + TString16 codcaus; + int year; + int err = NOERR; + TProgind p(nrecs, TR("Aggiornamento in corso..."), TRUE, TRUE, 100); + + for (mov.first(); !mov.eof() && err == NOERR; mov.next()) + { + p.addstatus(1); + tipodoc = mov.get(MOV_TIPODOC); + codcaus = mov.get(MOV_CODCAUS); + year = mov.get_int(MOV_ANNOES); + const TCausale & caus = cached_causale(codcaus, year); + const TString & caustipodoc = caus.tipodoc(); + if (tipodoc != caustipodoc) + { + mov.put(MOV_TIPODOC, caustipodoc); + err = mov.rewrite(); + modified_recs++; + } + } + + if (err != NOERR) + warning_box(FR("Aggiornamento codice esercizio interrotta. Rilevato errore %d in riscrittura"),err); + else + message_box(FR("Aggiornamento data competenza completata. Modificati %ld movimenti."),modified_recs); +} diff --git a/src/cg/cg1313.h b/src/cg/cg1313.h new file mode 100644 index 000000000..9dee41a55 --- /dev/null +++ b/src/cg/cg1313.h @@ -0,0 +1,11 @@ +#include + +class TAgg_tipodoc : public TSkeleton_application +{ + void aggiorna_tipodoc(); +public: + virtual void main_loop(); + + TAgg_tipodoc() {}; + virtual ~TAgg_tipodoc() {}; +}; diff --git a/src/cg/cgmenu.men b/src/cg/cgmenu.men index 1cba102b3..43e5da18e 100755 --- a/src/cg/cgmenu.men +++ b/src/cg/cgmenu.men @@ -171,7 +171,8 @@ Item_11 = "Controllo P.I. e C.F. clienti/fornitori", "cg1 -2 L", "FP" Item_12 = "Allineamento IBAN su Banche x Cliente", "cg1 -2 B", "FP" Item_13 = "Controllo integrità archivi", "cg1 -2 X", "F" Item_14 = "Ricostruzione IVA differita", "cg1 -2 V", "F" -Item_15 = "Collegamento bilanci", [CGMENU_025] +Item_15 = "Aggiornamento Tipo Documento", "cg1 -2 F", "F" +Item_16 = "Collegamento bilanci", [CGMENU_025] [CGMENU_019] Caption = "Invio"