Spostato il tipo di pagamento dallo sheet dei documenti a quello
delle rate. Corretti alcuni errori in inserimento/visualizzazione rate. git-svn-id: svn://10.65.10.50/trunk@5433 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
df9fd5a87e
commit
5b25e45971
@ -50,8 +50,12 @@ static TString16 __current_key;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Da fare :
|
||||
// - Errore: quando si elimina una rata il pgm vuota lo spreadsheet e non aggiorna il video
|
||||
// con i dati del documento corrente
|
||||
// - Quando si elimina l'ultima riga dello spreadsheet si posiziona sulla prima senza
|
||||
// mandare un K_TAB per aggiornare le rate
|
||||
// - Browse dei documenti in ricerca, quando si seleziona setta giustamente focusdirty() e manda
|
||||
// un K_TAB. Quando si tenta di uscire dal campo si ha ancora il campo focusdirty()
|
||||
// - Cercare di implementare scarico/saldo righe provvigionali per agente in base ad una
|
||||
// impostata
|
||||
// - Ultimo ma non meno importante (da ritenersi visualmente valido) lo riempimento fisso
|
||||
// degli sheet (documenti e rate) in modo da evitare il fastidiosissimo sfarfallio in
|
||||
// inserimento righe con elementi vuoti
|
||||
@ -67,6 +71,9 @@ bool TGestione_provv_app::calcola_rate_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
TLocalisamfile& doc = *app()._doc;
|
||||
TSheet_field & rs = (TSheet_field&)app()._msk->field(F_RATE_SHEET);// Resetta lo spreadsheet
|
||||
if (rs.items() > 0) // Resetta lo spreadsheet se vi sono delle righe
|
||||
rs.reset();
|
||||
doc.put(DOC_PROVV,"D");
|
||||
doc.put(DOC_ANNO,m.get_int(F_ANNO));
|
||||
doc.put(DOC_CODNUM,m.get(F_CODNUM));
|
||||
@ -84,17 +91,15 @@ bool TGestione_provv_app::calcola_rate_handler(TMask_field& f, KEY key)
|
||||
m.set(F_DATACAMBIO,documento->get_date(DOC_DATACAMBIO));
|
||||
m.set(F_IMPDOC,documento->totale_doc());
|
||||
m.set(F_IMPPRDOC,documento->provvigione());
|
||||
m.set(F_IMPNETDOC, ZERO /* documento->totale_basec() ???*/);
|
||||
m.set(F_IMPNETDOC, documento->totale_netto());
|
||||
// Adesso calcoliamo la provvigione all'atto della fatturazione da inserire
|
||||
// nella rata 0. Il residuo va ripartito nelle rate del documento
|
||||
TProvvigioni_agente& pra = documento->calc_provvigioni();
|
||||
TProvvigioni_agente& pra = documento->calc_provvigioni(FALSE); // Non settare il flag di generata dal documento!
|
||||
|
||||
// Adesso genera le righe da mettere nello spreadsheet. Quando si uscira' dalla riga
|
||||
// attuale verra' chiamata la doc_sheet_notify() con K_ENTER, che memorizza il tutto
|
||||
// gestendo automaticamente la eventuale modifica di un documento gia' presente o meno.
|
||||
|
||||
TSheet_field & rs = (TSheet_field&)app()._msk->field(F_RATE_SHEET);// Resetta lo spreadsheet
|
||||
rs.reset();
|
||||
TRate_doc& rd = pra.rate(documento->anno(), m.get(F_CODNUM), documento->numero()); // Estrae le rate appena calcolate
|
||||
const int numrate = rd.items(); /* Numero rate per questo documento */
|
||||
for (int i = 0; i < numrate; i++)
|
||||
@ -103,6 +108,7 @@ bool TGestione_provv_app::calcola_rate_handler(TMask_field& f, KEY key)
|
||||
TRata& rt = rd[i];
|
||||
ttt.add(rt.rata()); // Numero di rata
|
||||
ttt.add(rt.datascad()); // Data scadenza della rata
|
||||
ttt.add(rt.tipopag()); // Tipo pag per questa rata
|
||||
ttt.add(rt.imprata().string()); // Importo della rata (occhio alla valuta)
|
||||
ttt.add(rt.impprovv().string()); // Importo della provvigione per questa rata
|
||||
ttt.add(""); // Tutti gli altri valori sono a 0
|
||||
@ -233,10 +239,10 @@ void TGestione_provv_app::fill_rate_doc(TRate_doc& rd, TSheet_field& sf)
|
||||
|
||||
bool TGestione_provv_app::rate_sheet_notify(TSheet_field& ds, int r, KEY key)
|
||||
{
|
||||
if (__current_key.empty())
|
||||
TProvvigioni_agente* pa = app()._prag;
|
||||
if (__current_key.empty() || pa->items() == 0)
|
||||
return TRUE;
|
||||
|
||||
TProvvigioni_agente* pa = app()._prag;
|
||||
TRate_doc& rd = pa->rate(__current_key);
|
||||
|
||||
switch (key)
|
||||
@ -244,7 +250,7 @@ bool TGestione_provv_app::rate_sheet_notify(TSheet_field& ds, int r, KEY key)
|
||||
case K_INS: // Inserimento di una nuova rata vuota
|
||||
{
|
||||
TRata* rt = new TRata;
|
||||
rt->set_generata(); // Nuova rata: va segnalata come inserita
|
||||
// Nuova rata: va segnalata come inserita (generata = blank)
|
||||
rd.add_rata(rt);
|
||||
app()._dirty = TRUE;
|
||||
}
|
||||
@ -308,6 +314,7 @@ bool TGestione_provv_app::doc_sheet_notify(TSheet_field& ds, int r, KEY key)
|
||||
TToken_string& ttt = rs.row(i);
|
||||
ttt.add(rt.rata());
|
||||
ttt.add(rt.datascad());
|
||||
ttt.add(rt.tipopag());
|
||||
ttt.add(rt.imprata().string());
|
||||
ttt.add(rt.impprovv().string());
|
||||
ttt.add(rt.pagmat().string());
|
||||
@ -353,6 +360,12 @@ bool TGestione_provv_app::doc_sheet_notify(TSheet_field& ds, int r, KEY key)
|
||||
case K_DEL: // Rimozione della riga r
|
||||
// Rimuove il documento e le rate
|
||||
pa->remove_rate(__current_key);
|
||||
if (pa->items() == 0)
|
||||
{
|
||||
TSheet_field& rs = (TSheet_field&) ds.mask().field(F_RATE_SHEET);
|
||||
if (rs.items() > 0) // Resetta lo spreadsheet se vi sono delle righe
|
||||
rs.reset();
|
||||
}
|
||||
app()._dirty = TRUE;
|
||||
break;
|
||||
default:
|
||||
@ -421,7 +434,7 @@ void TGestione_provv_app::fill_sheet_doc()
|
||||
tt.add(rd.ndoc()); tt.add(rd.datadoc());
|
||||
tt.add(rd.impdoc().string()); tt.add(rd.impprdoc().string());
|
||||
tt.add(rd.impnet().string()); tt.add(rd.codcf());
|
||||
tt.add(rd.tipo()); tt.add(rd.codval());
|
||||
tt.add(rd.codval());
|
||||
tt.add(rd.cambio().string()); tt.add(rd.datacam());
|
||||
}
|
||||
}
|
||||
|
26
pr/pr0700b.h
26
pr/pr0700b.h
@ -17,23 +17,23 @@
|
||||
#define F_IMPPRDOC 106
|
||||
#define F_IMPNETDOC 107
|
||||
#define F_CLIENTE 108
|
||||
#define F_TIPOPAG 109
|
||||
#define F_CODVAL 110
|
||||
#define F_CAMBIO 111
|
||||
#define F_DATACAMBIO 112
|
||||
#define F_RAGCLI 113
|
||||
#define F_CODVAL 109
|
||||
#define F_CAMBIO 110
|
||||
#define F_DATACAMBIO 111
|
||||
#define F_RAGCLI 112
|
||||
|
||||
|
||||
// Sheet rate
|
||||
#define F_RATA 101
|
||||
#define F_DATASCAD 102
|
||||
#define F_IMPRATA 103
|
||||
#define F_IMPPROVV 104
|
||||
#define F_PAGMAT 105
|
||||
#define F_PROVVMAT 106
|
||||
#define F_PAGATO 107
|
||||
#define F_PROVVPAG 108
|
||||
#define F_SALDATA 109
|
||||
#define F_TIPOPAGPR 110
|
||||
#define F_TIPOPAG 103
|
||||
#define F_IMPRATA 104
|
||||
#define F_IMPPROVV 105
|
||||
#define F_PAGMAT 106
|
||||
#define F_PROVVMAT 107
|
||||
#define F_PAGATO 108
|
||||
#define F_PROVVPAG 109
|
||||
#define F_SALDATA 110
|
||||
#define F_TIPOPAGPR 111
|
||||
#define DLG_ENABLE 401
|
||||
|
||||
|
@ -57,7 +57,6 @@ BEGIN
|
||||
ITEM "Provvigione\ndocumento@18"
|
||||
ITEM "Base di calcolo@18"
|
||||
ITEM "Cliente"
|
||||
ITEM "Tipo\npag."
|
||||
ITEM "Valuta"
|
||||
ITEM "Cambio"
|
||||
ITEM "Data\ncambio@10"
|
||||
@ -69,6 +68,7 @@ BEGIN
|
||||
PROMPT 2 12 ""
|
||||
ITEM "Nr. rata"
|
||||
ITEM "Data scadenza"
|
||||
ITEM "Tipo\npag."
|
||||
ITEM "Importo\nrata@18"
|
||||
ITEM "Importo\nprovvigione@18"
|
||||
ITEM "Pagamento\nmaturato@18"
|
||||
@ -121,12 +121,6 @@ BEGIN
|
||||
OUTPUT F_ANNO ANNO
|
||||
OUTPUT F_CODNUM CODNUM
|
||||
OUTPUT F_NDOC NDOC
|
||||
// OUTPUT F_DATADOC DATADOC
|
||||
// OUTPUT F_CLIENTE CODCF
|
||||
// OUTPUT F_CODVAL CODVAL
|
||||
// OUTPUT F_CAMBIO CAMBIO
|
||||
// OUTPUT F_DATACAMBIO DATACAMBIO
|
||||
OUTPUT F_TIPOPAG -401->S4
|
||||
ADD RUN VE0 -1
|
||||
END
|
||||
|
||||
@ -176,20 +170,6 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
LISTBOX F_TIPOPAG 1 20
|
||||
BEGIN
|
||||
PROMPT 2 9 "Tipo pagamento "
|
||||
ITEM "1|Rimessa diretta"
|
||||
ITEM "2|Tratta"
|
||||
ITEM "3|Ri.Ba."
|
||||
ITEM "4|Cessione"
|
||||
ITEM "5|Paghero'"
|
||||
ITEM "6|Lettera di cred."
|
||||
ITEM "7|Tratta accettata"
|
||||
ITEM "8|Rapp. int. dir."
|
||||
ITEM "9|Bonifici"
|
||||
END
|
||||
|
||||
STRING F_CODVAL 3
|
||||
BEGIN
|
||||
PROMPT 2 11 "Codice valuta "
|
||||
@ -234,7 +214,7 @@ ENDMASK
|
||||
|
||||
// Maschera spreadsheet delle rate
|
||||
|
||||
PAGE "" -1 -1 76 14
|
||||
PAGE "" -1 -1 76 15
|
||||
|
||||
NUMBER F_RATA 4
|
||||
BEGIN
|
||||
@ -246,37 +226,35 @@ BEGIN
|
||||
PROMPT 2 2 "Data scadenza "
|
||||
END
|
||||
|
||||
LISTBOX F_TIPOPAG 1 20
|
||||
BEGIN
|
||||
PROMPT 2 3 "Tipo pagamento "
|
||||
ITEM "1|Rimessa diretta"
|
||||
ITEM "2|Tratta"
|
||||
ITEM "3|Ri.Ba."
|
||||
ITEM "4|Cessione"
|
||||
ITEM "5|Paghero'"
|
||||
ITEM "6|Lettera di cred."
|
||||
ITEM "7|Tratta accettata"
|
||||
ITEM "8|Rapp. int. dir."
|
||||
ITEM "9|Bonifici"
|
||||
END
|
||||
|
||||
NUMBER F_IMPRATA 18 2
|
||||
BEGIN
|
||||
PROMPT 2 3 "Importo rata "
|
||||
PROMPT 2 4 "Importo rata "
|
||||
PICTURE "."
|
||||
END
|
||||
|
||||
NUMBER F_IMPPROVV 18 2
|
||||
BEGIN
|
||||
PROMPT 2 4 "Importo provvigione "
|
||||
PROMPT 2 5 "Importo provvigione "
|
||||
PICTURE "."
|
||||
END
|
||||
|
||||
NUMBER F_PAGMAT 18 2
|
||||
BEGIN
|
||||
PROMPT 2 7 "Importo pagamento maturato "
|
||||
PICTURE "."
|
||||
NUM_EXPR {(#THIS_FIELD <= #F_IMPRATA)}
|
||||
WARNING "L'importo pagamento maturato deve essere minore dell'importo della rata"
|
||||
END
|
||||
|
||||
NUMBER F_PROVVMAT 18 2
|
||||
BEGIN
|
||||
PROMPT 2 8 "Importo provvigione maturata "
|
||||
PICTURE "."
|
||||
NUM_EXPR {(#THIS_FIELD <= #F_IMPPROVV)}
|
||||
WARNING "L'importo provvigione maturata deve essere minore dell'importo della provvigione"
|
||||
END
|
||||
|
||||
NUMBER F_PAGATO 18 2
|
||||
BEGIN
|
||||
PROMPT 2 5 "Importo rata pagata "
|
||||
PROMPT 2 6 "Importo rata pagata "
|
||||
PICTURE "."
|
||||
FLAGS "D"
|
||||
GROUP 5
|
||||
@ -284,20 +262,36 @@ END
|
||||
|
||||
NUMBER F_PROVVPAG 18 2
|
||||
BEGIN
|
||||
PROMPT 2 6 "Importo provvigione pagata "
|
||||
PROMPT 2 7 "Importo provvigione pagata "
|
||||
PICTURE "."
|
||||
FLAGS "D"
|
||||
GROUP 5
|
||||
END
|
||||
|
||||
NUMBER F_PAGMAT 18 2
|
||||
BEGIN
|
||||
PROMPT 2 8 "Importo pagamento maturato "
|
||||
PICTURE "."
|
||||
NUM_EXPR {(#THIS_FIELD <= #F_IMPRATA)}
|
||||
WARNING "L'importo pagamento maturato deve essere minore dell'importo della rata"
|
||||
END
|
||||
|
||||
NUMBER F_PROVVMAT 18 2
|
||||
BEGIN
|
||||
PROMPT 2 9 "Importo provvigione maturata "
|
||||
PICTURE "."
|
||||
NUM_EXPR {(#THIS_FIELD <= #F_IMPPROVV)}
|
||||
WARNING "L'importo provvigione maturata deve essere minore dell'importo della provvigione"
|
||||
END
|
||||
|
||||
BOOLEAN F_SALDATA
|
||||
BEGIN
|
||||
PROMPT 2 9 "Rata saldata "
|
||||
PROMPT 2 10 "Rata saldata "
|
||||
END
|
||||
|
||||
LISTBOX F_TIPOPAGPR 1 20
|
||||
BEGIN
|
||||
PROMPT 2 10 "Tipo pagamento "
|
||||
PROMPT 2 11 "Tipo pagamento "
|
||||
ITEM "1|Rimessa diretta"
|
||||
ITEM "2|Tratta"
|
||||
ITEM "3|Ri.Ba."
|
||||
|
Loading…
x
Reference in New Issue
Block a user