From 4e3135d3e52ae0e8b247fb97aa719c2e828a54c0 Mon Sep 17 00:00:00 2001 From: luca Date: Fri, 6 Feb 2009 16:32:31 +0000 Subject: [PATCH] Patch level :10.0 Files correlati : Ricompilazione Demo : [ ] Commento :personalizzazione suore spostata nel programma pd6142 git-svn-id: svn://10.65.10.50/trunk@18216 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/cgp0.cpp | 18 -- cg/cgp0.h | 6 - cg/cgp0.men | 7 - cg/cgp0100.cpp | 429 ------------------------------------------------ cg/cgp0100a.h | 10 -- cg/cgp0100a.uml | 92 ----------- 6 files changed, 562 deletions(-) delete mode 100755 cg/cgp0.cpp delete mode 100755 cg/cgp0.h delete mode 100755 cg/cgp0.men delete mode 100755 cg/cgp0100.cpp delete mode 100755 cg/cgp0100a.h delete mode 100755 cg/cgp0100a.uml diff --git a/cg/cgp0.cpp b/cg/cgp0.cpp deleted file mode 100755 index e6032aa31..000000000 --- a/cg/cgp0.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include -#include - -#include "cgp0.h" - -int main(int argc,char** argv) -{ - const int n = (argc > 1) ? atoi(&argv[1][1]) : 0; - - switch(n) - { - case 0: - cgp0100(argc, argv); break; - default: - error_box("Usage: cgp0 -0");break; - } - return 0; -} diff --git a/cg/cgp0.h b/cg/cgp0.h deleted file mode 100755 index 5d4a4a285..000000000 --- a/cg/cgp0.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef __CGP0_H -#define __CGP0_H - -int cgp0100(int argc, char** argv); - -#endif // __CGP0_H diff --git a/cg/cgp0.men b/cg/cgp0.men deleted file mode 100755 index 120f53578..000000000 --- a/cg/cgp0.men +++ /dev/null @@ -1,7 +0,0 @@ -[PRASSICGP_001] -Caption = "Personalizzazioni" -Picture = -Module = 0 -Flags = "" -Item_01 = "Liquidazione riepilogativa IVA", "cgp0 -0", "" - diff --git a/cg/cgp0100.cpp b/cg/cgp0100.cpp deleted file mode 100755 index eed41f1ed..000000000 --- a/cg/cgp0100.cpp +++ /dev/null @@ -1,429 +0,0 @@ -// cgp0100.cpp Programma personalizzato per Istituto Suore: Liquidazione riepilogativa IVA -// Che cosa fa: -// prende un serie di codici ditta in input, piu' un anno ed un mese (da 1 a 13) -// e copia tutti i movimenti (mov, rmoviva) in una unica ditta ricevente. -// (il mese 13 copia tutti i movimenti dell'anno). - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "cgp0100a.h" - -// La parte di selezione delle ditte e' tratta dal programma di liquidazione IVA (cg4300.cpp) -class TCopia_movimenti : public TApplication -{ - TArray_sheet *_ditte; // Array sheet delle ditte selezionabili - TLocalisamfile *_nditte; // File delle ditte - TTable *_lia; // Tabella LIA per controllare i parametri liquidazione - long _rcv_firm, // Ditta ricevente - _firm; // Ditta iniziale, da ripristinare alla fine di tutto - int _anno; // Anno da copiare - int _mese; // Mese da copiare (13 == tutti) -protected: - virtual bool menu(MENU_TAG) ; - static bool fr_ditt_handler(TMask_field& f, KEY key); - static bool to_ditt_handler(TMask_field& f, KEY key); - static bool select_button (TMask_field& f, KEY key); - static bool reset_button (TMask_field& f, KEY key); - static bool firm_handler (TMask_field& f, KEY key); - static TCopia_movimenti& app() { return (TCopia_movimenti&)main_app(); } - -public: - virtual bool create(); - virtual bool destroy(); - TArray_sheet* get_ditte_sheet() { return _ditte; } - bool look_lia(long codditta, int anno); - long select_firm_range(long from, long to); - void build_ditte_sheet(); - void reset_choices(TMask&); - void set_choice_limits(TMask&); - void copia_mov(); - - TCopia_movimenti() {}; - virtual ~TCopia_movimenti() {}; -}; - -bool TCopia_movimenti::look_lia(long ditta, int year) -{ - if (year == 0) year = _anno; - if (ditta == 0l) ditta = get_firm(); - TString16 y; y.format("%05ld%04d", ditta, year); - - _lia->zero(); - _lia->put("CODTAB", y); - _lia->read(); - return _lia->good(); -} - -bool TCopia_movimenti::firm_handler(TMask_field& f, KEY k) -{ - if (k == K_ENTER && f.to_check(k)) - { - const long codditta = atol(f.get()); - const int anno = f.mask().get_int(F_ANNO); - if (!prefix().exist(codditta)) - return f.error_box("La ditta specificata non e' abilitata in contabilita'."); - if (!app().look_lia(codditta,anno)) - return f.error_box("Non esistono i parametri di liquidazione per la ditta specificata."); - } - if (k == K_TAB && f.to_check(k)) - { - const long codditta = atol(f.get()); - TArray_sheet* s = app()._ditte; - const long items = s->items(); - for (long j=0;jrow(j).get_long(1); - if (ditta == codditta) - { - s->uncheck(j); - s->disable_row(j); - } - else - if (ditta == app()._rcv_firm) - s->enable_row(j); - } - app()._rcv_firm = codditta; - app().set_choice_limits(f.mask()); - } - return TRUE; -} - -bool TCopia_movimenti::to_ditt_handler(TMask_field& f, KEY key) -{ - TMask& m = f.mask(); - if (key == K_F9) - { - TArray_sheet* sh = app().get_ditte_sheet(); - - sh->disable_check(); - sh->disable(DLG_USER); - if (sh->run() == K_ENTER) - { - app().select_firm_range(m.get_long(F_DFR),sh->row(sh->selected()).get_long(1)); - app().set_choice_limits(m); - } - sh->enable(DLG_USER); - } - if (key == K_TAB && f.focusdirty()) - { - const long l = app().select_firm_range(m.get_long(F_DFR), m.get_long(F_DTO)); - app().set_choice_limits(m); - m.set(F_SELECTED, l); - } - return TRUE; -} - -bool TCopia_movimenti::fr_ditt_handler(TMask_field& f, KEY key) -{ - TMask& m = f.mask(); - if (key == K_F9) - { - TMask& m = f.mask(); - TArray_sheet* sh = app().get_ditte_sheet(); - - sh->disable_check(); - sh->disable(DLG_USER); - if (sh->run() == K_ENTER) - { - app().select_firm_range(sh->row(sh->selected()).get_long(1), m.get_long(F_DTO)); - app().set_choice_limits(m); - } - sh->enable(DLG_USER); - } - else if (key == K_TAB && f.focusdirty()) - { - const long l = app().select_firm_range(m.get_long(F_DFR), m.get_long(F_DTO)); - app().set_choice_limits(m); - m.set(F_SELECTED, l); - } - return TRUE; -} - -void TCopia_movimenti::set_choice_limits(TMask& m) -{ - long first = -1l, last = -1l; - const long items = _ditte->items(); - for (long i = 0; i < items; i++) - { - if (_ditte->checked(i)) - { - const long dit = _ditte->row(i).get_long(1); - if (first == -1l) first = dit; - if (last < dit) last = dit; - } - } - if (first != -1) m.set(F_DFR, first); - if (last != -1) m.set(F_DTO, last); - m.set(F_SELECTED, _ditte->checked()); -} - -void TCopia_movimenti::reset_choices(TMask& m) -{ - m.reset(F_SELECTED); - m.reset(F_DFR); - m.reset(F_DTO); - _ditte->check(-1, FALSE); -} - -long TCopia_movimenti::select_firm_range(long from, long to) -{ - if (to == 0l) to = 99999L; - const long items = _ditte->items(); - for (long i = 0; i < items; i++) - { - if (_ditte->row_disabled(i)) - continue; - - const long cod = _ditte->row(i).get_long(1); - if (cod >= from && cod <= to) - _ditte->check(i); - else - _ditte->uncheck(i); - } - return _ditte->checked(); -} - -void TCopia_movimenti::build_ditte_sheet() -{ - // ricostruisce l'array_sheet delle ditte slezionabili - _ditte->destroy(); - TLocalisamfile& dt = *_nditte; - - for (dt.first(); !dt.eof(); dt.next()) - { - TToken_string* d = new TToken_string(64); - d->add(" "); - d->add(dt.get(NDT_CODDITTA)); - d->add(dt.get(NDT_RAGSOC)); - const long pos = _ditte->add(d); - if (prefix().exist(dt.get_long(NDT_CODDITTA))) - _ditte->enable_row(pos); - else - _ditte->disable_row(pos); - } -} - -bool TCopia_movimenti::select_button(TMask_field& f, KEY key) -{ - if (key == K_SPACE) - { - app()._ditte->enable_check(); - // seleziona e aggiungi alle gia' selezionate - if (app()._ditte->run() == K_ENTER) - app().set_choice_limits(f.mask()); - } - return TRUE; -} - -bool TCopia_movimenti::reset_button(TMask_field& f, KEY key) -{ - if (key == K_SPACE) - app().reset_choices(f.mask()); - return TRUE; -} - -bool TCopia_movimenti::menu(MENU_TAG m) -{ - TMask msk("cgp0100a"); - msk.set_handler(F_DFR, fr_ditt_handler); - msk.set_handler(F_DTO, to_ditt_handler); - msk.set_handler(F_RCVFIRM, firm_handler); - msk.set_handler(FBUT_SELECT,select_button); - msk.set_handler(FBUT_RESET,reset_button); - KEY k; - do - { - k = msk.run(); - if (k == K_ENTER) - { - if (msk.get_int(F_SELECTED) == 0) - { - error_box("Selezionare le ditte invianti."); - continue; - } - _anno = msk.get_int(F_ANNO); - _mese = msk.get_int(F_MESE); - _rcv_firm = msk.get_long(F_RCVFIRM); - if (yesno_box("E' stata selezionata la ditta %ld come ditta ricevente. Continuo?",_rcv_firm)) - { - copia_mov(); - message_box("Copia movimenti completata."); - } - } - } while(k == K_ENTER); - - return FALSE; -} - -void TCopia_movimenti::copia_mov() -{ - TFilename t1,t2; - t1.tempdir(); - t1.insert("%"); - t2 = t1; - t1 << "/tmov"; - t2 << "/trmoviva"; - - long numreg = 0L; // numero di registrazione progressivo - long count = 0L; // numero di items (mov+rmoviva) totali - TIsamtempfile tmov(LF_MOV,t1,TRUE); - TIsamtempfile trmoviva(LF_RMOVIVA,t2,TRUE); - tmov.set_autodel(); - trmoviva.set_autodel(); - int err=NOERR; - { - set_firm(_ditte->row(0).get_long(1)); // Per evitare fastidiosi fatal in caso non sia settata nemmeno una ditta - - TLocalisamfile m(LF_MOV); // necessario per allocare i records - TRectype from(LF_MOV),to(LF_MOV); - TDate inizio(1,_mese == 13 ? 1 : _mese,_anno); - TDate fine(inizio); - - if (_mese == 13) fine.set_month(12); - fine.set_end_month(); - from.put(MOV_DATAREG,inizio); - to.put(MOV_DATAREG,fine); - TRelation rel(LF_MOV); - rel.add(LF_RMOVIVA,"NUMREG=NUMREG"); - TCursor cur(&rel,"",2,&from,&to); - - const long items = _ditte->items(); - - TProgind p(items,"Copia movimenti ditte...", FALSE,TRUE); - TString msg; - - for (long i=0; ichecked(i)) - { - const long codditta = _ditte->row(i).get_long(1); - set_firm(codditta); - msg.format("Copia movimenti ditta %ld in corso...",codditta); - p.setstatus(i); - p.set_text(msg); - const TRecnotype recs = cur.items(); - for (TRecnotype j=0; j 0) - { - set_firm(_rcv_firm); // setta la ditta ricevente - // Zappa i files - { - TDir d; - d.get(LF_MOV); - d.eod() = 0L; - d.put(LF_MOV); - d.get(LF_RMOVIVA); - d.eod() = 0L; - d.put(LF_RMOVIVA); - TSystemisamfile m(LF_MOV),r(LF_RMOVIVA); - err = m.pack(); - if (err == NOERR) - err = r.pack(); - } - if (err == NOERR) - { - TIsamfile mov(LF_MOV); - TIsamfile rmoviva(LF_RMOVIVA); - - err = mov.open(_excllock); - if (err == NOERR) - err = rmoviva.open(_excllock); - if (err == NOERR) // Scrive sui files della ditta ricevente - { - long j=0L; - TProgind p(count,"Trasferimento movimenti...",FALSE,TRUE); - for (tmov.first(); tmov.good(); tmov.next()) - { - p.setstatus(j++); - mov.write(tmov.curr()); - } - for (trmoviva.first(); trmoviva.good(); trmoviva.next()) - { - p.setstatus(j++); - rmoviva.write(trmoviva.curr()); - } - } - else - error_box("Errore %d tentando di aprire in modo esclusivo i files della ditta ricevente",err); - } - else - error_box("Errore %d azzerando i files della ditta ricevente",err); - } - - // Il distruttore di TIsamtempfile rimuove i files temporanei automaticamente - // dato che e' stato settato l'apposito flag - set_firm(_firm); // ripristina la ditta -} - -bool TCopia_movimenti::create() -{ - _ditte = new TArray_sheet(-1, -1, -4, -4, "Selezione Ditte", - "@1|Cod.@5R|Ragione Sociale@50"); - _nditte = new TLocalisamfile(LF_NDITTE); - _lia = new TTable("%LIA"); - _firm = TApplication::get_firm(); - build_ditte_sheet(); - dispatch_e_menu (BAR_ITEM(1)); - - return TRUE; -} - -bool TCopia_movimenti::destroy() -{ - delete _ditte; - delete _nditte; - delete _lia; - return TRUE; -} - -int cgp0100 (int argc, char** argv) -{ - TCopia_movimenti a; - a.run(argc,argv,"Liquidazione riepilogativa IVA"); - return 0; -} - diff --git a/cg/cgp0100a.h b/cg/cgp0100a.h deleted file mode 100755 index f8ab5d47f..000000000 --- a/cg/cgp0100a.h +++ /dev/null @@ -1,10 +0,0 @@ -#define F_DFR 101 -#define F_DTO 102 -#define F_SELECTED 103 -#define FBUT_SELECT 104 -#define FBUT_RESET 105 -#define F_MESE 106 -#define F_ANNO 107 -#define F_RCVFIRM 108 -#define F_DESRCVFIRM 109 - diff --git a/cg/cgp0100a.uml b/cg/cgp0100a.uml deleted file mode 100755 index 1df95ec17..000000000 --- a/cg/cgp0100a.uml +++ /dev/null @@ -1,92 +0,0 @@ -#include "cgp0100a.h" - -PAGE "Liquidazione riepilogativa IVA" -1 -1 78 14 - -LIST F_MESE 15 -BEGIN - PROMPT 2 1 "Periodo " - ITEM "13|Annuale" - FLAGS "AM" -END - -NUMBER F_ANNO 4 -BEGIN - PROMPT 35 1 "Anno " - FLAGS "A" - CHECKTYPE REQUIRED -END - -GROUPBOX DLG_NULL 76 3 -BEGIN - PROMPT 2 3 "Ditta ricevente" -END - -NUMBER F_RCVFIRM 5 -BEGIN - PROMPT 3 4 "Codice " - USE LF_NDITTE - INPUT CODDITTA F_RCVFIRM - DISPLAY "Codice" CODDITTA - DISPLAY "Ragione sociale@50" RAGSOC - OUTPUT F_RCVFIRM CODDITTA - OUTPUT F_DESRCVFIRM RAGSOC - CHECKTYPE REQUIRED -END - -STRING F_DESRCVFIRM 50 -BEGIN - PROMPT 22 4 "" - USE LF_NDITTE KEY 2 - INPUT RAGSOC F_DESRCVFIRM - DISPLAY "Ragione sociale@50" RAGSOC - DISPLAY "Codice" CODDITTA - COPY OUTPUT F_RCVFIRM - CHECKTYPE REQUIRED -END - -GROUPBOX DLG_NULL 40 5 -BEGIN - PROMPT 2 6 "Ditte invianti" -END - -NUMBER F_DFR 5 -BEGIN - PROMPT 3 7 "Da codice " - FLAGS "B" -END - -NUMBER F_DTO 5 -BEGIN - PROMPT 3 8 "A codice " - FLAGS "B" -END - -STRING F_SELECTED 5 -BEGIN - PROMPT 3 9 "Scelte n. " - FLAGS "DR" -END - -BUTTON FBUT_SELECT 10 2 -BEGIN - PROMPT 25 7 "~Selezione" - PICTURE BMP_SELECT -END - -BUTTON FBUT_RESET 10 -BEGIN - PROMPT 25 9 "A~zzera" -END - -BUTTON DLG_OK 10 2 -BEGIN - PROMPT -12 -1 "" -END - -BUTTON DLG_QUIT 10 2 -BEGIN - PROMPT -22 -1 "" -END - -ENDPAGE -ENDMASK