From 7147bd280386b9908f11049ec2662913c349efcc Mon Sep 17 00:00:00 2001 From: guy Date: Tue, 20 Sep 1994 12:22:46 +0000 Subject: [PATCH] Corrette maschere di stampa, esteticamente (bottone stampa e fine) e funzionalmente (ricerche su tabelle che non esistono) git-svn-id: svn://10.65.10.50/trunk@270 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/Attic/cg1400.cpp | 633 ++++++++++++++++++++++--------------------- cg/Attic/cg1400a.uml | 188 ++++++------- cg/cg0201.cpp | 3 + cg/cg0500.cpp | 123 +++++---- cg/cg0500b.uml | 4 +- cg/cg0501.cpp | 17 +- cg/cg1400.cpp | 633 ++++++++++++++++++++++--------------------- cg/cg1400a.uml | 188 ++++++------- cg/cg1700.cpp | 13 +- cg/cg1700a.uml | 5 +- cg/cg3100a.uml | 7 +- cg/cg3200a.uml | 20 +- cg/cg3400.cpp | 84 +++--- cg/cg3400a.uml | 18 +- cg/cg4400a.uml | 21 +- cg/cg5000a.uml | 12 +- cg/cg5100a.uml | 149 +++++----- 17 files changed, 1065 insertions(+), 1053 deletions(-) diff --git a/cg/Attic/cg1400.cpp b/cg/Attic/cg1400.cpp index 5c6949cc1..ca323a3f0 100755 --- a/cg/Attic/cg1400.cpp +++ b/cg/Attic/cg1400.cpp @@ -1,314 +1,319 @@ -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "cg1400.h" - -class TStampa_deleghe_IVA : public TApplication -{ - TArray_sheet* _ditte; - int _mese, _anno, _tipo; - TString _azienda, _dipendenza; - bool _stampa_distinte, _aggiorna_codici, _stampa_prova; - -protected: - virtual bool create(); - virtual bool destroy(); - virtual bool menu(MENU_TAG); - virtual void print(); - - int select(); - bool print_deleghe(); - void print_distinta(); - -public: - TStampa_deleghe_IVA() : _ditte(NULL) {} -}; - - - -bool TStampa_deleghe_IVA::create() -{ - CHECK(_ditte == NULL, "Eh la vaca!"); - _ditte = new TArray_sheet(-1, -1, 0, 0, "Selezione Deleghe da stampare" ,"@1|Cod.@5|Ragione Sociale@50|Importo@15|Azienda|Dipend."); - dispatch_e_menu(BAR_ITEM(1)); - return TRUE; -} - -bool TStampa_deleghe_IVA::destroy() -{ - delete _ditte; - return TRUE; -} - - -int TStampa_deleghe_IVA::select() -{ - { - TMask m("cg1400a"); - if (m.run() != K_ENTER) return 0; - - _azienda = m.get(F_ABI); - _dipendenza = m.get(F_CAB); - - _mese = atoi(m.get(F_MESE)); - _anno = atoi(m.get(F_ANNO)); - _tipo = atoi(m.get(F_TIPO)); - - _stampa_prova = m.get_bool(F_PROVA); - _stampa_distinte = m.get_bool(F_DISTINTA); - _aggiorna_codici = m.get_bool(F_AGGIORNA); - - TDate d(m.get(F_DATA)); - printer().setdate(d); - } - - TLocalisamfile nditte(LF_NDITTE); - - TTable deleghe("%DEL"); - - TString chiave(16); - TToken_string d(80); - - _ditte->destroy(); - - for (nditte.first(); !nditte.eof(); nditte.next()) - { - const long dit = atol(nditte.get("CODDITTA")); - chiave = format("%05ld", dit); - chiave << format("%04d%02d%d", _anno, _mese, _tipo); - deleghe.put("CODTAB", chiave); - if (deleghe.read() == NOERR && deleghe.get_bool("B0") == FALSE) // Da stampare - { - d = " "; // Selezione - d.add(chiave.left(5)); // Codice ditta - d.add(nditte.get("RAGSOC")); // Ragione sociale - - real importo(deleghe.get("R0")); - d.add(importo.string(".")); // Importo - - const long az = atol(deleghe.get("I0")); - d.add(format("%05ld", az)); // Azienda - - const long di = atol(deleghe.get("I1")); - d.add(format("%05ld", di)); // Dipendenza - - _ditte->add(d); - } - } - - if (_ditte->items() > 0) - { - const bool ok = _ditte->run() == K_ENTER; - if (ok) enable_menu_item(M_FILE_PRINT); - } - else - { - warning_box("Nessuna ditta ha deleghe da stampare"); - return 2; - } - return 1; -} - -bool TStampa_deleghe_IVA::menu(MENU_TAG) -{ - int s = 0; - while ((s = select()) != 0) - if (s == 1) print(); - return FALSE; -} - -void TStampa_deleghe_IVA::print() -{ - print_deleghe(); - if (_stampa_distinte) - { - bool ok = yesno_box("Inserire il modulo continuo nella stampante " - "e confermare la stampa della distinta"); - if (ok) print_distinta(); - } -} - - -void TStampa_deleghe_IVA::print_distinta() -{ - enum Tabulatori { TAB_DITTA = 0, TAB_SEDE = 52, TAB_PROV = 78, - TAB_IMPORTO = 82, TAB_NOTE = 100 }; - - printer().open(); - - TLocalisamfile ditte(LF_NDITTE); - TRectype& ditta = ditte.curr(); - - TLocalisamfile anagrafiche(LF_ANAG); - TRectype& anag = anagrafiche.curr(); - - TLocalisamfile comuni(LF_COMUNI); - TRectype& comune = comuni.curr(); - - TTable banche("%BAN"); - TRectype& banca = banche.curr(); - - TString codban(16); - if (_azienda.not_empty()) - { - codban = _azienda; codban << _dipendenza; - banca.put("CODTAB", codban); - banche.read(); - } - - TPrintrow row; - - if (atol(_azienda)) - row.put(banca.get("S0"), 0); - row.put("DISTINTA DELEGHE DI VERSAMENTO", 60); - row.put("Data @>", 110); - row.put("Pag.@#", 124); - printer().setheaderline(0, row); - - row.reset(); - if (atol(_dipendenza)) - row.put(banca.get("S1"), 0); - - TString t(132); - t = "Dichiarazione "; - switch (_tipo) - { - case 2 : t << "annuale : "; break; - case 7 : t << "acconti IVA : "; break; - default: t << "periodica : " << _mese << '-'; break; - } - t << _anno; - row.put(t, 60); - printer().setheaderline(1, row); - - t.fill('-', 130); - row.reset(); - row.put(t, 0); - printer().setheaderline(2, row); - printer().setheaderline(4, row); - - row.reset(); - row.put("Ditta", TAB_DITTA); - row.put("Sede" , TAB_SEDE); - row.put("Importo", TAB_IMPORTO+8); - row.put("Note", TAB_NOTE); - printer().setheaderline(3, row); - - real totale; - - for (int i = 0; i < _ditte->items(); i++) - if (_ditte->checked(i)) - { - const TString cod(_ditte->row(i).get(1)); - ditta.put("CODDITTA", cod); - ditte.read(); - - anag.put("TIPOA", ditta.get("TIPOA")); - anag.put("CODANAGR", ditta.get("CODANAGR")); - anagrafiche.read(); - - comune.put("STATO", anag.get("STATORF")); - comune.put("COM", anag.get("COMRF")); - comuni.read(); - - TParagraph_string dencom(comune.get("DENCOM"), 18); - - row.reset(); - row.put(ditta.get("RAGSOC"), TAB_DITTA); - row.put(dencom.get(), 52); - row.put(comune.get("PROVCOM"), TAB_PROV); - - TString imp(_ditte->row(i).get(3)); - row.put(imp, TAB_IMPORTO); - printer().print(row); - - imp.strip("."); - real importo(imp); - totale += importo; - - const char* r; - while ((r = dencom.get()) != NULL) - { - row.reset(); - row.put(r, 52); - printer().print(row); - } - } - - row.reset(); - printer().print(row); - row.put("@BTotale versamenti :", TAB_SEDE); - row.put(totale.string("###.###.###.###"), TAB_IMPORTO); - printer().print(row); - - printer().close(); -} - -bool TStampa_deleghe_IVA::print_deleghe() -{ - bool ok = printer().open(); - if (!ok) return FALSE; - - TFilename name; - name << "del" << _azienda; - TForm f(name); - - for (int i = 0; ok && i < _ditte->items(); i++) - if (_ditte->checked(i)) - { - const TString d(_ditte->row(i).get(1)); - - TRectype& delega = f.cursor()->curr(); - - TString chiave(16); - chiave = d; chiave << format("%04d%02d%d", _anno, _mese, _tipo); - delega.put("CODTAB", chiave); - - f.cursor()->file()->read(); - const bool cera = atoi(delega.get("S7")) != 0; - if (!cera) - { - delega.put("S7", _azienda); - delega.put("S8", _dipendenza); - f.cursor()->file()->rewrite(); - } - f.cursor()->read(); // Posiziona il cursore - - ok = f.print(-1); // Stampa solo il record corrente - if (!ok) break; - - bool scrivi = _aggiorna_codici && !cera; - - if (!_stampa_prova) - { - delega.put("B0", "X"); // Stampato - scrivi = TRUE; - } - if (!_aggiorna_codici && !cera) // Cancella codice se non richiesto - { - delega.put("S7", ""); - delega.put("S8", ""); - scrivi = TRUE; - } - if (scrivi) - f.cursor()->file()->rewrite(); - } - printer().close(); - - return ok; -} - - -int cg1400(int argc, char* argv[]) -{ - TStampa_deleghe_IVA a; - a.run(argc, argv, "Stampa Deleghe IVA"); - return 0; -} +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "cg1400.h" + +class TStampa_deleghe_IVA : public TApplication +{ + TArray_sheet* _ditte; + int _mese, _anno, _tipo; + TString16 _azienda, _dipendenza; + bool _stampa_distinte, _aggiorna_codici, _stampa_prova; + +protected: + virtual bool create(); + virtual bool destroy(); + virtual bool menu(MENU_TAG); + virtual void print(); + + int select(); + bool print_deleghe(); + void print_distinta(); + +public: + TStampa_deleghe_IVA() : _ditte(NULL) {} +}; + + + +bool TStampa_deleghe_IVA::create() +{ + CHECK(_ditte == NULL, "Eh la vaca!"); + _ditte = new TArray_sheet(-1, -1, 0, 0, "Selezione Deleghe da stampare" ,"@1|Cod.@5|Ragione Sociale@50|Importo@15|Azienda|Dipend."); + dispatch_e_menu(BAR_ITEM(1)); + return TRUE; +} + +bool TStampa_deleghe_IVA::destroy() +{ + delete _ditte; + return TRUE; +} + + +int TStampa_deleghe_IVA::select() +{ +{ + TMask m("cg1400a"); + TConfig c(CONFIG_STUDIO, "cg"); + m.set(F_ABI, c.get("CodABI")); + m.set(F_CAB, c.get("CodCAB")); + if (m.run() != K_ENTER) + return 0; + + _azienda = m.get(F_ABI); + _dipendenza = m.get(F_CAB); + + _mese = m.get_int(F_MESE); + _anno = m.get_int(F_ANNO); + _tipo = m.get_int(F_TIPO); + + _stampa_prova = m.get_bool(F_PROVA); + _stampa_distinte = m.get_bool(F_DISTINTA); + _aggiorna_codici = m.get_bool(F_AGGIORNA); + + const TDate d(m.get(F_DATA)); + printer().setdate(d); +} + +TLocalisamfile nditte(LF_NDITTE); + +TTable deleghe("%DEL"); + +TString16 chiave; +TToken_string d(80); + +_ditte->destroy(); + +for (nditte.first(); !nditte.eof(); nditte.next()) +{ + const long dit = nditte.get_long("CODDITTA"); + chiave.format("%05ld", dit); + chiave << format("%04d%02d%d", _anno, _mese, _tipo); + deleghe.put("CODTAB", chiave); + if (deleghe.read() == NOERR && deleghe.get_bool("B0") == FALSE) // Da stampare + { + d = " "; // Selezione + d.add(chiave.left(5)); // Codice ditta + d.add(nditte.get("RAGSOC")); // Ragione sociale + + const real importo(deleghe.get("R0")); + d.add(importo.string(".")); // Importo + + const long az = deleghe.get_long("I0"); + d.add(format("%05ld", az)); // Azienda + + const long di = deleghe.get_long("I1"); + d.add(format("%05ld", di)); // Dipendenza + + _ditte->add(d); + } +} + +if (_ditte->items() > 0) +{ + const bool ok = _ditte->run() == K_ENTER; + if (ok) enable_menu_item(M_FILE_PRINT); +} +else +{ + warning_box("Nessuna ditta ha deleghe da stampare"); + return 2; +} +return 1; +} + +bool TStampa_deleghe_IVA::menu(MENU_TAG) +{ + int s = 0; + while ((s = select()) != 0) + if (s == 1) print(); + return FALSE; +} + +void TStampa_deleghe_IVA::print() +{ + print_deleghe(); + if (_stampa_distinte) + { + bool ok = yesno_box("Inserire il modulo continuo nella stampante " + "e confermare la stampa della distinta"); + if (ok) print_distinta(); + } +} + + +void TStampa_deleghe_IVA::print_distinta() +{ + enum Tabulatori { TAB_DITTA = 0, TAB_SEDE = 52, TAB_PROV = 78, + TAB_IMPORTO = 82, TAB_NOTE = 100 }; + + printer().open(); + + TLocalisamfile ditte(LF_NDITTE); + TRectype& ditta = ditte.curr(); + + TLocalisamfile anagrafiche(LF_ANAG); + TRectype& anag = anagrafiche.curr(); + + TLocalisamfile comuni(LF_COMUNI); + TRectype& comune = comuni.curr(); + + TTable banche("%BAN"); + TRectype& banca = banche.curr(); + + TString16 codban; + if (_azienda.not_empty()) + { + codban = _azienda; codban << _dipendenza; + banca.put("CODTAB", codban); + banche.read(); + } + + TPrintrow row; + + if (atol(_azienda)) + row.put(banca.get("S0"), 0); + row.put("DISTINTA DELEGHE DI VERSAMENTO", 60); + row.put("Data @>", 110); + row.put("Pag.@#", 124); + printer().setheaderline(0, row); + + row.reset(); + if (atol(_dipendenza)) + row.put(banca.get("S1"), 0); + + TString t(132); + t = "Dichiarazione "; + switch (_tipo) + { + case 2 : t << "annuale : "; break; + case 7 : t << "acconti IVA : "; break; + default: t << "periodica : " << _mese << '-'; break; + } + t << _anno; + row.put(t, 60); + printer().setheaderline(1, row); + + t.fill('-', 130); + row.reset(); + row.put(t, 0); + printer().setheaderline(2, row); + printer().setheaderline(4, row); + + row.reset(); + row.put("Ditta", TAB_DITTA); + row.put("Sede" , TAB_SEDE); + row.put("Importo", TAB_IMPORTO+8); + row.put("Note", TAB_NOTE); + printer().setheaderline(3, row); + + real totale; + + for (int i = 0; i < _ditte->items(); i++) + if (_ditte->checked(i)) + { + const TString cod(_ditte->row(i).get(1)); + ditta.put("CODDITTA", cod); + ditte.read(); + + anag.put("TIPOA", ditta.get("TIPOA")); + anag.put("CODANAGR", ditta.get("CODANAGR")); + anagrafiche.read(); + + comune.put("STATO", anag.get("STATORF")); + comune.put("COM", anag.get("COMRF")); + comuni.read(); + + TParagraph_string dencom(comune.get("DENCOM"), 18); + + row.reset(); + row.put(ditta.get("RAGSOC"), TAB_DITTA); + row.put(dencom.get(), 52); + row.put(comune.get("PROVCOM"), TAB_PROV); + + TString imp(_ditte->row(i).get(3)); + row.put(imp, TAB_IMPORTO); + printer().print(row); + + imp.strip("."); + real importo(imp); + totale += importo; + + const char* r; + while ((r = dencom.get()) != NULL) + { + row.reset(); + row.put(r, 52); + printer().print(row); + } + } + + row.reset(); + printer().print(row); + row.put("@BTotale versamenti :", TAB_SEDE); + row.put(totale.string("###.###.###.###"), TAB_IMPORTO); + printer().print(row); + + printer().close(); +} + +bool TStampa_deleghe_IVA::print_deleghe() +{ + bool ok = printer().open(); + if (!ok) return FALSE; + + TFilename name; + name << "del" << _azienda; + TForm f(name); + + for (int i = 0; ok && i < _ditte->items(); i++) + if (_ditte->checked(i)) + { + const TString d(_ditte->row(i).get(1)); + + TRectype& delega = f.cursor()->curr(); + + TString chiave(16); + chiave = d; chiave << format("%04d%02d%d", _anno, _mese, _tipo); + delega.put("CODTAB", chiave); + + f.cursor()->file()->read(); + const bool cera = atoi(delega.get("S7")) != 0; + if (!cera) + { + delega.put("S7", _azienda); + delega.put("S8", _dipendenza); + f.cursor()->file()->rewrite(); + } + f.cursor()->read(); // Posiziona il cursore + + ok = f.print(-1); // Stampa solo il record corrente + if (!ok) break; + + bool scrivi = _aggiorna_codici && !cera; + + if (!_stampa_prova) + { + delega.put("B0", "X"); // Stampato + scrivi = TRUE; + } + if (!_aggiorna_codici && !cera) // Cancella codice se non richiesto + { + delega.put("S7", ""); + delega.put("S8", ""); + scrivi = TRUE; + } + if (scrivi) + f.cursor()->file()->rewrite(); + } + printer().close(); + + return ok; +} + + +int cg1400(int argc, char* argv[]) +{ + TStampa_deleghe_IVA a; + a.run(argc, argv, "Stampa Deleghe IVA"); + return 0; +} diff --git a/cg/Attic/cg1400a.uml b/cg/Attic/cg1400a.uml index 945fd2804..3ad4d841b 100755 --- a/cg/Attic/cg1400a.uml +++ b/cg/Attic/cg1400a.uml @@ -1,93 +1,95 @@ -#include "cg1400.h" - -PAGE "STAMPA DELEGHE IVA" -1 -1 58 11 - -NUMBER F_ABI 5 -BEGIN - PROMPT 1 1 "Codice Azienda " - FLAGS "RZ" - USE %BAN - INPUT CODTAB[1,5] F_ABI - INPUT CODTAB[6,10] F_CAB - DISPLAY "Azienda" CODTAB[1,5] - DISPLAY "Dipendenza" CODTAB[6,10] - DISPLAY "Nome@50" S0 - DISPLAY "Filiale@50" S1 - OUTPUT F_ABI CODTAB[1,5] - OUTPUT F_CAB CODTAB[6,10] -END - -NUMBER F_CAB 5 -BEGIN - PROMPT 25 1 "Codice Dipendenza " - FLAGS "RZ" - COPY USE F_ABI - INPUT CODTAB[1,5] F_ABI - INPUT CODTAB[6,10] F_CAB - DISPLAY "Azienda" CODTAB[1,5] - DISPLAY "Dipendenza" CODTAB[6,10] - DISPLAY "Nome@50" S0 - DISPLAY "Filiale@50" S1 - OUTPUT F_ABI CODTAB[1,5] - OUTPUT F_CAB CODTAB[6,10] -END - -DATA F_DATA -BEGIN - PROMPT 1 3 "Data di stampa " - FLAGS "A" -END - -LIST F_TIPO 21 -BEGIN - PROMPT 28 3 "Tipo " - ITEM "1|Periodica" MESSAGE ENABLE,F_MESE - ITEM "2|Annuale" MESSAGE "13",F_MESE|DISABLE,F_MESE - ITEM "7|Acconti IVA" MESSAGE "12",F_MESE|DISABLE,F_MESE -END - -NUMBER F_ANNO 4 -BEGIN - PROMPT 1 5 "Anno " - FLAGS "A" -END - -LIST F_MESE 10 -BEGIN - PROMPT 13 5 "Mese " - FLAGS "MA" - ITEM "13|Annuale" MESSAGE "2",F_TIPO -END - -BOOLEAN F_PROVA -BEGIN - PROMPT 1 7 "Stampa di prova" -END - -BOOLEAN F_AGGIORNA -BEGIN - PROMPT 1 8 "Aggiorna codici banca sulle deleghe" - HELP "Scrive i codici banca sulle deleghe che non li riportano" -END - -BOOLEAN F_DISTINTA -BEGIN - PROMPT 1 9 "Stampa distinta deleghe" - HELP "Stampa un riepilogo su carta normale delle deleghe stampate" -END - -BUTTON DLG_SELECT 9 2 -BEGIN - PROMPT 45 6 "Selezione" - HELP "Permette di selezionare le ditte di cui stampare le deleghe" - MESSAGE EXIT,K_ENTER -END - -BUTTON DLG_QUIT 9 2 -BEGIN - PROMPT 45 8 "" -END - -ENDPAGE - -ENDMASK +#include "cg1400.h" + +PAGE "STAMPA DELEGHE IVA" -1 -1 58 11 + +NUMBER F_ABI 5 +BEGIN + PROMPT 1 1 "Codice ABI " + FLAGS "RZ" + FIELD CNF_STUDIO->cg.CodABI + USE %BAN + INPUT CODTAB[1,5] F_ABI + INPUT CODTAB[6,10] F_CAB + DISPLAY "Azienda" CODTAB[1,5] + DISPLAY "Dipendenza" CODTAB[6,10] + DISPLAY "Nome@50" S0 + DISPLAY "Filiale@50" S1 + OUTPUT F_ABI CODTAB[1,5] + OUTPUT F_CAB CODTAB[6,10] +END + +NUMBER F_CAB 5 +BEGIN + PROMPT 22 1 "Codice CAB " + FLAGS "RZ" + FIELD CNF_STUDIO->cg.CodCAB + COPY USE F_ABI + INPUT CODTAB[1,5] F_ABI + INPUT CODTAB[6,10] F_CAB + DISPLAY "Azienda" CODTAB[1,5] + DISPLAY "Dipendenza" CODTAB[6,10] + DISPLAY "Nome@50" S0 + DISPLAY "Filiale@50" S1 + OUTPUT F_ABI CODTAB[1,5] + OUTPUT F_CAB CODTAB[6,10] +END + +DATA F_DATA +BEGIN + PROMPT 1 3 "Data di stampa " + FLAGS "A" +END + +LIST F_TIPO 21 +BEGIN + PROMPT 28 3 "Tipo " + ITEM "1|Periodica" MESSAGE ENABLE,F_MESE + ITEM "2|Annuale" MESSAGE "13",F_MESE|DISABLE,F_MESE + ITEM "7|Acconti IVA" MESSAGE "12",F_MESE|DISABLE,F_MESE +END + +NUMBER F_ANNO 4 +BEGIN + PROMPT 1 5 "Anno " + FLAGS "A" +END + +LIST F_MESE 10 +BEGIN + PROMPT 13 5 "Mese " + FLAGS "MA" + ITEM "13|Annuale" MESSAGE "2",F_TIPO +END + +BOOLEAN F_PROVA +BEGIN + PROMPT 1 7 "Stampa di prova" +END + +BOOLEAN F_AGGIORNA +BEGIN + PROMPT 1 8 "Aggiorna codici banca sulle deleghe" + HELP "Scrive i codici banca sulle deleghe che non li riportano" +END + +BOOLEAN F_DISTINTA +BEGIN + PROMPT 1 9 "Stampa distinta deleghe" + HELP "Stampa un riepilogo su carta normale delle deleghe stampate" +END + +BUTTON DLG_SELECT 9 2 +BEGIN + PROMPT 45 6 "Selezione" + HELP "Permette di selezionare le ditte di cui stampare le deleghe" + MESSAGE EXIT,K_ENTER +END + +BUTTON DLG_QUIT 9 2 +BEGIN + PROMPT 45 8 "" +END + +ENDPAGE + +ENDMASK diff --git a/cg/cg0201.cpp b/cg/cg0201.cpp index 3dff4f638..e7d803e9b 100755 --- a/cg/cg0201.cpp +++ b/cg/cg0201.cpp @@ -1,7 +1,10 @@ #include "cg0201.h" +<<<<<<< cg0201.cpp +======= #include #include #include +>>>>>>> 1.4 extern bool gest_vend(); diff --git a/cg/cg0500.cpp b/cg/cg0500.cpp index de60ae8ae..6a72e46dc 100755 --- a/cg/cg0500.cpp +++ b/cg/cg0500.cpp @@ -263,34 +263,27 @@ bool CG0500_application::leggi_riga(int r, KEY k) bool filtra_reg(const TRelation * r) { - const TString codtab(r->lfile()->get("CODTAB")); - int tiporeg = r->lfile()->get_int("I0"); - bool corrisp = r->lfile()->get_bool("B0"); - - const int anno = atoi(codtab.left(4)); - - switch (app()->_filtro) + TFixed_string codtab(r->lfile()->get("CODTAB")); + const int anno = atoi(codtab.cut(4)); + if (anno == anno_iva()) { - case 1: - if (anno == anno_iva() && tiporeg == 1) - return TRUE; - break; - case 2: - if (anno == anno_iva() && tiporeg == 1 && corrisp) - return TRUE; - break; - case 3: - if (anno == anno_iva() && tiporeg == 2) - return TRUE; - break; - case 4: // tiporeg 1 senza corrisp OPPURE 2 (NC ST ND AF) - if (anno == anno_iva()) - if ( (tiporeg == 1 && !corrisp) || tiporeg == 2 ) - return TRUE; - break; - default: - return FALSE; - } + const int tiporeg = r->lfile()->get_int("I0"); + const bool corrisp = r->lfile()->get_bool("B0"); + + switch (app()->_filtro) + { + case 1: + return (tiporeg == 1); + case 2: + return (tiporeg == 1 && corrisp); + case 3: + return (tiporeg == 2); + case 4: // tiporeg 1 senza corrisp OPPURE 2 (NC ST ND AF) + return ( (tiporeg == 1 && !corrisp) || tiporeg == 2 ); + default: + return FALSE; + } + } return FALSE; } @@ -405,25 +398,25 @@ bool CG0500_application::tipodoc_hndl (TMask_field& f, KEY k) } // Ma davvero esiste il registro ? - TString16 codreg=f.mask().get(F_COD_REG); + const TString16 codreg=f.mask().get(F_COD_REG); if (codreg.not_empty()) { - TRegistro registro(codreg, anno_iva()); - if (!registro.read(codreg, anno_iva())) - return f.warning_box("Non esiste il registro %s per l'anno %d", - (const char *)codreg, anno_iva()); + const TRegistro registro(codreg, anno_iva()); + if (!registro.ok()) + return f.error_box("Non esiste il registro %s per l'anno %d", + (const char*)codreg, anno_iva()); } app()->MostraCampi(f); - if (f.focusdirty()) - app()->fill_sheet(f.mask()); + app()->fill_sheet(f.mask()); } return TRUE; } bool CG0500_application::tipomov_hndl (TMask_field& f, KEY k) { - if (k == K_SPACE) { + if (k == K_SPACE) + { app()->MostraCampi(f); if (f.focusdirty()) app()->fill_sheet(f.mask()); } @@ -434,14 +427,15 @@ bool CG0500_application::tipomov_hndl (TMask_field& f, KEY k) // essere puramente contabile (= codreg vuoto e tpm = Nessuno bool CG0500_application::codcausim_hndl (TMask_field& f, KEY k) { - if (f.to_check(k)) { - TString16 causim(f.get()); + if (f.to_check(k)) + { + const TString16 causim(f.get()); TLocalisamfile& caus = *app()->_rel->lfile(LF_CAUSALI); caus.zero(); caus.put(CAU_CODCAUS, causim); if (caus.read() == NOERR) { - const int tpm = caus.get_int(CAU_TIPOMOV); + const int tpm = caus.get_int(CAU_TIPOMOV); TString16 codreg = caus.get(CAU_REG); if (codreg.not_empty() || tpm != 0) return f.warning_box("La causale per l'incasso immediato specificata (%s) deve essere puramente contabile", @@ -455,8 +449,8 @@ bool CG0500_application::codcausim_hndl (TMask_field& f, KEY k) bool CG0500_application::MostraCampi(TMask_field& f) { TMask& m = f.mask(); - const int tpm = m.get_int(F_TIPO_MOV); - TString16 codreg = m.get(F_COD_REG); + const int tpm = m.get_int(F_TIPO_MOV); + const TString16 codreg = m.get(F_COD_REG); if (codreg.empty()) { m.hide(F_AUTO_FAT); @@ -464,9 +458,10 @@ bool CG0500_application::MostraCampi(TMask_field& f) m.hide(F_FAT_RITARDO); m.hide(F_OP_INTRACOM); m.hide(F_VALINTRA); - if (salda_conto()) m.hide(F_COD_CAUS_IM); - - switch (tpm) { + if (salda_conto()) + m.hide(F_COD_CAUS_IM); + switch (tpm) + { case 0: m.show(F_OP_FINE_ANNO); m.show(F_COLL_CESP); @@ -487,7 +482,8 @@ bool CG0500_application::MostraCampi(TMask_field& f) break; } } - else { // codreg non vuoto + else + { // codreg non vuoto m.hide(F_OP_FINE_ANNO); m.hide(F_MOV_SEZ); if (gestione_valuta()) m.show(F_MOV_VALU); @@ -504,9 +500,11 @@ bool CG0500_application::MostraCampi(TMask_field& f) bool CG0500_application::cod_reg_hndl (TMask_field& f, KEY k) { - if (k == K_TAB) { + if (k == K_TAB) + { app()->MostraCampi(f); - if (f.focusdirty()) app()->fill_sheet(f.mask()); + if (f.focusdirty()) + app()->fill_sheet(f.mask()); return TRUE; } @@ -528,7 +526,8 @@ bool CG0500_application::cod_reg_hndl (TMask_field& f, KEY k) i = (TipoIVA)tabtpd.get_int("I0"); // IVA acquisti, vendite, generica const TipoIVA ri = grog.iva(); if (i == iva_generica) i = ri; - if (i != ri) { + if (i != ri) + { return f.warning_box("Tipo documento incompatibile con tipo registro"); i = iva_errata; } @@ -765,7 +764,8 @@ void CG0500_application::compilaarray(const TString& tpd, int tpm, int tpr, int { if (salda_conto()) { - switch (tpm) { + switch (tpm) + { case 3: case 5: case 6: @@ -774,7 +774,8 @@ void CG0500_application::compilaarray(const TString& tpd, int tpm, int tpr, int case 0: if (m770 == 6) _righe_rcaus.CausaleRitenutaOccas(); - else { + else + { _forcedCopy = TRUE; _righe_rcaus.ClearDescr(); _righe_rcaus.CaricaRigheLibere(); @@ -787,7 +788,8 @@ void CG0500_application::compilaarray(const TString& tpd, int tpm, int tpr, int break; } } - else { // NO saldaconto + else + { // NO saldaconto _forcedCopy = TRUE; _righe_rcaus.ClearDescr(); _righe_rcaus.CaricaRigheLibere(); @@ -913,18 +915,22 @@ bool CG0500_application::descr2array(TMask& m, bool fromHandler) int tpm, m770, tpr; // if (m.mode() == MODE_MOD && !fromHandler) - if (fromHandler) { + if (fromHandler) + { codreg = m.field(F_COD_REG).get(); tpd = m.field(F_TIPO_DOC).get(); tpm = m.get_int(F_TIPO_MOV); m770 = m.get_int(F_M_770); - } else if (m.mode() == MODE_MOD) { + } + else if (m.mode() == MODE_MOD) + { codreg = caus.get("REG"); tpd = caus.get("TIPODOC"); tpm = caus.get_int("TIPOMOV"); m770 = caus.get_int("M770"); } - else { // sono in inserimento e prima di entrare negli handler + else + { // sono in inserimento e prima di entrare negli handler codreg = m.field(F_COD_REG).get(); tpd = m.field(F_TIPO_DOC).get(); tpm = m.get_int(F_TIPO_MOV); @@ -933,12 +939,13 @@ bool CG0500_application::descr2array(TMask& m, bool fromHandler) if (fromHandler) tpr = m.get_int(F_TIPO_REG); - else { + else + { TString16 chiave; chiave << anno_iva() << codreg; TTable reg("REG"); reg.put("CODTAB", chiave); reg.read(); - tpr = reg.get_int("I0"); + tpr = reg.get_int("I0"); } // carico le descrizioni fisse nell'array Righe_rcaus @@ -1094,13 +1101,15 @@ bool CG0500_application::user_create() _msk = new TMask("cg0500a"); - if (!salda_conto()) { + if (!salda_conto()) + { _msk->hide (F_MOV_SEZ); _msk->hide (F_TIPO_MOV_1); _msk->hide (F_TIPO_MOV_2); _msk->show (F_COD_CAUS_IM); } - else { + else + { _msk->show (F_MOV_SEZ); _msk->hide (F_COD_CAUS_IM); } diff --git a/cg/cg0500b.uml b/cg/cg0500b.uml index eeab66734..761f5794b 100755 --- a/cg/cg0500b.uml +++ b/cg/cg0500b.uml @@ -157,9 +157,9 @@ BEGIN DISPLAY "Gruppo" GRUPPO DISPLAY "Conto" CONTO DISPLAY "Sottoconto" SOTTOCONTO - OUTPUT 103 GRUPPO - OUTPUT 104 CONTO OUTPUT 105 SOTTOCONTO + OUTPUT 104 CONTO + OUTPUT 103 GRUPPO OUTPUT 107 DESCR // MESSAGE COPY, 207 // MESSAGE COPY, 307 diff --git a/cg/cg0501.cpp b/cg/cg0501.cpp index e4bf360c1..defc56d59 100755 --- a/cg/cg0501.cpp +++ b/cg/cg0501.cpp @@ -11,12 +11,17 @@ const char* iva2name(TipoIVA iva) const char* i; switch(iva) { - case nessuna_iva : i = "Nessuna IVA"; break; - case iva_acquisti: i = "IVA Acquisti"; break; - case iva_vendite : i = "IVA Vendite"; break; - case iva_generica: i = "IVA Generica"; break; - default : i = "IVA ERRATA!"; break; - } + case nessuna_iva : + i = "Nessuna IVA"; break; + case iva_acquisti: + i = "IVA Acquisti"; break; + case iva_vendite : + i = "IVA Vendite"; break; + case iva_generica: + i = "IVA Generica"; break; + default : + i = "IVA ERRATA!"; break; + } return i; } diff --git a/cg/cg1400.cpp b/cg/cg1400.cpp index 5c6949cc1..ca323a3f0 100755 --- a/cg/cg1400.cpp +++ b/cg/cg1400.cpp @@ -1,314 +1,319 @@ -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "cg1400.h" - -class TStampa_deleghe_IVA : public TApplication -{ - TArray_sheet* _ditte; - int _mese, _anno, _tipo; - TString _azienda, _dipendenza; - bool _stampa_distinte, _aggiorna_codici, _stampa_prova; - -protected: - virtual bool create(); - virtual bool destroy(); - virtual bool menu(MENU_TAG); - virtual void print(); - - int select(); - bool print_deleghe(); - void print_distinta(); - -public: - TStampa_deleghe_IVA() : _ditte(NULL) {} -}; - - - -bool TStampa_deleghe_IVA::create() -{ - CHECK(_ditte == NULL, "Eh la vaca!"); - _ditte = new TArray_sheet(-1, -1, 0, 0, "Selezione Deleghe da stampare" ,"@1|Cod.@5|Ragione Sociale@50|Importo@15|Azienda|Dipend."); - dispatch_e_menu(BAR_ITEM(1)); - return TRUE; -} - -bool TStampa_deleghe_IVA::destroy() -{ - delete _ditte; - return TRUE; -} - - -int TStampa_deleghe_IVA::select() -{ - { - TMask m("cg1400a"); - if (m.run() != K_ENTER) return 0; - - _azienda = m.get(F_ABI); - _dipendenza = m.get(F_CAB); - - _mese = atoi(m.get(F_MESE)); - _anno = atoi(m.get(F_ANNO)); - _tipo = atoi(m.get(F_TIPO)); - - _stampa_prova = m.get_bool(F_PROVA); - _stampa_distinte = m.get_bool(F_DISTINTA); - _aggiorna_codici = m.get_bool(F_AGGIORNA); - - TDate d(m.get(F_DATA)); - printer().setdate(d); - } - - TLocalisamfile nditte(LF_NDITTE); - - TTable deleghe("%DEL"); - - TString chiave(16); - TToken_string d(80); - - _ditte->destroy(); - - for (nditte.first(); !nditte.eof(); nditte.next()) - { - const long dit = atol(nditte.get("CODDITTA")); - chiave = format("%05ld", dit); - chiave << format("%04d%02d%d", _anno, _mese, _tipo); - deleghe.put("CODTAB", chiave); - if (deleghe.read() == NOERR && deleghe.get_bool("B0") == FALSE) // Da stampare - { - d = " "; // Selezione - d.add(chiave.left(5)); // Codice ditta - d.add(nditte.get("RAGSOC")); // Ragione sociale - - real importo(deleghe.get("R0")); - d.add(importo.string(".")); // Importo - - const long az = atol(deleghe.get("I0")); - d.add(format("%05ld", az)); // Azienda - - const long di = atol(deleghe.get("I1")); - d.add(format("%05ld", di)); // Dipendenza - - _ditte->add(d); - } - } - - if (_ditte->items() > 0) - { - const bool ok = _ditte->run() == K_ENTER; - if (ok) enable_menu_item(M_FILE_PRINT); - } - else - { - warning_box("Nessuna ditta ha deleghe da stampare"); - return 2; - } - return 1; -} - -bool TStampa_deleghe_IVA::menu(MENU_TAG) -{ - int s = 0; - while ((s = select()) != 0) - if (s == 1) print(); - return FALSE; -} - -void TStampa_deleghe_IVA::print() -{ - print_deleghe(); - if (_stampa_distinte) - { - bool ok = yesno_box("Inserire il modulo continuo nella stampante " - "e confermare la stampa della distinta"); - if (ok) print_distinta(); - } -} - - -void TStampa_deleghe_IVA::print_distinta() -{ - enum Tabulatori { TAB_DITTA = 0, TAB_SEDE = 52, TAB_PROV = 78, - TAB_IMPORTO = 82, TAB_NOTE = 100 }; - - printer().open(); - - TLocalisamfile ditte(LF_NDITTE); - TRectype& ditta = ditte.curr(); - - TLocalisamfile anagrafiche(LF_ANAG); - TRectype& anag = anagrafiche.curr(); - - TLocalisamfile comuni(LF_COMUNI); - TRectype& comune = comuni.curr(); - - TTable banche("%BAN"); - TRectype& banca = banche.curr(); - - TString codban(16); - if (_azienda.not_empty()) - { - codban = _azienda; codban << _dipendenza; - banca.put("CODTAB", codban); - banche.read(); - } - - TPrintrow row; - - if (atol(_azienda)) - row.put(banca.get("S0"), 0); - row.put("DISTINTA DELEGHE DI VERSAMENTO", 60); - row.put("Data @>", 110); - row.put("Pag.@#", 124); - printer().setheaderline(0, row); - - row.reset(); - if (atol(_dipendenza)) - row.put(banca.get("S1"), 0); - - TString t(132); - t = "Dichiarazione "; - switch (_tipo) - { - case 2 : t << "annuale : "; break; - case 7 : t << "acconti IVA : "; break; - default: t << "periodica : " << _mese << '-'; break; - } - t << _anno; - row.put(t, 60); - printer().setheaderline(1, row); - - t.fill('-', 130); - row.reset(); - row.put(t, 0); - printer().setheaderline(2, row); - printer().setheaderline(4, row); - - row.reset(); - row.put("Ditta", TAB_DITTA); - row.put("Sede" , TAB_SEDE); - row.put("Importo", TAB_IMPORTO+8); - row.put("Note", TAB_NOTE); - printer().setheaderline(3, row); - - real totale; - - for (int i = 0; i < _ditte->items(); i++) - if (_ditte->checked(i)) - { - const TString cod(_ditte->row(i).get(1)); - ditta.put("CODDITTA", cod); - ditte.read(); - - anag.put("TIPOA", ditta.get("TIPOA")); - anag.put("CODANAGR", ditta.get("CODANAGR")); - anagrafiche.read(); - - comune.put("STATO", anag.get("STATORF")); - comune.put("COM", anag.get("COMRF")); - comuni.read(); - - TParagraph_string dencom(comune.get("DENCOM"), 18); - - row.reset(); - row.put(ditta.get("RAGSOC"), TAB_DITTA); - row.put(dencom.get(), 52); - row.put(comune.get("PROVCOM"), TAB_PROV); - - TString imp(_ditte->row(i).get(3)); - row.put(imp, TAB_IMPORTO); - printer().print(row); - - imp.strip("."); - real importo(imp); - totale += importo; - - const char* r; - while ((r = dencom.get()) != NULL) - { - row.reset(); - row.put(r, 52); - printer().print(row); - } - } - - row.reset(); - printer().print(row); - row.put("@BTotale versamenti :", TAB_SEDE); - row.put(totale.string("###.###.###.###"), TAB_IMPORTO); - printer().print(row); - - printer().close(); -} - -bool TStampa_deleghe_IVA::print_deleghe() -{ - bool ok = printer().open(); - if (!ok) return FALSE; - - TFilename name; - name << "del" << _azienda; - TForm f(name); - - for (int i = 0; ok && i < _ditte->items(); i++) - if (_ditte->checked(i)) - { - const TString d(_ditte->row(i).get(1)); - - TRectype& delega = f.cursor()->curr(); - - TString chiave(16); - chiave = d; chiave << format("%04d%02d%d", _anno, _mese, _tipo); - delega.put("CODTAB", chiave); - - f.cursor()->file()->read(); - const bool cera = atoi(delega.get("S7")) != 0; - if (!cera) - { - delega.put("S7", _azienda); - delega.put("S8", _dipendenza); - f.cursor()->file()->rewrite(); - } - f.cursor()->read(); // Posiziona il cursore - - ok = f.print(-1); // Stampa solo il record corrente - if (!ok) break; - - bool scrivi = _aggiorna_codici && !cera; - - if (!_stampa_prova) - { - delega.put("B0", "X"); // Stampato - scrivi = TRUE; - } - if (!_aggiorna_codici && !cera) // Cancella codice se non richiesto - { - delega.put("S7", ""); - delega.put("S8", ""); - scrivi = TRUE; - } - if (scrivi) - f.cursor()->file()->rewrite(); - } - printer().close(); - - return ok; -} - - -int cg1400(int argc, char* argv[]) -{ - TStampa_deleghe_IVA a; - a.run(argc, argv, "Stampa Deleghe IVA"); - return 0; -} +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "cg1400.h" + +class TStampa_deleghe_IVA : public TApplication +{ + TArray_sheet* _ditte; + int _mese, _anno, _tipo; + TString16 _azienda, _dipendenza; + bool _stampa_distinte, _aggiorna_codici, _stampa_prova; + +protected: + virtual bool create(); + virtual bool destroy(); + virtual bool menu(MENU_TAG); + virtual void print(); + + int select(); + bool print_deleghe(); + void print_distinta(); + +public: + TStampa_deleghe_IVA() : _ditte(NULL) {} +}; + + + +bool TStampa_deleghe_IVA::create() +{ + CHECK(_ditte == NULL, "Eh la vaca!"); + _ditte = new TArray_sheet(-1, -1, 0, 0, "Selezione Deleghe da stampare" ,"@1|Cod.@5|Ragione Sociale@50|Importo@15|Azienda|Dipend."); + dispatch_e_menu(BAR_ITEM(1)); + return TRUE; +} + +bool TStampa_deleghe_IVA::destroy() +{ + delete _ditte; + return TRUE; +} + + +int TStampa_deleghe_IVA::select() +{ +{ + TMask m("cg1400a"); + TConfig c(CONFIG_STUDIO, "cg"); + m.set(F_ABI, c.get("CodABI")); + m.set(F_CAB, c.get("CodCAB")); + if (m.run() != K_ENTER) + return 0; + + _azienda = m.get(F_ABI); + _dipendenza = m.get(F_CAB); + + _mese = m.get_int(F_MESE); + _anno = m.get_int(F_ANNO); + _tipo = m.get_int(F_TIPO); + + _stampa_prova = m.get_bool(F_PROVA); + _stampa_distinte = m.get_bool(F_DISTINTA); + _aggiorna_codici = m.get_bool(F_AGGIORNA); + + const TDate d(m.get(F_DATA)); + printer().setdate(d); +} + +TLocalisamfile nditte(LF_NDITTE); + +TTable deleghe("%DEL"); + +TString16 chiave; +TToken_string d(80); + +_ditte->destroy(); + +for (nditte.first(); !nditte.eof(); nditte.next()) +{ + const long dit = nditte.get_long("CODDITTA"); + chiave.format("%05ld", dit); + chiave << format("%04d%02d%d", _anno, _mese, _tipo); + deleghe.put("CODTAB", chiave); + if (deleghe.read() == NOERR && deleghe.get_bool("B0") == FALSE) // Da stampare + { + d = " "; // Selezione + d.add(chiave.left(5)); // Codice ditta + d.add(nditte.get("RAGSOC")); // Ragione sociale + + const real importo(deleghe.get("R0")); + d.add(importo.string(".")); // Importo + + const long az = deleghe.get_long("I0"); + d.add(format("%05ld", az)); // Azienda + + const long di = deleghe.get_long("I1"); + d.add(format("%05ld", di)); // Dipendenza + + _ditte->add(d); + } +} + +if (_ditte->items() > 0) +{ + const bool ok = _ditte->run() == K_ENTER; + if (ok) enable_menu_item(M_FILE_PRINT); +} +else +{ + warning_box("Nessuna ditta ha deleghe da stampare"); + return 2; +} +return 1; +} + +bool TStampa_deleghe_IVA::menu(MENU_TAG) +{ + int s = 0; + while ((s = select()) != 0) + if (s == 1) print(); + return FALSE; +} + +void TStampa_deleghe_IVA::print() +{ + print_deleghe(); + if (_stampa_distinte) + { + bool ok = yesno_box("Inserire il modulo continuo nella stampante " + "e confermare la stampa della distinta"); + if (ok) print_distinta(); + } +} + + +void TStampa_deleghe_IVA::print_distinta() +{ + enum Tabulatori { TAB_DITTA = 0, TAB_SEDE = 52, TAB_PROV = 78, + TAB_IMPORTO = 82, TAB_NOTE = 100 }; + + printer().open(); + + TLocalisamfile ditte(LF_NDITTE); + TRectype& ditta = ditte.curr(); + + TLocalisamfile anagrafiche(LF_ANAG); + TRectype& anag = anagrafiche.curr(); + + TLocalisamfile comuni(LF_COMUNI); + TRectype& comune = comuni.curr(); + + TTable banche("%BAN"); + TRectype& banca = banche.curr(); + + TString16 codban; + if (_azienda.not_empty()) + { + codban = _azienda; codban << _dipendenza; + banca.put("CODTAB", codban); + banche.read(); + } + + TPrintrow row; + + if (atol(_azienda)) + row.put(banca.get("S0"), 0); + row.put("DISTINTA DELEGHE DI VERSAMENTO", 60); + row.put("Data @>", 110); + row.put("Pag.@#", 124); + printer().setheaderline(0, row); + + row.reset(); + if (atol(_dipendenza)) + row.put(banca.get("S1"), 0); + + TString t(132); + t = "Dichiarazione "; + switch (_tipo) + { + case 2 : t << "annuale : "; break; + case 7 : t << "acconti IVA : "; break; + default: t << "periodica : " << _mese << '-'; break; + } + t << _anno; + row.put(t, 60); + printer().setheaderline(1, row); + + t.fill('-', 130); + row.reset(); + row.put(t, 0); + printer().setheaderline(2, row); + printer().setheaderline(4, row); + + row.reset(); + row.put("Ditta", TAB_DITTA); + row.put("Sede" , TAB_SEDE); + row.put("Importo", TAB_IMPORTO+8); + row.put("Note", TAB_NOTE); + printer().setheaderline(3, row); + + real totale; + + for (int i = 0; i < _ditte->items(); i++) + if (_ditte->checked(i)) + { + const TString cod(_ditte->row(i).get(1)); + ditta.put("CODDITTA", cod); + ditte.read(); + + anag.put("TIPOA", ditta.get("TIPOA")); + anag.put("CODANAGR", ditta.get("CODANAGR")); + anagrafiche.read(); + + comune.put("STATO", anag.get("STATORF")); + comune.put("COM", anag.get("COMRF")); + comuni.read(); + + TParagraph_string dencom(comune.get("DENCOM"), 18); + + row.reset(); + row.put(ditta.get("RAGSOC"), TAB_DITTA); + row.put(dencom.get(), 52); + row.put(comune.get("PROVCOM"), TAB_PROV); + + TString imp(_ditte->row(i).get(3)); + row.put(imp, TAB_IMPORTO); + printer().print(row); + + imp.strip("."); + real importo(imp); + totale += importo; + + const char* r; + while ((r = dencom.get()) != NULL) + { + row.reset(); + row.put(r, 52); + printer().print(row); + } + } + + row.reset(); + printer().print(row); + row.put("@BTotale versamenti :", TAB_SEDE); + row.put(totale.string("###.###.###.###"), TAB_IMPORTO); + printer().print(row); + + printer().close(); +} + +bool TStampa_deleghe_IVA::print_deleghe() +{ + bool ok = printer().open(); + if (!ok) return FALSE; + + TFilename name; + name << "del" << _azienda; + TForm f(name); + + for (int i = 0; ok && i < _ditte->items(); i++) + if (_ditte->checked(i)) + { + const TString d(_ditte->row(i).get(1)); + + TRectype& delega = f.cursor()->curr(); + + TString chiave(16); + chiave = d; chiave << format("%04d%02d%d", _anno, _mese, _tipo); + delega.put("CODTAB", chiave); + + f.cursor()->file()->read(); + const bool cera = atoi(delega.get("S7")) != 0; + if (!cera) + { + delega.put("S7", _azienda); + delega.put("S8", _dipendenza); + f.cursor()->file()->rewrite(); + } + f.cursor()->read(); // Posiziona il cursore + + ok = f.print(-1); // Stampa solo il record corrente + if (!ok) break; + + bool scrivi = _aggiorna_codici && !cera; + + if (!_stampa_prova) + { + delega.put("B0", "X"); // Stampato + scrivi = TRUE; + } + if (!_aggiorna_codici && !cera) // Cancella codice se non richiesto + { + delega.put("S7", ""); + delega.put("S8", ""); + scrivi = TRUE; + } + if (scrivi) + f.cursor()->file()->rewrite(); + } + printer().close(); + + return ok; +} + + +int cg1400(int argc, char* argv[]) +{ + TStampa_deleghe_IVA a; + a.run(argc, argv, "Stampa Deleghe IVA"); + return 0; +} diff --git a/cg/cg1400a.uml b/cg/cg1400a.uml index 945fd2804..3ad4d841b 100755 --- a/cg/cg1400a.uml +++ b/cg/cg1400a.uml @@ -1,93 +1,95 @@ -#include "cg1400.h" - -PAGE "STAMPA DELEGHE IVA" -1 -1 58 11 - -NUMBER F_ABI 5 -BEGIN - PROMPT 1 1 "Codice Azienda " - FLAGS "RZ" - USE %BAN - INPUT CODTAB[1,5] F_ABI - INPUT CODTAB[6,10] F_CAB - DISPLAY "Azienda" CODTAB[1,5] - DISPLAY "Dipendenza" CODTAB[6,10] - DISPLAY "Nome@50" S0 - DISPLAY "Filiale@50" S1 - OUTPUT F_ABI CODTAB[1,5] - OUTPUT F_CAB CODTAB[6,10] -END - -NUMBER F_CAB 5 -BEGIN - PROMPT 25 1 "Codice Dipendenza " - FLAGS "RZ" - COPY USE F_ABI - INPUT CODTAB[1,5] F_ABI - INPUT CODTAB[6,10] F_CAB - DISPLAY "Azienda" CODTAB[1,5] - DISPLAY "Dipendenza" CODTAB[6,10] - DISPLAY "Nome@50" S0 - DISPLAY "Filiale@50" S1 - OUTPUT F_ABI CODTAB[1,5] - OUTPUT F_CAB CODTAB[6,10] -END - -DATA F_DATA -BEGIN - PROMPT 1 3 "Data di stampa " - FLAGS "A" -END - -LIST F_TIPO 21 -BEGIN - PROMPT 28 3 "Tipo " - ITEM "1|Periodica" MESSAGE ENABLE,F_MESE - ITEM "2|Annuale" MESSAGE "13",F_MESE|DISABLE,F_MESE - ITEM "7|Acconti IVA" MESSAGE "12",F_MESE|DISABLE,F_MESE -END - -NUMBER F_ANNO 4 -BEGIN - PROMPT 1 5 "Anno " - FLAGS "A" -END - -LIST F_MESE 10 -BEGIN - PROMPT 13 5 "Mese " - FLAGS "MA" - ITEM "13|Annuale" MESSAGE "2",F_TIPO -END - -BOOLEAN F_PROVA -BEGIN - PROMPT 1 7 "Stampa di prova" -END - -BOOLEAN F_AGGIORNA -BEGIN - PROMPT 1 8 "Aggiorna codici banca sulle deleghe" - HELP "Scrive i codici banca sulle deleghe che non li riportano" -END - -BOOLEAN F_DISTINTA -BEGIN - PROMPT 1 9 "Stampa distinta deleghe" - HELP "Stampa un riepilogo su carta normale delle deleghe stampate" -END - -BUTTON DLG_SELECT 9 2 -BEGIN - PROMPT 45 6 "Selezione" - HELP "Permette di selezionare le ditte di cui stampare le deleghe" - MESSAGE EXIT,K_ENTER -END - -BUTTON DLG_QUIT 9 2 -BEGIN - PROMPT 45 8 "" -END - -ENDPAGE - -ENDMASK +#include "cg1400.h" + +PAGE "STAMPA DELEGHE IVA" -1 -1 58 11 + +NUMBER F_ABI 5 +BEGIN + PROMPT 1 1 "Codice ABI " + FLAGS "RZ" + FIELD CNF_STUDIO->cg.CodABI + USE %BAN + INPUT CODTAB[1,5] F_ABI + INPUT CODTAB[6,10] F_CAB + DISPLAY "Azienda" CODTAB[1,5] + DISPLAY "Dipendenza" CODTAB[6,10] + DISPLAY "Nome@50" S0 + DISPLAY "Filiale@50" S1 + OUTPUT F_ABI CODTAB[1,5] + OUTPUT F_CAB CODTAB[6,10] +END + +NUMBER F_CAB 5 +BEGIN + PROMPT 22 1 "Codice CAB " + FLAGS "RZ" + FIELD CNF_STUDIO->cg.CodCAB + COPY USE F_ABI + INPUT CODTAB[1,5] F_ABI + INPUT CODTAB[6,10] F_CAB + DISPLAY "Azienda" CODTAB[1,5] + DISPLAY "Dipendenza" CODTAB[6,10] + DISPLAY "Nome@50" S0 + DISPLAY "Filiale@50" S1 + OUTPUT F_ABI CODTAB[1,5] + OUTPUT F_CAB CODTAB[6,10] +END + +DATA F_DATA +BEGIN + PROMPT 1 3 "Data di stampa " + FLAGS "A" +END + +LIST F_TIPO 21 +BEGIN + PROMPT 28 3 "Tipo " + ITEM "1|Periodica" MESSAGE ENABLE,F_MESE + ITEM "2|Annuale" MESSAGE "13",F_MESE|DISABLE,F_MESE + ITEM "7|Acconti IVA" MESSAGE "12",F_MESE|DISABLE,F_MESE +END + +NUMBER F_ANNO 4 +BEGIN + PROMPT 1 5 "Anno " + FLAGS "A" +END + +LIST F_MESE 10 +BEGIN + PROMPT 13 5 "Mese " + FLAGS "MA" + ITEM "13|Annuale" MESSAGE "2",F_TIPO +END + +BOOLEAN F_PROVA +BEGIN + PROMPT 1 7 "Stampa di prova" +END + +BOOLEAN F_AGGIORNA +BEGIN + PROMPT 1 8 "Aggiorna codici banca sulle deleghe" + HELP "Scrive i codici banca sulle deleghe che non li riportano" +END + +BOOLEAN F_DISTINTA +BEGIN + PROMPT 1 9 "Stampa distinta deleghe" + HELP "Stampa un riepilogo su carta normale delle deleghe stampate" +END + +BUTTON DLG_SELECT 9 2 +BEGIN + PROMPT 45 6 "Selezione" + HELP "Permette di selezionare le ditte di cui stampare le deleghe" + MESSAGE EXIT,K_ENTER +END + +BUTTON DLG_QUIT 9 2 +BEGIN + PROMPT 45 8 "" +END + +ENDPAGE + +ENDMASK diff --git a/cg/cg1700.cpp b/cg/cg1700.cpp index 586a31edd..00149383c 100755 --- a/cg/cg1700.cpp +++ b/cg/cg1700.cpp @@ -20,8 +20,8 @@ enum descr {causale, conto}; class CG1700_application : public TPrintapp { - TLocalisamfile * _caus, * _rcaus, * _clifo, * _pcon, * _nditte, * _anag, * _com; TRelation * _rel; + TLocalisamfile * _clifo, * _pcon, * _nditte, * _anag, * _com; TCursor * _cur; TMask * _msk; TParagraph_string * _descr_causale, * _descr_conto; @@ -108,7 +108,7 @@ void CG1700_application::get_dati_ditta() int CG1700_application::stampa_intestazione_ditta() { int r = 1; - TString codice_ditta; + TString16 codice_ditta; TString riga(132); get_dati_ditta(); @@ -237,10 +237,7 @@ void CG1700_application::setta_righe_descr(TParagraph_string* str, enum descr de bool CG1700_application::set_print(int) { - KEY tasto; - - tasto = _msk->run(); - + const KEY tasto = _msk->run(); if (tasto == K_ENTER) { _data = _msk->get(F_DATASTAMPA); @@ -259,8 +256,6 @@ void CG1700_application::user_create() _cur = new TCursor (_rel,"", 1); add_cursor(_cur); - _caus = new TLocalisamfile(LF_CAUSALI); - _rcaus = new TLocalisamfile(LF_RCAUSALI); _com = new TLocalisamfile(LF_COMUNI); _pcon = new TLocalisamfile(LF_PCON); _clifo = new TLocalisamfile(LF_CLIFO); @@ -279,9 +274,7 @@ void CG1700_application::user_destroy() delete _cur; delete _rel; delete _clifo; - delete _caus; delete _com; - delete _rcaus; delete _pcon; delete _nditte; delete _anag; diff --git a/cg/cg1700a.uml b/cg/cg1700a.uml index c1c7dfe62..fe4c9e4a0 100755 --- a/cg/cg1700a.uml +++ b/cg/cg1700a.uml @@ -27,9 +27,10 @@ BEGIN FLAGS "A" END -BUTTON DLG_OK 10 2 +BUTTON DLG_PRINT 10 2 BEGIN - PROMPT -12 -1 "" + PROMPT -12 -1 "~Stampa" + MESSAGE EXIT,K_ENTER END BUTTON DLG_QUIT 10 2 diff --git a/cg/cg3100a.uml b/cg/cg3100a.uml index 6b22771ff..ac31d6687 100755 --- a/cg/cg3100a.uml +++ b/cg/cg3100a.uml @@ -1,6 +1,6 @@ #include "cg3100.h" -PAGE "" -1 -1 76 20 +PAGE "Lista Movimenti" -1 -1 76 20 NUMBER F_CODDITTA 5 BEGIN @@ -199,9 +199,10 @@ BEGIN END */ -BUTTON DLG_OK 9 2 +BUTTON DLG_PRINT 9 2 BEGIN - PROMPT -12 -1 "" + PROMPT -12 -1 "~Stampa" + MESSAGE EXIT,K_ENTER END BUTTON DLG_QUIT 9 2 diff --git a/cg/cg3200a.uml b/cg/cg3200a.uml index 90b8a2836..e9afdaea3 100755 --- a/cg/cg3200a.uml +++ b/cg/cg3200a.uml @@ -1,19 +1,18 @@ #include "cg3200.h" -PAGE "" -1 -1 78 20 - +PAGE "Mastrini" -1 -1 78 20 NUMBER F_CODDITTA 5 BEGIN PROMPT 4 1 "Ditta " - FLAGS "FRD" - USE LF_NDITTE KEY 1 - CHECKTYPE REQUIRED - INPUT CODDITTA F_CODDITTA - DISPLAY "Codice" CODDITTA + FLAGS "FRD" + USE LF_NDITTE KEY 1 + CHECKTYPE REQUIRED + INPUT CODDITTA F_CODDITTA + DISPLAY "Codice" CODDITTA DISPLAY "Ragione sociale @50" RAGSOC OUTPUT F_CODDITTA CODDITTA - OUTPUT F_RAGSOC RAGSOC + OUTPUT F_RAGSOC RAGSOC END STRING F_RAGSOC 50 @@ -558,9 +557,10 @@ BEGIN ITEM "2|Due" END -BUTTON DLG_OK 9 2 +BUTTON DLG_PRINT 9 2 BEGIN - PROMPT -12 -1 "" + PROMPT -12 -1 "~Stampa" + MESSAGE EXIT,K_ENTER END BUTTON DLG_QUIT 9 2 diff --git a/cg/cg3400.cpp b/cg/cg3400.cpp index 766daf86f..3f3dc0ac7 100755 --- a/cg/cg3400.cpp +++ b/cg/cg3400.cpp @@ -1,10 +1,7 @@ // cg3400 - Stampa libro giornale -#include #include -#include #include -#include #include #include #include @@ -176,7 +173,7 @@ bool CG3400_application::IsInEsercizio (TDate& da, TDate& a, int anno_eser) if (!da.ok() || !a.ok()) return FALSE; - codtab.format ("%-4d", anno_eser); + codtab.format ("%04d", anno_eser); TabEs.zero(); TabEs.put ("CODTAB", codtab); TabEs.read(); @@ -1146,16 +1143,21 @@ int CG3400_application::setta_righe_iva() set_row(r, "@58gCodice Iva@68g%3s", (const char*)riga._codiva); switch (riga._tipodet) { - case 0 : set_row(r, "@73gDetraibile"); - break; - case 1 : set_row(r, "@73gIndetraibile su op.es."); - break; - case 3 : set_row(r, "@73gPassaggi interni"); - break; - case 9 : set_row(r, "@73gIndetraibile art.19"); - break; - default: break; - } + case 0 : + set_row(r, "@73gDetraibile"); + break; + case 1 : + set_row(r, "@73gIndetraibile su op.es."); + break; + case 3 : + set_row(r, "@73gPassaggi interni"); + break; + case 9 : + set_row(r, "@73gIndetraibile art.19"); + break; + default: + break; + } } _iva_array.destroy(); return r; @@ -1303,7 +1305,7 @@ HIDDEN int date2esc(const TDate& d, int* prevesc) bool CG3400_application::mask_a_data (TMask_field& f, KEY k) { - if (k == K_ENTER) + if (k == K_TAB && f.focusdirty() || k == K_ENTER) { TMask& m = f.mask(); const TDate data_a(f.get()); @@ -1313,26 +1315,28 @@ bool CG3400_application::mask_a_data (TMask_field& f, KEY k) if (ae == 0) return f.error_box("La data specificata non appartiene a nessun esercizio"); - TRegistro reg(codreg, ae); + const TRegistro reg(codreg, ae); if (!reg.ok()) return f.warning_box("Non trovo il registro %s per l'esercizio %d", - (const char *) codreg, ae); + (const char *)codreg, ae); if (reg.tipo() != 5) return f.warning_box("Il registro %s non e' di tipo libro giornale", - (const char *) codreg); + (const char *)codreg); - if (definitiva) + if (!definitiva) { const TDate data_da(m.get(DATA_DA)); - // se la stampa e' di prova DALLA_DATA e' obbligatoria if (!data_da.ok()) return f.warning_box("Manca la data di partenza"); - - if (data_da < app()->_inizioEs || data_a > app()->_fineEs); - return f.warning_box("Le date specificate non appartengono allo stesso esercizio"); + if (data_da < app()->_inizioEs); + return f.error_box("La data iniziale non appartiene all'esercizio %d, che inizia il %s", + ae, (app()->_inizioEs).string()); } + if (data_a > app()->_fineEs); + return f.error_box("La data finale non appartiene all'esercizio %d, che termina il %s)", + ae, (app()->_fineEs).string()); } return TRUE; } @@ -1359,15 +1363,13 @@ bool CG3400_application::mask_a_cod_reg (TMask_field& f, KEY k) a->leggi_tabreg(reg_cod, a->_ae); - TString pag(8), stok(8); - pag << (a->_pagine_stampate+1); - stok << a->_stampa_ok; - if (definitiva) + { if (a->_stampa_ok == -1) // stampa precedente andata bene - m.field(PAGINA_DA).set(pag); + m.set(PAGINA_DA, a->_pagine_stampate+1); else - m.field(PAGINA_DA).set(stok); + m.set(PAGINA_DA, a->_stampa_ok); + } } return TRUE; } @@ -1380,13 +1382,12 @@ bool CG3400_application::mask_a_cod_reg (TMask_field& f, KEY k) // bool CG3400_application::mask_b_ripristina (TMask_field& f, KEY k) { - CG3400_application * a = (CG3400_application*) MainApp(); - if (k == K_TAB) { - f.mask().field(PROGR_DARE).set(a->_tot_dare.string()); - f.mask().field(ULTIMA_DATA).set(a->_last_data.string()); - f.mask().field(N_RIGA_STAMPATO).set(format ("%6d", a->_nprog_da)); + CG3400_application& a = (CG3400_application&)main_app(); + f.mask().set(PROGR_DARE, a._tot_dare.string()); + f.mask().set(ULTIMA_DATA, a._last_data.string()); + f.mask().set(N_RIGA_STAMPATO, a._nprog_da); } return TRUE; } @@ -1394,13 +1395,11 @@ bool CG3400_application::mask_b_ripristina (TMask_field& f, KEY k) bool CG3400_application::set_print(int) { TMask ma ("cg3400a"); - TMask mb ("cg3400b"); KEY tasto; ma.set_handler (CODREG, mask_a_cod_reg); // ma.set_handler (DATA_DA, mask_a_data); ma.set_handler (DATA_A, mask_a_data); - mb.set_handler (DLG_RIPRISTINA, mask_b_ripristina); // m.set_handler (REG_ANNO, mask_set_pagina_da); // m.set_handler (REG_DESC, mask_set_pagina_da); @@ -1410,12 +1409,12 @@ bool CG3400_application::set_print(int) if (tasto == K_ENTER) { _reg_cod = ma.get(CODREG); - _stampa_definitiva = (bool) (ma.get(STAMPA_DEF) == "X"); + _stampa_definitiva = ma.get_bool(STAMPA_DEF); _data_da = ma.get(DATA_DA); _data_a = ma.get(DATA_A); - _pagina_da = atoi(ma.get(PAGINA_DA)); - _stampa_width = (int)ma.get_long(STAMPA_WIDTH); - _stampa_len = (int)ma.get_long(STAMPA_LEN); + _pagina_da = ma.get_int(PAGINA_DA); + _stampa_width = ma.get_int(STAMPA_WIDTH); + _stampa_len = ma.get_int(STAMPA_LEN); // Se stampa definita DALLA_DATA e' l'ultima data di stampa del // registro, se indicata, oppure la data di inizio esercizio @@ -1438,14 +1437,15 @@ bool CG3400_application::set_print(int) if (_stampa_definitiva) { + TMask mb("cg3400b"); + mb.set_handler (DLG_RIPRISTINA, mask_b_ripristina); mb.set (PROGR_DARE, _tot_dare.string()); mb.set (N_RIGA_STAMPATO, _nprog_da); mb.set (ULTIMA_DATA, _last_data.string()); tasto = mb.run(); - return (tasto == K_ENTER); } } - return FALSE; + return (tasto == K_ENTER); } int cg3400 (int argc, char * argv[]) diff --git a/cg/cg3400a.uml b/cg/cg3400a.uml index af72a6b4c..fd323c902 100755 --- a/cg/cg3400a.uml +++ b/cg/cg3400a.uml @@ -1,6 +1,6 @@ #include "cg3400a.h" -PAGE "" -1 -1 70 15 +PAGE "Stampa Libro Giornale" -1 -1 70 15 STRING CODREG 3 BEGIN @@ -12,13 +12,13 @@ BEGIN DISPLAY "Codice" CODTAB[5,7] DISPLAY "Descrizione@50" S0 DISPLAY "Tipo" I0 -// OUTPUT ANNO_ESER CODTAB[1,4] +// OUTPUT ANNO_ESER CODTAB[1,4] OUTPUT CODREG CODTAB[5,7] OUTPUT REG_DESC S0 OUTPUT PAGINA_DA I1 // OUTPUT DATA_DA D0 // OUTPUT DATA_A D1 -// CHECKTYPE NORMAL +// CHECKTYPE NORMAL FLAGS "R" END @@ -30,9 +30,8 @@ BEGIN DISPLAY "Anno" CODTAB DISPLAY "Data inizio " D0 DISPLAY "Data fine " D1 - DISPLAY "Data scarico" D2 OUTPUT ANNO_ESER CODTAB -// CHECKTYPE REQUIRED +// CHECKTYPE REQUIRED FLAGS "HRZ" END @@ -91,17 +90,18 @@ END BOOLEAN STAMPA_DEF BEGIN - PROMPT 34 10 "Stampa definitiva" + PROMPT 34 10 "Stampa definitiva" MESSAGE TRUE DISABLE,DATA_DA | CLEAR, DATA_DA MESSAGE FALSE ENABLE,DATA_DA END -BUTTON DLG_OK 9 2 +BUTTON DLG_PRINT 9 2 BEGIN - PROMPT -12 -1 "" + PROMPT -12 -1 "~Stampa" + MESSAGE EXIT,K_ENTER END -BUTTON DLG_CANCEL 9 2 +BUTTON DLG_QUIT 9 2 BEGIN PROMPT -22 -1 "" END diff --git a/cg/cg4400a.uml b/cg/cg4400a.uml index 4484af1fe..d5f430289 100755 --- a/cg/cg4400a.uml +++ b/cg/cg4400a.uml @@ -10,13 +10,13 @@ LISTBOX TIPO_STAMPA 2 27 BEGIN PROMPT 2 1 "Tipo stampa " ITEM "1|Libri bollati della ditta" - MESSAGE SHOW,1@|HIDE,2@|HIDE,3@ + MESSAGE SHOW,1@|HIDE,2@|HIDE,3@ ITEM "2|Libri unici dello studio" - MESSAGE SHOW,2@|HIDE,1@|HIDE,3@ + MESSAGE SHOW,2@|HIDE,1@|HIDE,3@ ITEM "3|Stampa di prova" - MESSAGE SHOW,3@|HIDE,1@|HIDE,2@|SHOW,CODICE_LIBRO + MESSAGE SHOW,3@|HIDE,1@|HIDE,2@|SHOW,CODICE_LIBRO ITEM "4|Stampa libri con riferimenti al libro giornale" - MESSAGE SHOW,1@|HIDE,2@|HIDE,3@ + MESSAGE SHOW,1@|HIDE,2@|HIDE,3@ END */ @@ -33,7 +33,7 @@ BEGIN END GROUPBOX DLG_NULL 35 5 -BEGIN +BEGIN PROMPT 20 1 "Scelta ditte" END @@ -74,8 +74,8 @@ END BUTTON F_ANNULLA 9 BEGIN - PROMPT 42 3 "Annulla" - //MESSAGE EXIT,F_ANNULLA + PROMPT 42 3 "Azzera" + MESSAGE RESET,DA_CODICE|RESET,A_CODICE END BUTTON F_VERIFICA 9 @@ -220,12 +220,13 @@ BEGIN GROUP 2 END -BUTTON DLG_OK 9 2 +BUTTON DLG_PRINT 9 2 BEGIN - PROMPT -12 -1 "" + PROMPT -12 -1 "~Stampa" + MESSAGE EXIT,K_ENTER END -BUTTON DLG_CANCEL 9 2 +BUTTON DLG_QUIT 9 2 BEGIN PROMPT -22 -1 "" END diff --git a/cg/cg5000a.uml b/cg/cg5000a.uml index f46e9bfa9..1fd95f36a 100755 --- a/cg/cg5000a.uml +++ b/cg/cg5000a.uml @@ -9,12 +9,12 @@ END NUMBER FLD_CODABI 5 BEGIN - PROMPT 3 2 "Codice az. banca " + PROMPT 3 2 "Codice ABI " USE %BAN INPUT CODTAB[1,5] FLD_CODABI - DISPLAY "Banca" CODTAB[1,5] - DISPLAY "Dipendenza" CODTAB[6,10] - DISPLAY "Descrizione@50" S0 + DISPLAY "ABI@5" CODTAB[1,5] + DISPLAY "CAB@5" CODTAB[6,10] + DISPLAY "Denominazione@50" S0 OUTPUT FLD_CODABI CODTAB[1,5] OUTPUT FLD_CODCAB CODTAB[6,10] OUTPUT FLD_RAGSOCB S0 @@ -25,9 +25,9 @@ END NUMBER FLD_CODCAB 5 BEGIN - PROMPT 37 2 "Codice dipendenza " + PROMPT 37 2 "Codice CAB " COPY ALL FLD_CODABI - INPUT CODTAB[6,10] FLD_CODABI + INPUT CODTAB[6,10] FLD_CODCAB CHECKTYPE NORMAL FIELD CodCAB FLAGS "RZ" diff --git a/cg/cg5100a.uml b/cg/cg5100a.uml index 9fee1ffe0..196274dd7 100755 --- a/cg/cg5100a.uml +++ b/cg/cg5100a.uml @@ -4,12 +4,12 @@ TOOLBAR "" 0 20 0 2 -BUTTON DLG_OK 8 2 +BUTTON DLG_OK 10 2 BEGIN PROMPT -12 -1 "" END -BUTTON DLG_QUIT 8 2 +BUTTON DLG_QUIT 10 2 BEGIN PROMPT -22 -1 "" END @@ -22,7 +22,6 @@ PAGE "Impostazione parametri ditta" -1 -1 77 8 NUMBER FLD_ANLIIV 4 BEGIN PROMPT 2 1 "@bANNO LIQUIDAZIONE IVA " - FLAGS "A" FIELD AnLiIv END @@ -55,7 +54,7 @@ BEGIN FIELD RifPar END -GROUPBOX DLG_NULL 76 10 +GROUPBOX DLG_NULL 76 11 BEGIN PROMPT 2 7 "" END @@ -90,60 +89,61 @@ END BOOLEAN CHK_NRCFDX BEGIN - PROMPT 4 12 "N. Rif. allineato a destra per clienti/fornitori " + PROMPT 4 12 "N. Rif. allineato a destra per clienti" HELP "" MESSAGE TRUE ENABLE,FLD_CMSGPC MESSAGE FALSE DISABLE,FLD_CMSGPC - FIELD NrCfDx + FIELD NrCliDx END NUMBER FLD_CMSGPC 1 BEGIN - PROMPT 56 12 " / " + PROMPT 4 13 "N. Rif. allineato a destra per fornitori" HELP "" - FIELD CmSgPc + FIELD NrForDx END BOOLEAN CHK_GESVAL BEGIN - PROMPT 4 13 "Gestione Valuta" + PROMPT 4 14 "Gestione Valuta" HELP "" - FIELD GesVal + FIELD GesVal END BOOLEAN CHK_GELIDI BEGIN - PROMPT 4 14 "Gestione liquidazione differita" + PROMPT 4 15 "Gestione liquidazione differita" HELP "" FIELD GeLiDi END BOOLEAN CHK_GESVEN BEGIN - PROMPT 4 15 "Gestione vendite" + PROMPT 4 16 "Gestione vendite" HELP "" FIELD GesVen END ENDPAGE + PAGE "Impostazione parametri ditta" -1 -1 77 8 GROUPBOX DLG_NULL 55 12 BEGIN - PROMPT 2 5 "Codici sottoconto" + PROMPT 2 5 "Codici sottoconto per chiusura automatica dei conti" END GROUPBOX DLG_NULL 20 12 BEGIN - PROMPT 57 5 "Ratei/Riscontri" + PROMPT 57 5 "Ratei/Risconti" END NUMBER FLD_CODLIC 5 BEGIN PROMPT 1 2 "Codice libro incassi/pagamenti " HELP "" - USE ITL + USE %ITL INPUT CODTAB FLD_CODLIC DISPLAY "Codice" CODTAB DISPLAY "Descrizione@50" S0 @@ -152,15 +152,16 @@ BEGIN FIELD CodLic END -NUMBER FLD_CODLIN 5 +STRING FLD_CODLIN 1 BEGIN PROMPT 42 2 "Codice lingua " HELP "" - USE %LIN + USE %LNG DISPLAY "Codice" CODTAB - DISPLAY "Descrizione " S0 + DISPLAY "Descrizione@50" S0 OUTPUT FLD_CODLIN CODTAB - INPUT CODTAB FLD_CODLIN + INPUT CODTAB FLD_CODLIN + CHECKTYPE NORMAL FIELD CodLin END @@ -168,8 +169,8 @@ STRING FLD_COCACH 3 BEGIN PROMPT 1 3 "Codice causale chiusura " HELP "" - USE LF_CAUSALI SELECT TIPODOC="" - INPUT CODCAUS FLD_COCACH + USE LF_CAUSALI SELECT MOVAP="C" + INPUT CODCAUS FLD_COCACH DISPLAY "Codice" CODCAUS DISPLAY "Descrizione@50" DESCR OUTPUT FLD_COCACH CODCAUS @@ -181,15 +182,14 @@ STRING FLD_COCAAP 3 BEGIN PROMPT 42 3 "Codice causale apertura " HELP "" - COPY USE FLD_COCACH - INPUT CODCAUS FLD_COCAAP + USE LF_CAUSALI SELECT MOVAP="A" + INPUT CODCAUS FLD_COCAAP COPY DISPLAY FLD_COCACH OUTPUT FLD_COCAAP CODCAUS CHECKTYPE NORMAL FIELD CoCaAp END - NUMBER FLD_CRIVAP 15 BEGIN PROMPT 1 -2 "Credito IVA anno precedente " @@ -198,7 +198,6 @@ BEGIN FIELD CrIvAp END - TEXT DLG_NULL BEGIN PROMPT 32 6 "Gruppo Conto Sottoconto" @@ -206,17 +205,17 @@ END TEXT DLG_NULL BEGIN - PROMPT 31 7 "------------------------" + PROMPT 31 7 "________________________" END NUMBER FLD_CSBICHG 3 BEGIN PROMPT 3 8 "Bilancio di chiusura " HELP "" - USE LF_PCON SELECT CONTO=="" + USE LF_PCON SELECT SOTTOCONTO!="" INPUT GRUPPO FLD_CSBICHG INPUT CONTO FLD_CSBICHC - INPUT CONTO FLD_CSBICHS + INPUT SOTTOCONTO FLD_CSBICHS DISPLAY "Gruppo" GRUPPO DISPLAY "Conto" CONTO DISPLAY "Sottoconto" SOTTOCONTO @@ -239,7 +238,7 @@ END NUMBER FLD_CSBICHS 6 BEGIN PROMPT 46 8 "" - COPY ALL FLD_CSBICHC + COPY ALL FLD_CSBICHG CHECKTYPE NORMAL FIELD CsBiChS END @@ -256,23 +255,22 @@ BEGIN INPUT GRUPPO FLD_CSPRPEG INPUT CONTO FLD_CSPRPEC INPUT SOTTOCONTO FLD_CSPRPES + CHECKTYPE NORMAL FIELD CsPrPeG END + NUMBER FLD_CSPRPEC 3 BEGIN - COPY USE FLD_CSBICHG - COPY DISPLAY FLD_CSBICHG - COPY OUTPUT FLD_CSPRPEG - COPY INPUT FLD_CSPRPEG + COPY ALL FLD_CSPRPEG + CHECKTYPE NORMAL FIELD CsPrPeC PROMPT 39 9 "" END + NUMBER FLD_CSPRPES 6 BEGIN - COPY USE FLD_CSBICHG - COPY DISPLAY FLD_CSBICHG - COPY OUTPUT FLD_CSPRPEG - COPY INPUT FLD_CSPRPEG + COPY ALL FLD_CSPRPEG + CHECKTYPE NORMAL FIELD CsPrPeS PROMPT 46 9 "" END @@ -289,25 +287,23 @@ BEGIN INPUT CONTO FLD_CSBIAPC INPUT SOTTOCONTO FLD_CSBIAPS HELP "" + CHECKTYPE NORMAL FIELD CsBiApG END + NUMBER FLD_CSBIAPC 3 BEGIN PROMPT 39 10 "" - COPY USE FLD_CSBICHG - COPY DISPLAY FLD_CSBICHG - COPY OUTPUT FLD_CSBIAPG - COPY INPUT FLD_CSBIAPG + COPY ALL FLD_CSBIAPG + CHECKTYPE NORMAL FIELD CsBiApC END NUMBER FLD_CSBIAPS 6 BEGIN PROMPT 46 10 "" - COPY USE FLD_CSBICHG - COPY DISPLAY FLD_CSBICHG - COPY OUTPUT FLD_CSBIAPG - COPY INPUT FLD_CSBIAPG + COPY ALL FLD_CSBIAPG + CHECKTYPE NORMAL FIELD CsBiApS END @@ -323,24 +319,21 @@ BEGIN INPUT GRUPPO FLD_CSUECPG INPUT CONTO FLD_CSUECPC INPUT SOTTOCONTO FLD_CSUECPS + CHECKTYPE NORMAL FIELD CsUeCpG END NUMBER FLD_CSUECPC 3 BEGIN PROMPT 39 11 "" - COPY USE FLD_CSBICHG - COPY DISPLAY FLD_CSBICHG - COPY OUTPUT FLD_CSUECPG - COPY INPUT FLD_CSUECPG + COPY ALL FLD_CSUECPG + CHECKTYPE NORMAL FIELD CsUeCpC END NUMBER FLD_CSUECPS 6 BEGIN PROMPT 46 11 "" - COPY USE FLD_CSBICHG - COPY DISPLAY FLD_CSBICHG - COPY OUTPUT FLD_CSUECPG - COPY INPUT FLD_CSUECPG + COPY ALL FLD_CSUECPG + CHECKTYPE NORMAL FIELD CsUeCpS END @@ -356,24 +349,22 @@ BEGIN INPUT GRUPPO FLD_CSPECPG INPUT CONTO FLD_CSPECPC INPUT SOTTOCONTO FLD_CSPECPS + CHECKTYPE NORMAL FIELD CsPeCpG END + NUMBER FLD_CSPECPC 3 BEGIN PROMPT 39 12 "" - COPY USE FLD_CSBICHG - COPY DISPLAY FLD_CSBICHG - COPY OUTPUT FLD_CSPECPG - COPY INPUT FLD_CSPECPG + COPY ALL FLD_CSPECPG + CHECKTYPE NORMAL FIELD CsPeCpC END NUMBER FLD_CSPECPS 6 BEGIN PROMPT 46 12 "" - COPY USE FLD_CSBICHG - COPY DISPLAY FLD_CSBICHG - COPY OUTPUT FLD_CSPECPG - COPY INPUT FLD_CSPECPG + COPY ALL FLD_CSPECPG + CHECKTYPE NORMAL FIELD CsPeCpS END @@ -389,24 +380,21 @@ BEGIN INPUT GRUPPO FLD_CSUECEG INPUT CONTO FLD_CSUECEC INPUT SOTTOCONTO FLD_CSUECES + CHECKTYPE NORMAL FIELD CsUeCeG END NUMBER FLD_CSUECEC 3 BEGIN PROMPT 39 13 "" - COPY USE FLD_CSBICHG - COPY DISPLAY FLD_CSBICHG - COPY OUTPUT FLD_CSUECEG - COPY INPUT FLD_CSUECEG + COPY ALL FLD_CSUECEG + CHECKTYPE NORMAL FIELD CsUeCeC END NUMBER FLD_CSUECES 6 BEGIN PROMPT 46 13 "" - COPY USE FLD_CSBICHG - COPY OUTPUT FLD_CSUECEG - COPY INPUT FLD_CSUECEG - COPY DISPLAY FLD_CSBICHG + COPY ALL FLD_CSUECEG + CHECKTYPE NORMAL FIELD CsUeCeS END @@ -422,24 +410,21 @@ BEGIN INPUT GRUPPO FLD_CSPECEG INPUT CONTO FLD_CSPECEC INPUT SOTTOCONTO FLD_CSPECES + CHECKTYPE NORMAL FIELD CsPeCeG END NUMBER FLD_CSPECEC 3 BEGIN PROMPT 39 14 "" - COPY USE FLD_CSBICHG - COPY DISPLAY FLD_CSBICHG - COPY OUTPUT FLD_CSPECEG - COPY INPUT FLD_CSPECEG + COPY ALL FLD_CSBICHG + CHECKTYPE NORMAL FIELD CsPeCeC END NUMBER FLD_CSPECES 6 BEGIN PROMPT 46 14 "" - COPY USE FLD_CSBICHG - COPY DISPLAY FLD_CSBICHG - COPY OUTPUT FLD_CSPECEG - COPY INPUT FLD_CSPECEG + COPY ALL FLD_CSBICHG + CHECKTYPE NORMAL FIELD CsPeCeS END @@ -467,7 +452,7 @@ END TEXT DLG_NULL BEGIN - PROMPT 58 12 "Causale riscontri" + PROMPT 58 12 "Causale risconti" END @@ -475,10 +460,10 @@ NUMBER FLD_RRCCRA 5 BEGIN PROMPT 64 11 "" HELP "" - COPY USE FLD_COCACH + USE LF_CAUSALI + INPUT CODCAUS FLD_RRCCRA COPY DISPLAY FLD_COCACH OUTPUT FLD_RRCCRA CODCAUS - INPUT CODCAUS FLD_RRCCRA FIELD RrCcRa END @@ -486,10 +471,10 @@ NUMBER FLD_RRCCRI 5 BEGIN PROMPT 64 13 "" HELP "" - COPY USE FLD_COCACH + COPY USE FLD_RRCCRA + INPUT CODCAUS FLD_RRCCRI COPY DISPLAY FLD_COCACH OUTPUT FLD_RRCCRI CODCAUS - INPUT CODCAUS FLD_RRCCRI FIELD RrCcRi END