Tabella pagamenti

git-svn-id: svn://10.65.10.50/trunk@1690 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
villa 1995-08-08 10:48:54 +00:00
parent 1d57986ec6
commit b926f9d727
3 changed files with 189 additions and 32 deletions

View File

@ -49,6 +49,9 @@ protected:
static bool tipo_prima_rata (TMask_field& f, KEY k);
static bool numero_rate (TMask_field& f, KEY k);
static bool mese_commerciale (TMask_field& f, KEY k);
static bool fixed_scad (TMask_field& f, KEY k);
static bool tipo_rata (TMask_field& f, KEY k);
static bool ult_class (TMask_field& f, KEY k);
void* _app_data;
@ -88,6 +91,11 @@ bool BA3700_application::user_create()
_msk->set_handler (F_TIPO_PRIMA_RATA , tipo_prima_rata);
_msk->set_handler (F_NUM_RATE , numero_rate);
_msk->set_handler (F_MESECOMM , mese_commerciale);
_msk->set_handler (F_FIXSCAD_1 , fixed_scad);
_msk->set_handler (F_FIXSCAD_2 , fixed_scad);
_msk->set_handler (F_FIXSCAD_3 , fixed_scad);
_msk->set_handler (F_TIPO_RATA , tipo_rata);
_msk->set_handler (F_ULT_CLASS , ult_class);
shuttle._msk = _msk;
shuttle._sht = _cs;
@ -203,7 +211,7 @@ bool BA3700_application::tipo_prima_rata(TMask_field& f, KEY k)
// aggiunge o toglie se necessario rata 0, lasciando
// le altre e shiftando le scadenze
// pag->set_tipo_prima_rata()
if (k != K_TAB) return TRUE;
// if (k != K_TAB) return TRUE;
sht* s = (sht*)get_app_data();
TPagamento* pag = s->_pag;
@ -277,6 +285,54 @@ bool BA3700_application::mese_commerciale(TMask_field& f, KEY k)
return TRUE;
}
bool BA3700_application::fixed_scad(TMask_field& f, KEY k)
{
// setta mcomm e ricalcola le scadenze
// pag->set_mese_commerciale()
if (k != K_TAB) return TRUE;
sht* s = (sht*)get_app_data();
TPagamento* pag = s->_pag;
if (!pag) return TRUE;
int ir = 0;
if (f.dlg() == F_FIXSCAD_2) ir = 1;
else if (f.dlg() == F_FIXSCAD_3) ir = 2;
pag->set_fixed_scad(atoi(f.get()),ir);
return TRUE;
}
bool BA3700_application::tipo_rata(TMask_field& f, KEY k)
{
sht* s = (sht*)get_app_data();
TPagamento* pag = s->_pag;
TSheet_field* shf = s->_sht;
if (k == K_TAB && pag)
{
pag->set_default_type(atoi(f.get()));
pag->set_sheet(*shf);
}
return TRUE;
}
bool BA3700_application::ult_class(TMask_field& f, KEY k)
{
sht* s = (sht*)get_app_data();
TPagamento* pag = s->_pag;
TSheet_field* shf = s->_sht;
if (k == K_TAB && pag)
{
pag->set_default_ulc(f.get());
pag->set_sheet(*shf);
}
return TRUE;
}
// qui viene il belloccio
bool BA3700_application::sheet_action(int r, KEY k)
{
@ -296,7 +352,6 @@ bool BA3700_application::sheet_action(int r, KEY k)
TToken_string ts(36), ns(36);
bool recalc = TRUE;
switch (k)
{
case K_SPACE:
@ -319,13 +374,10 @@ bool BA3700_application::sheet_action(int r, KEY k)
const real p1(newp);
if (p0 != p1) // modificata percentuale
{
mod = m_perc = TRUE;
}
if (strcmp(ts.get(2),newt) != 0) // modificato tipo pagamento
{
mod = m_tipo = TRUE;
}
}
break;
case K_DEL:

View File

@ -12,3 +12,11 @@
#define F_RATE_DIFF 108
#define F_INT_RATE 109
#define F_NUM_RATE 110
#define F_TIPO_RATA 111
#define F_EQUAL_FROM 112
#define F_START_RATA 113
#define F_ULT_CLASS 114
#define F_FIXSCAD_1 115
#define F_FIXSCAD_2 116
#define F_FIXSCAD_3 117

View File

@ -43,14 +43,14 @@ BEGIN
KEY 2
END
GROUPBOX DLG_NULL 71 5
GROUPBOX DLG_NULL 71 7
BEGIN
PROMPT 4 4 ""
END
STRING F_INIZIOSCAD 1
BEGIN
PROMPT 6 5 "Part.iniz. calcolo "
PROMPT 5 5 "Inizio calcolo"
HELP "Modalita' di inizio conteggio calcolo scadenza"
FIELD %CPG->S1
SHEET "Cod|Descrizione@30"
@ -63,16 +63,9 @@ BEGIN
FLAGS "U"
END
BOOLEAN F_MESECOMM
BEGIN
PROMPT 49 5 " Mese commerciale"
HELP "Indicare se si utilizza il mese commerciale (30 gg)"
FIELD %CPG->B0
END
STRING F_TIPO_PRIMA_RATA 1
BEGIN
PROMPT 6 6 "Tipo prima rata "
PROMPT 28 5 "Tipo prima rata"
HELP "Tipo di conteggio per la prima rata"
FIELD %CPG->S3
SHEET "Cod|Descrizione@60"
@ -87,33 +80,135 @@ BEGIN
ITEM "6|Merce sulla prima rata, imposte e spese sulle altre"
END
LIST F_RATE_DIFF 27
BEGIN
PROMPT 35 6 " Rate "
HELP "Descrizione delle rate"
ITEM "1|Differenziate"
ITEM "2|Uguali"
ITEM "3|Uguali dall'ultima modificata"
ITEM "4|Uguali finche' possibile"
END
NUMBER F_NUM_RATE 3
BEGIN
PROMPT 6 7 "Numero di rate "
PROMPT 54 5 "Numero rate"
HELP "Numero delle rate"
FLAGS "R"
END
NUMBER F_INT_RATE 4
LIST F_TIPO_RATA 25
BEGIN
PROMPT 35 7 "Intervallo tra rate successive "
PROMPT 5 6 "Tipo rata "
HELP "Tipo rata da utilizzare per le scadenze"
ITEM "1|Rimessa diretta o contanti"
ITEM "2|Tratta"
ITEM "3|Ricevuta bancaria"
ITEM "4|Cessione"
ITEM "5|Paghero' appena posso"
ITEM "6|Lettera di credito"
ITEM "7|Tratta accettata"
ITEM "8|Rapporti interbancari diretti"
ITEM "9|Bonifici"
END
NUMBER F_INT_RATE 3
BEGIN
PROMPT 50 6 "Intervallo rate"
HELP "Giorni di intervallo tra una data e l'altra"
FLAGS "R"
END
SPREADSHEET F_SHEET_RPG 70 9
LIST F_RATE_DIFF 25
BEGIN
PROMPT 4 9 ""
PROMPT 5 7 "Rate "
HELP "Descrizione del meccanismo di generazione rate "
ITEM "1|Differenziate"
ITEM "2|Uguali"
ITEM "3|Uguali dall'ultima modificata"
ITEM "4|Uguali finche' possibile"
END
STRING F_ULT_CLASS 2
BEGIN
PROMPT 53 7 "Ult. class."
USE %CLR
INPUT CODTAB[1,1] F_TIPO_RATA SELECT
INPUT CODTAB[2,2] F_ULT_CLASS
DISPLAY "Tipo pagamento" CODTAB[1,1]
DISPLAY "Classificazione" CODTAB[2,2]
DISPLAY "Descrizione@50" S0
OUTPUT F_ULT_CLASS CODTAB[2,2]
CHECKTYPE NORMAL
HELP "Codice default per ulteriore classificazione della data"
END
/**********************************************************************
* nuova versione, forse inutile; per ora teniamo la vecchia e vediamo
* cosa dicono
LIST F_RATE_DIFF 12
BEGIN
PROMPT 5 7 "Rate "
HELP "Descrizione delle rate "
ITEM "1|Differenziate" MESSAGE DISABLE,F_EQUAL_FROM
ITEM "2|Uguali" MESSAGE ENABLE,F_EQUAL_FROM
// ITEM "3|Uguali dall'ultima modificata"
// ITEM "4|Uguali finche' possibile"
END
LIST F_EQUAL_FROM 14
BEGIN
PROMPT 35 7 "a partire da"
ITEM "1|Rata numero... " MESSAGE ENABLE,F_START_RATA
ITEM "2|Ultima modificata" MESSAGE DISABLE,F_START_RATA
END
NUMBER F_START_RATA 2
BEGIN
PROMPT 65 7 ""
END
STRING F_ULT_CLASS 3
BEGIN
PROMPT 5 9 "Ulteriore classificazione"
USE %CLR
INPUT CODTAB[1,1] F_TIPO_RATA SELECT
INPUT CODTAB[2,2] F_ULT_CLASS
DISPLAY "Tipo pagamento" CODTAB[1,1]
DISPLAY "Classificazione" CODTAB[2,2]
DISPLAY "Descrizione@50" S0
OUTPUT F_ULT_CLASS CODTAB[2,2]
CHECKTYPE NORMAL
HELP "Codice default per ulteriore classificazione della data"
END
********************************************************************/
NUMBER F_FIXSCAD_1 2
BEGIN
PROMPT 5 9 "Giorni scadenza fissi (1)"
FIELD %CPG->I0
HELP "Giorno scadenza obbligato: prima alternativa"
END
NUMBER F_FIXSCAD_2 2
BEGIN
PROMPT 36 9 "(2)"
FIELD %CPG->I1
HELP "Giorno scadenza obbligato: seconda alternativa"
END
NUMBER F_FIXSCAD_3 2
BEGIN
PROMPT 44 9 "(3)"
FIELD %CPG->I2
HELP "Giorno scadenza obbligato: terza alternativa"
END
BOOLEAN F_MESECOMM
BEGIN
PROMPT 54 9 "Mese commerciale"
HELP "Indicare se si utilizza il mese commerciale (30 gg)"
FIELD %CPG->B0
END
SPREADSHEET F_SHEET_RPG 70 7
BEGIN
PROMPT 4 11 ""
ITEM "N.ro giorni rata"
ITEM "Percentuale"
ITEM "Tipo"
@ -144,7 +239,7 @@ END
NUMBER 103 1
BEGIN
PROMPT 4 5 "Tipo pagamento "
PROMPT 4 5 "Tipo pagamento "
HELP "Tipo di pagamento per la rata"
SHEET "Codice|Tipo pagamento@32"
INPUT 103
@ -157,7 +252,9 @@ BEGIN
ITEM "5|Paghero'"
ITEM "6|Lettera di credito"
ITEM "7|Tratta accettata"
ITEM "8|Altro pagamento"
ITEM "8|Rapporti interbancari diretti"
ITEM "9|Bonifici"
ITEM "10|Altro pagamento"
END
STRING 104 28