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:
parent
380e091d84
commit
20709ae1b4
@ -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();
|
||||
}
|
||||
|
@ -12,5 +12,4 @@
|
||||
#define F_ACODFOR 110
|
||||
#define F_ADESFOR 111
|
||||
|
||||
#define F_CONFIG 120
|
||||
|
||||
|
@ -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
|
||||
|
12
cm/cm1100b.h
12
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
|
||||
|
202
cm/cm1100b.uml
202
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user