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 :
|
// Da fare :
|
||||||
// - Errore: quando si elimina una rata il pgm vuota lo spreadsheet e non aggiorna il video
|
// - Quando si elimina l'ultima riga dello spreadsheet si posiziona sulla prima senza
|
||||||
// con i dati del documento corrente
|
// 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
|
// - 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
|
// degli sheet (documenti e rate) in modo da evitare il fastidiosissimo sfarfallio in
|
||||||
// inserimento righe con elementi vuoti
|
// 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();
|
TMask& m = f.mask();
|
||||||
TLocalisamfile& doc = *app()._doc;
|
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_PROVV,"D");
|
||||||
doc.put(DOC_ANNO,m.get_int(F_ANNO));
|
doc.put(DOC_ANNO,m.get_int(F_ANNO));
|
||||||
doc.put(DOC_CODNUM,m.get(F_CODNUM));
|
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_DATACAMBIO,documento->get_date(DOC_DATACAMBIO));
|
||||||
m.set(F_IMPDOC,documento->totale_doc());
|
m.set(F_IMPDOC,documento->totale_doc());
|
||||||
m.set(F_IMPPRDOC,documento->provvigione());
|
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
|
// Adesso calcoliamo la provvigione all'atto della fatturazione da inserire
|
||||||
// nella rata 0. Il residuo va ripartito nelle rate del documento
|
// 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
|
// 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
|
// 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.
|
// 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
|
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 */
|
const int numrate = rd.items(); /* Numero rate per questo documento */
|
||||||
for (int i = 0; i < numrate; i++)
|
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];
|
TRata& rt = rd[i];
|
||||||
ttt.add(rt.rata()); // Numero di rata
|
ttt.add(rt.rata()); // Numero di rata
|
||||||
ttt.add(rt.datascad()); // Data scadenza della 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.imprata().string()); // Importo della rata (occhio alla valuta)
|
||||||
ttt.add(rt.impprovv().string()); // Importo della provvigione per questa rata
|
ttt.add(rt.impprovv().string()); // Importo della provvigione per questa rata
|
||||||
ttt.add(""); // Tutti gli altri valori sono a 0
|
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)
|
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;
|
return TRUE;
|
||||||
|
|
||||||
TProvvigioni_agente* pa = app()._prag;
|
|
||||||
TRate_doc& rd = pa->rate(__current_key);
|
TRate_doc& rd = pa->rate(__current_key);
|
||||||
|
|
||||||
switch (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
|
case K_INS: // Inserimento di una nuova rata vuota
|
||||||
{
|
{
|
||||||
TRata* rt = new TRata;
|
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);
|
rd.add_rata(rt);
|
||||||
app()._dirty = TRUE;
|
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);
|
TToken_string& ttt = rs.row(i);
|
||||||
ttt.add(rt.rata());
|
ttt.add(rt.rata());
|
||||||
ttt.add(rt.datascad());
|
ttt.add(rt.datascad());
|
||||||
|
ttt.add(rt.tipopag());
|
||||||
ttt.add(rt.imprata().string());
|
ttt.add(rt.imprata().string());
|
||||||
ttt.add(rt.impprovv().string());
|
ttt.add(rt.impprovv().string());
|
||||||
ttt.add(rt.pagmat().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
|
case K_DEL: // Rimozione della riga r
|
||||||
// Rimuove il documento e le rate
|
// Rimuove il documento e le rate
|
||||||
pa->remove_rate(__current_key);
|
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;
|
app()._dirty = TRUE;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -421,7 +434,7 @@ void TGestione_provv_app::fill_sheet_doc()
|
|||||||
tt.add(rd.ndoc()); tt.add(rd.datadoc());
|
tt.add(rd.ndoc()); tt.add(rd.datadoc());
|
||||||
tt.add(rd.impdoc().string()); tt.add(rd.impprdoc().string());
|
tt.add(rd.impdoc().string()); tt.add(rd.impprdoc().string());
|
||||||
tt.add(rd.impnet().string()); tt.add(rd.codcf());
|
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());
|
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_IMPPRDOC 106
|
||||||
#define F_IMPNETDOC 107
|
#define F_IMPNETDOC 107
|
||||||
#define F_CLIENTE 108
|
#define F_CLIENTE 108
|
||||||
#define F_TIPOPAG 109
|
#define F_CODVAL 109
|
||||||
#define F_CODVAL 110
|
#define F_CAMBIO 110
|
||||||
#define F_CAMBIO 111
|
#define F_DATACAMBIO 111
|
||||||
#define F_DATACAMBIO 112
|
#define F_RAGCLI 112
|
||||||
#define F_RAGCLI 113
|
|
||||||
|
|
||||||
|
|
||||||
// Sheet rate
|
// Sheet rate
|
||||||
#define F_RATA 101
|
#define F_RATA 101
|
||||||
#define F_DATASCAD 102
|
#define F_DATASCAD 102
|
||||||
#define F_IMPRATA 103
|
#define F_TIPOPAG 103
|
||||||
#define F_IMPPROVV 104
|
#define F_IMPRATA 104
|
||||||
#define F_PAGMAT 105
|
#define F_IMPPROVV 105
|
||||||
#define F_PROVVMAT 106
|
#define F_PAGMAT 106
|
||||||
#define F_PAGATO 107
|
#define F_PROVVMAT 107
|
||||||
#define F_PROVVPAG 108
|
#define F_PAGATO 108
|
||||||
#define F_SALDATA 109
|
#define F_PROVVPAG 109
|
||||||
#define F_TIPOPAGPR 110
|
#define F_SALDATA 110
|
||||||
|
#define F_TIPOPAGPR 111
|
||||||
#define DLG_ENABLE 401
|
#define DLG_ENABLE 401
|
||||||
|
|
||||||
|
@ -57,7 +57,6 @@ BEGIN
|
|||||||
ITEM "Provvigione\ndocumento@18"
|
ITEM "Provvigione\ndocumento@18"
|
||||||
ITEM "Base di calcolo@18"
|
ITEM "Base di calcolo@18"
|
||||||
ITEM "Cliente"
|
ITEM "Cliente"
|
||||||
ITEM "Tipo\npag."
|
|
||||||
ITEM "Valuta"
|
ITEM "Valuta"
|
||||||
ITEM "Cambio"
|
ITEM "Cambio"
|
||||||
ITEM "Data\ncambio@10"
|
ITEM "Data\ncambio@10"
|
||||||
@ -69,6 +68,7 @@ BEGIN
|
|||||||
PROMPT 2 12 ""
|
PROMPT 2 12 ""
|
||||||
ITEM "Nr. rata"
|
ITEM "Nr. rata"
|
||||||
ITEM "Data scadenza"
|
ITEM "Data scadenza"
|
||||||
|
ITEM "Tipo\npag."
|
||||||
ITEM "Importo\nrata@18"
|
ITEM "Importo\nrata@18"
|
||||||
ITEM "Importo\nprovvigione@18"
|
ITEM "Importo\nprovvigione@18"
|
||||||
ITEM "Pagamento\nmaturato@18"
|
ITEM "Pagamento\nmaturato@18"
|
||||||
@ -121,12 +121,6 @@ BEGIN
|
|||||||
OUTPUT F_ANNO ANNO
|
OUTPUT F_ANNO ANNO
|
||||||
OUTPUT F_CODNUM CODNUM
|
OUTPUT F_CODNUM CODNUM
|
||||||
OUTPUT F_NDOC NDOC
|
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
|
ADD RUN VE0 -1
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -176,20 +170,6 @@ BEGIN
|
|||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
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
|
STRING F_CODVAL 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 11 "Codice valuta "
|
PROMPT 2 11 "Codice valuta "
|
||||||
@ -234,7 +214,7 @@ ENDMASK
|
|||||||
|
|
||||||
// Maschera spreadsheet delle rate
|
// Maschera spreadsheet delle rate
|
||||||
|
|
||||||
PAGE "" -1 -1 76 14
|
PAGE "" -1 -1 76 15
|
||||||
|
|
||||||
NUMBER F_RATA 4
|
NUMBER F_RATA 4
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -246,37 +226,35 @@ BEGIN
|
|||||||
PROMPT 2 2 "Data scadenza "
|
PROMPT 2 2 "Data scadenza "
|
||||||
END
|
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
|
NUMBER F_IMPRATA 18 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 3 "Importo rata "
|
PROMPT 2 4 "Importo rata "
|
||||||
PICTURE "."
|
PICTURE "."
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_IMPPROVV 18 2
|
NUMBER F_IMPPROVV 18 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 4 "Importo provvigione "
|
PROMPT 2 5 "Importo provvigione "
|
||||||
PICTURE "."
|
PICTURE "."
|
||||||
END
|
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
|
NUMBER F_PAGATO 18 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 5 "Importo rata pagata "
|
PROMPT 2 6 "Importo rata pagata "
|
||||||
PICTURE "."
|
PICTURE "."
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
GROUP 5
|
GROUP 5
|
||||||
@ -284,20 +262,36 @@ END
|
|||||||
|
|
||||||
NUMBER F_PROVVPAG 18 2
|
NUMBER F_PROVVPAG 18 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 6 "Importo provvigione pagata "
|
PROMPT 2 7 "Importo provvigione pagata "
|
||||||
PICTURE "."
|
PICTURE "."
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
GROUP 5
|
GROUP 5
|
||||||
END
|
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
|
BOOLEAN F_SALDATA
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 9 "Rata saldata "
|
PROMPT 2 10 "Rata saldata "
|
||||||
END
|
END
|
||||||
|
|
||||||
LISTBOX F_TIPOPAGPR 1 20
|
LISTBOX F_TIPOPAGPR 1 20
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 10 "Tipo pagamento "
|
PROMPT 2 11 "Tipo pagamento "
|
||||||
ITEM "1|Rimessa diretta"
|
ITEM "1|Rimessa diretta"
|
||||||
ITEM "2|Tratta"
|
ITEM "2|Tratta"
|
||||||
ITEM "3|Ri.Ba."
|
ITEM "3|Ri.Ba."
|
||||||
|
Loading…
x
Reference in New Issue
Block a user