Patch level :2.1 018

Files correlati     :cm1.exe,cm1100a/b.msk
Ricompilazione Demo : [ ]
Commento            :
78
Bisogna gestire il caso di scadenze di tipo fattura che non siano movimenti IVA. Bisogna
identificare il totela ritenute fiscali e sociali. Si puo' fare inserendo in configurazione una
lista di conti per ciasuna della tipologie. Inoltre questi paramentri e anche gli altri già
presenti dovrebbero essere modificabili da una pagina di opzioni.


git-svn-id: svn://10.65.10.50/trunk@11893 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2004-03-22 14:54:28 +00:00
parent 380e091d84
commit 20709ae1b4
5 changed files with 267 additions and 14 deletions

View File

@ -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();
}

View File

@ -12,5 +12,4 @@
#define F_ACODFOR 110
#define F_ADESFOR 111
#define F_CONFIG 120

View File

@ -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

View File

@ -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

View File

@ -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