From 20709ae1b475198a30abaf41e566e3a245e44961 Mon Sep 17 00:00:00 2001 From: luca Date: Mon, 22 Mar 2004 14:54:28 +0000 Subject: [PATCH] =?UTF-8?q?Patch=20level=20=20=20=20=20=20=20=20=20:2.1=20?= =?UTF-8?q?018=20Files=20correlati=20=20=20=20=20:cm1.exe,cm1100a/b.msk=20?= =?UTF-8?q?Ricompilazione=20Demo=20:=20[=20]=20Commento=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20:=2078=20Bisogna=20gestire=20il=20caso=20di?= =?UTF-8?q?=20scadenze=20di=20tipo=20fattura=20che=20non=20siano=20movimen?= =?UTF-8?q?ti=20IVA.=20Bisogna=20identificare=20il=20totela=20ritenute=20f?= =?UTF-8?q?iscali=20e=20sociali.=20Si=20puo'=20fare=20inserendo=20in=20con?= =?UTF-8?q?figurazione=20una=20lista=20di=20conti=20per=20ciasuna=20della?= =?UTF-8?q?=20tipologie.=20Inoltre=20questi=20paramentri=20e=20anche=20gli?= =?UTF-8?q?=20altri=20gi=C3=A0=20presenti=20dovrebbero=20essere=20modifica?= =?UTF-8?q?bili=20da=20una=20pagina=20di=20opzioni.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://10.65.10.50/trunk@11893 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cm/cm1100.cpp | 63 ++++++++++++--- cm/cm1100a.h | 1 - cm/cm1100a.uml | 3 +- cm/cm1100b.h | 12 +++ cm/cm1100b.uml | 202 ++++++++++++++++++++++++++++++++++++++++++++++++- 5 files changed, 267 insertions(+), 14 deletions(-) diff --git a/cm/cm1100.cpp b/cm/cm1100.cpp index d708b51d4..e3e7b83ca 100755 --- a/cm/cm1100.cpp +++ b/cm/cm1100.cpp @@ -31,6 +31,8 @@ public: { config_loader(sfield(F_COSTI), "Costi"); config_loader(sfield(F_PAGAMENTI), "Pagamenti"); + config_loader(sfield(F_RITFIS), "Fiscali"); + config_loader(sfield(F_RITSOC), "Sociali"); } }; @@ -43,6 +45,8 @@ bool TPag_per_cms_configmask::on_field_event(TOperable_field& o, TField_event e, { config_setter(sfield(F_COSTI), "Costi"); config_setter(sfield(F_PAGAMENTI), "Pagamenti"); + config_setter(sfield(F_RITFIS), "Fiscali"); + config_setter(sfield(F_RITSOC), "Sociali"); } break; default: @@ -97,11 +101,12 @@ bool TPag_per_cms_mask::on_field_event(TOperable_field& o, TField_event e, long { switch (o.dlg()) { - case F_CONFIG: - { - TPag_per_cms_configmask configmask; //lancia la maschera di configurazione - configmask.run(); - } + case DLG_CONFIG: + if (e == fe_button) + { + TPag_per_cms_configmask configmask; //lancia la maschera di configurazione + configmask.run(); + } break; default: @@ -337,7 +342,16 @@ bool TPag_per_cms_form::validate(TForm_item &cf, TToken_string &s) { const int tipo = curr()._tipo; if (tipo > 0 && tipo != prev_type()) - print_title(tipo == 1 ? "Costi" : "Pagamenti"); + { + switch (tipo) + { + case 1:print_title("Costi");break; + case 2:print_title("Pagamenti");break; + case 3:print_title("Ritenute Fiscali");break; + case 4:print_title("Ritenute Sociali");break; + default:break; + } + } } return true; } @@ -507,8 +521,8 @@ class TPag_per_cms : public TSkeleton_application TPag_per_cms_form* _form; TArray _righe; //array delle righe da stampare in tutti i casi - TAssoc_array _costi,_pagamenti; //array che contengono i conti - TAssoc_array _righecosti,_righepagamenti; //array delle righe da stampare in caso di costi e/o pagamenti + TAssoc_array _costi,_pagamenti,_fiscali,_sociali; //array che contengono i conti + TAssoc_array _righecosti,_righepagamenti,_righefiscali,_righesociali; //array delle righe da stampare in caso di costi,pagamenti,ritenute TString8 _campodata; protected: @@ -526,6 +540,8 @@ protected: bool cerca_conto(const TBill& bill, const TAssoc_array& assoc) const; bool cerca_costo(const TBill& bill) const; bool cerca_pagamento(const TBill& bill) const; + bool cerca_fiscali(const TBill& bill) const; + bool cerca_sociali(const TBill& bill) const; void add_importo(TAssoc_array& assoc, const TRectype& rmov) const; void crea_righe_stampa(TAssoc_array& assoc, const int tipo); @@ -613,7 +629,8 @@ void TPag_per_cms::find_commesse(const long nreg, const TRectype& riga_pag) pn.curr().put(MOV_NUMREG, nreg); if (pn.read() == NOERR) { - const real totdoc = pn.curr().get_real(MOV_TOTDOC); + //il totale documento deve tener conto delle ritenute fiscali e sociali + const real totdoc = pn.curr().get_real(MOV_TOTDOC) + pn.curr().get_real(MOV_RITFIS) - pn.curr().get_real(MOV_RITSOC); const real totpagato = riga_pag.get_real(PART_IMPORTO); const real percentuale = totpagato / totdoc; @@ -693,6 +710,10 @@ void TPag_per_cms::find_commesse_cg(const long nreg) add_importo(_righecosti, rmov); else if (cerca_pagamento(conto)) add_importo(_righepagamenti, rmov); + else if (cerca_fiscali(conto)) + add_importo(_righefiscali, rmov); + else if (cerca_sociali(conto)) + add_importo(_righesociali, rmov); } } } @@ -728,6 +749,16 @@ bool TPag_per_cms::cerca_pagamento(const TBill& bill) const return cerca_conto(bill, _pagamenti); } +bool TPag_per_cms::cerca_fiscali(const TBill& bill) const +{ + return cerca_conto(bill, _fiscali); +} + +bool TPag_per_cms::cerca_sociali(const TBill& bill) const +{ + return cerca_conto(bill, _sociali); +} + void TPag_per_cms::lettura_conti(const char* paragrafo, TAssoc_array& assoc) { TConfig conti("cm1100.ini",paragrafo); //paragrafo da scandire nell ini @@ -866,6 +897,8 @@ void TPag_per_cms::scan_movs() crea_righe_stampa(_righecosti, 1); crea_righe_stampa(_righepagamenti, 2); + crea_righe_stampa(_righefiscali, 3); + crea_righe_stampa(_righesociali, 4); } void TPag_per_cms::crea_righe_stampa(TAssoc_array& assoc, const int tipo) @@ -875,7 +908,15 @@ void TPag_per_cms::crea_righe_stampa(TAssoc_array& assoc, const int tipo) { tok = k; TImporto imp = *(TImporto*)i; - imp.normalize(tipo==1 ? 'D' : 'A'); + + switch (tipo) + { + case 1:imp.normalize('D');break; + case 2:imp.normalize('A');break; + case 3:imp.normalize('D');break; + case 4:imp.normalize('A');break; + default:break; + } TPag_per_cms_struct* ppcs = new TPag_per_cms_struct; ppcs->_tipo = tipo; //movimenti di costo/pagamento @@ -900,6 +941,8 @@ bool TPag_per_cms::create() lettura_conti("Costi", _costi); //caricamento dei conti dei costi lettura_conti("Pagamenti", _pagamenti); // "" pagamenti + lettura_conti("Fiscali", _fiscali); // ""ritenute fiscali **** + lettura_conti("Sociali", _sociali); // """sociali **** return TSkeleton_application::create(); } diff --git a/cm/cm1100a.h b/cm/cm1100a.h index eae8dedf6..797d8998d 100755 --- a/cm/cm1100a.h +++ b/cm/cm1100a.h @@ -12,5 +12,4 @@ #define F_ACODFOR 110 #define F_ADESFOR 111 -#define F_CONFIG 120 diff --git a/cm/cm1100a.uml b/cm/cm1100a.uml index 082d264f4..a20110ae5 100755 --- a/cm/cm1100a.uml +++ b/cm/cm1100a.uml @@ -8,9 +8,10 @@ BEGIN MESSAGE EXIT,K_ENTER END -BUTTON F_CONFIG 10 2 +BUTTON DLG_CONFIG 10 2 BEGIN PROMPT -23 -1 "~Configura" + PICTURE BMP_CONFIG END BUTTON DLG_QUIT 10 2 diff --git a/cm/cm1100b.h b/cm/cm1100b.h index cd3ebbb26..6acf51a95 100755 --- a/cm/cm1100b.h +++ b/cm/cm1100b.h @@ -1,6 +1,8 @@ // campi per la maschera cm1100b #define F_COSTI 200 #define F_PAGAMENTI 201 +#define F_RITFIS 202 +#define F_RITSOC 203 #define F_SC_GRUPPO 101 #define F_SC_CONTO 102 @@ -11,3 +13,13 @@ #define F_SP_CONTO 102 #define F_SP_SOTTOCONTO 103 #define F_SP_DESCRIZIONE 104 + +#define F_FI_GRUPPO 101 +#define F_FI_CONTO 102 +#define F_FI_SOTTOCONTO 103 +#define F_FI_DESCRIZIONE 104 + +#define F_SO_GRUPPO 101 +#define F_SO_CONTO 102 +#define F_SO_SOTTOCONTO 103 +#define F_SO_DESCRIZIONE 104 diff --git a/cm/cm1100b.uml b/cm/cm1100b.uml index abd8d6f7a..0b6bc1b7c 100755 --- a/cm/cm1100b.uml +++ b/cm/cm1100b.uml @@ -16,7 +16,7 @@ END ENDPAGE -PAGE "Configurazione parametri stampa pagato" -1 -1 78 20 +PAGE "Costi / Pagamenti" -1 -1 78 20 TEXT -1 BEGIN @@ -48,9 +48,42 @@ END ENDPAGE + +PAGE "Ritenute Fiscali / Sociali" -1 -1 78 20 + +TEXT -1 +BEGIN + PROMPT 1 0 "@bRitenute fiscali" +END + +SPREADSHEET F_RITFIS 78 10 +BEGIN + PROMPT 1 1 "Costi" + ITEM "Gruppo" + ITEM "Conto" + ITEM "Sottoconto" + ITEM "Descrizione@50" +END + +TEXT -1 +BEGIN + PROMPT 1 11 "@bRitenute sociali" +END + +SPREADSHEET F_RITSOC 78 +BEGIN + PROMPT 1 12 "Pagamenti" + ITEM "Gruppo" + ITEM "Conto" + ITEM "Sottoconto" + ITEM "Descrizione@50" +END + +ENDPAGE + ENDMASK - +//----------------------MOVIMENTI IVA------------------------------// //-----------Pagina di riga dello sheet costi----------------------// PAGE "Riga Costo" -1 -1 66 10 @@ -214,3 +247,168 @@ END ENDPAGE ENDMASK + +//-------------------MOVIMENTI CONTABILI---------------------------// +//-----------Pagina di riga dello sheet costi----------------------// + +PAGE "Riga Ritenuta Fiscale" -1 -1 66 10 + +NUMBER F_FI_GRUPPO 3 +BEGIN + PROMPT 1 2 "Gruppo " + USE LF_PCON KEY 1 SELECT (CONTO="") + INPUT GRUPPO F_FI_GRUPPO + DISPLAY "Gruppo" GRUPPO + DISPLAY "Descrizione@50" DESCR + OUTPUT F_FI_GRUPPO GRUPPO + CHECKTYPE REQUIRED +END + +NUMBER F_FI_CONTO 3 +BEGIN + PROMPT 1 3 "Conto " + USE LF_PCON KEY 1 SELECT (SOTTOCONTO="") + INPUT GRUPPO F_FI_GRUPPO + INPUT CONTO F_FI_CONTO + DISPLAY "Gruppo" GRUPPO + DISPLAY "Conto" CONTO + DISPLAY "Descrizione@50" DESCR + OUTPUT F_FI_CONTO CONTO + OUTPUT F_FI_GRUPPO GRUPPO + CHECKTYPE NORMAL +END + +NUMBER F_FI_SOTTOCONTO 6 +BEGIN + PROMPT 1 4 "Sottoconto " + USE LF_PCON + INPUT GRUPPO F_FI_GRUPPO + INPUT CONTO F_FI_CONTO + INPUT SOTTOCONTO F_FI_SOTTOCONTO + DISPLAY "Gruppo" GRUPPO + DISPLAY "Conto" CONTO + DISPLAY "Sottoconto" SOTTOCONTO + DISPLAY "Descrizione@50" DESCR + OUTPUT F_FI_SOTTOCONTO SOTTOCONTO + OUTPUT F_FI_GRUPPO GRUPPO + OUTPUT F_FI_CONTO CONTO + OUTPUT F_FI_DESCRIZIONE DESCR + CHECKTYPE NORMAL +END + +STRING F_FI_DESCRIZIONE 50 +BEGIN + PROMPT 1 5 "Descrizione " + USE LF_PCON KEY 2 + INPUT DESCR F_FI_DESCRIZIONE + DISPLAY "Descrizione@50" DESCR + DISPLAY "Gruppo" GRUPPO + DISPLAY "Conto" CONTO + DISPLAY "Sottoconto" SOTTOCONTO + OUTPUT F_FI_SOTTOCONTO SOTTOCONTO + OUTPUT F_FI_CONTO CONTO + OUTPUT F_FI_GRUPPO GRUPPO + OUTPUT F_FI_DESCRIZIONE DESCR + CHECKTYPE NORMAL +END + +BUTTON DLG_OK 10 2 +BEGIN + PROMPT -13 -1 "" +END + +BUTTON DLG_DELREC 10 2 +BEGIN + PROMPT -23 -1 "" +END + +BUTTON DLG_CANCEL 10 2 +BEGIN + PROMPT -33 -1 "" +END + +ENDPAGE + +ENDMASK + +//-----------Pagina di riga dello sheet pagamenti----------------------// + +PAGE "Riga Ritenuta Sociale" -1 -1 66 10 + +NUMBER F_SO_GRUPPO 3 +BEGIN + PROMPT 1 2 "Gruppo " + USE LF_PCON KEY 1 SELECT (CONTO="") + INPUT GRUPPO F_SO_GRUPPO + DISPLAY "Gruppo" GRUPPO + DISPLAY "Descrizione@50" DESCR + OUTPUT F_SO_GRUPPO GRUPPO + CHECKTYPE REQUIRED +END + +NUMBER F_SO_CONTO 3 +BEGIN + PROMPT 1 3 "Conto " + USE LF_PCON KEY 1 SELECT (SOTTOCONTO="") + INPUT GRUPPO F_SO_GRUPPO + INPUT CONTO F_SO_CONTO + DISPLAY "Gruppo" GRUPPO + DISPLAY "Conto" CONTO + DISPLAY "Descrizione@50" DESCR + OUTPUT F_SO_CONTO CONTO + OUTPUT F_SO_GRUPPO GRUPPO + CHECKTYPE NORMAL +END + +NUMBER F_SO_SOTTOCONTO 6 +BEGIN + PROMPT 1 4 "Sottoconto " + USE LF_PCON + INPUT GRUPPO F_SO_GRUPPO + INPUT CONTO F_SO_CONTO + INPUT SOTTOCONTO F_SO_SOTTOCONTO + DISPLAY "Gruppo" GRUPPO + DISPLAY "Conto" CONTO + DISPLAY "Sottoconto" SOTTOCONTO + DISPLAY "Descrizione@50" DESCR + OUTPUT F_SO_SOTTOCONTO SOTTOCONTO + OUTPUT F_SO_GRUPPO GRUPPO + OUTPUT F_SO_CONTO CONTO + OUTPUT F_SO_DESCRIZIONE DESCR + CHECKTYPE NORMAL +END + +STRING F_SO_DESCRIZIONE 50 +BEGIN + PROMPT 1 5 "Descrizione " + USE LF_PCON KEY 2 + INPUT DESCR F_SO_DESCRIZIONE + DISPLAY "Descrizione@50" DESCR + DISPLAY "Gruppo" GRUPPO + DISPLAY "Conto" CONTO + DISPLAY "Sottoconto" SOTTOCONTO + OUTPUT F_SO_SOTTOCONTO SOTTOCONTO + OUTPUT F_SO_CONTO CONTO + OUTPUT F_SO_GRUPPO GRUPPO + OUTPUT F_SO_DESCRIZIONE DESCR + CHECKTYPE NORMAL +END + +BUTTON DLG_OK 10 2 +BEGIN + PROMPT -13 -1 "" +END + +BUTTON DLG_DELREC 10 2 +BEGIN + PROMPT -23 -1 "" +END + +BUTTON DLG_CANCEL 10 2 +BEGIN + PROMPT -33 -1 "" +END + +ENDPAGE + +ENDMASK