Patch level : 10.0 700
Files correlati : ef0.exe Ricompilazione Demo : [ ] Commento : Bug 0001574: Inserire campo per data valuta nelle disposizioni di bonifico fornitore Nel programma Disposizioni di incasso e pagamento occorre inserire un nuovo campo per la data valuta delle disposizioni di bonifico git-svn-id: svn://10.65.10.50/trunk@20309 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
9645f8a124
commit
07d0029df8
@ -32,7 +32,7 @@ protected:
|
|||||||
bool check_bank(TEffetto& effetto, TLog_report& log) const;
|
bool check_bank(TEffetto& effetto, TLog_report& log) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
bool calc_residual(const TRiga_scadenze& scad, real& impres, real& imppag,
|
bool calc_residual(const TRiga_scadenze& scad, real& impres, real& imppag, TDate & datapag, bool & valben,
|
||||||
char& accsal, int& rdist, int& reff,
|
char& accsal, int& rdist, int& reff,
|
||||||
bool& partially_unassigned, int& tipopag, bool is_old = false) const;
|
bool& partially_unassigned, int& tipopag, bool is_old = false) const;
|
||||||
bool fill_row(const TRiga_scadenze& rs, TToken_string& row, bool& partially_unassigned, bool force, bool is_new);
|
bool fill_row(const TRiga_scadenze& rs, TToken_string& row, bool& partially_unassigned, bool force, bool is_new);
|
||||||
@ -41,6 +41,7 @@ public:
|
|||||||
bool fill_distinta(bool clear_all = false);
|
bool fill_distinta(bool clear_all = false);
|
||||||
void sort_sheet();
|
void sort_sheet();
|
||||||
void update_total();
|
void update_total();
|
||||||
|
virtual bool on_key(KEY key);
|
||||||
|
|
||||||
TRectype& new_row_effetto(TDistinta& dist, char tipocf, long codcf,
|
TRectype& new_row_effetto(TDistinta& dist, char tipocf, long codcf,
|
||||||
int& rigadist, int& rigaeff) const;
|
int& rigadist, int& rigaeff) const;
|
||||||
@ -52,10 +53,32 @@ public:
|
|||||||
virtual ~TPE_mask();
|
virtual ~TPE_mask();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
bool TPE_mask::on_key(KEY key)
|
||||||
|
{
|
||||||
|
if (key == K_F8)
|
||||||
|
{
|
||||||
|
TSheet_field & s = sfield(F_SHEET);
|
||||||
|
const int row = s.selected();
|
||||||
|
|
||||||
|
if (row >= 0)
|
||||||
|
{
|
||||||
|
s.update_row(row);
|
||||||
|
TToken_string & r = s.row(row);
|
||||||
|
|
||||||
|
r.add(get(F_DATADIST), s.cid2index(F_DATAPAG));
|
||||||
|
s.update_mask(row);
|
||||||
|
s.force_update(row);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// Calcola il residuo di una rata tenendo conto anche degli eventuali
|
// Calcola il residuo di una rata tenendo conto anche degli eventuali
|
||||||
// effetti non ancora contabilizzati
|
// effetti non ancora contabilizzati
|
||||||
bool TPE_mask::calc_residual(const TRiga_scadenze& scad,
|
bool TPE_mask::calc_residual(const TRiga_scadenze& scad,
|
||||||
real& impres, real& imppag,
|
real& impres, real& imppag, TDate & datapag, bool & valben,
|
||||||
char& accsal, int& rdist, int& reff,
|
char& accsal, int& rdist, int& reff,
|
||||||
bool& partially_unassigned, int& tipopag,
|
bool& partially_unassigned, int& tipopag,
|
||||||
bool is_old) const
|
bool is_old) const
|
||||||
@ -137,6 +160,8 @@ bool TPE_mask::calc_residual(const TRiga_scadenze& scad,
|
|||||||
if (effkey == key)
|
if (effkey == key)
|
||||||
{
|
{
|
||||||
rdist = effe.get_int(EFF_NRIGADIST);
|
rdist = effe.get_int(EFF_NRIGADIST);
|
||||||
|
datapag = effe.get_date(EFF_DATASCAD);
|
||||||
|
valben = effe.get_bool(EFF_DSCVAL);
|
||||||
reff = riga.get_int(REFF_NRIGATR);
|
reff = riga.get_int(REFF_NRIGATR);
|
||||||
accsal = riga.get_char(REFF_ACCSAL);
|
accsal = riga.get_char(REFF_ACCSAL);
|
||||||
imppag += riga.get_real(valuta ? REFF_IMPORTOVAL : REFF_IMPORTO);
|
imppag += riga.get_real(valuta ? REFF_IMPORTOVAL : REFF_IMPORTO);
|
||||||
@ -177,14 +202,19 @@ bool TPE_mask::fill_row(const TRiga_scadenze& rs, TToken_string& row, bool& part
|
|||||||
int tipopag = 0;
|
int tipopag = 0;
|
||||||
real impres, imppag;
|
real impres, imppag;
|
||||||
char accsal; int rigadist, rigaeff;
|
char accsal; int rigadist, rigaeff;
|
||||||
|
TDate datapag;
|
||||||
|
bool valben = false;
|
||||||
|
|
||||||
row.cut(0);
|
row.cut(0);
|
||||||
bool ok = calc_residual(rs, impres, imppag, accsal, rigadist, rigaeff, partially_unassigned, tipopag, is_old) || force;
|
bool ok = calc_residual(rs, impres, imppag, datapag, valben, accsal, rigadist, rigaeff, partially_unassigned, tipopag, is_old) || force;
|
||||||
if (ok)
|
if (ok)
|
||||||
ok = tipopageff == 0 || tipopag == tipopageff; // Eventuale filtro sul tipo pagamento
|
ok = tipopageff == 0 || tipopag == tipopageff; // Eventuale filtro sul tipo pagamento
|
||||||
if (ok)
|
if (ok)
|
||||||
{
|
{
|
||||||
row.add(imppag.string());
|
row.add(imppag.string());
|
||||||
row.add(accsal);
|
row.add(accsal);
|
||||||
|
row.add(datapag == rs.get_date(SCAD_DATASCAD) ? "" : datapag);
|
||||||
|
row.add(valben ? "X" : "");
|
||||||
row.add(impres.string());
|
row.add(impres.string());
|
||||||
row.add(rs.get_long(SCAD_SOTTOCONTO));
|
row.add(rs.get_long(SCAD_SOTTOCONTO));
|
||||||
TString8 cod; cod << rs.get_char(SCAD_TIPOCF) << '|' << rs.get_long(SCAD_SOTTOCONTO);
|
TString8 cod; cod << rs.get_char(SCAD_TIPOCF) << '|' << rs.get_long(SCAD_SOTTOCONTO);
|
||||||
@ -654,7 +684,14 @@ void TPE_mask::save_rate()
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEffetto& eff = distinta[rigadist-1];
|
TEffetto& eff = distinta[rigadist-1];
|
||||||
eff.put(EFF_DATASCAD, scad.get(SCAD_DATASCAD));
|
|
||||||
|
// eff.put(EFF_DATASCAD, scad.get(SCAD_DATASCAD));
|
||||||
|
TDate datapag(row->get(sheet.cid2index(F_DATAPAG)));
|
||||||
|
|
||||||
|
if (!datapag.ok())
|
||||||
|
datapag = scad.get(SCAD_DATASCAD);
|
||||||
|
eff.put(EFF_DATASCAD, datapag);
|
||||||
|
eff.put(EFF_DSCVAL, row->get(sheet.cid2index(F_VALBEN)));
|
||||||
eff.put(EFF_TIPOPAG, tipopag);
|
eff.put(EFF_TIPOPAG, tipopag);
|
||||||
eff.put(EFF_CODABI, abi);
|
eff.put(EFF_CODABI, abi);
|
||||||
eff.put(EFF_CODCAB, cab);
|
eff.put(EFF_CODCAB, cab);
|
||||||
@ -1021,6 +1058,15 @@ bool TPE_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
|||||||
enable(F_AGGIORNA);
|
enable(F_AGGIORNA);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case F_DATAPAG:
|
||||||
|
if (e == fe_close)
|
||||||
|
{
|
||||||
|
TDate datapag(o.get());
|
||||||
|
|
||||||
|
if (!datapag.ok())
|
||||||
|
datapag = o.mask().get(F_DATA);
|
||||||
|
return datapag >= get_date(F_DATADIST) || yesno_box("Riga n. %d. Data pagamento precedente alla data distinta.\n Si desidera continuare", sfield(F_SHEET).selected());
|
||||||
|
}
|
||||||
case F_SHEET:
|
case F_SHEET:
|
||||||
return on_sheet_event(o, e, jolly);
|
return on_sheet_event(o, e, jolly);
|
||||||
default:
|
default:
|
||||||
|
24
ef/ef0a00a.h
24
ef/ef0a00a.h
@ -31,14 +31,16 @@
|
|||||||
#define F_PAGA 100
|
#define F_PAGA 100
|
||||||
#define F_IMPORTO 101
|
#define F_IMPORTO 101
|
||||||
#define F_ACCSAL 102
|
#define F_ACCSAL 102
|
||||||
#define F_RESIDUO 103
|
#define F_DATAPAG 103
|
||||||
#define F_CODCF 104
|
#define F_VALBEN 104
|
||||||
#define F_RAGSOC 105
|
#define F_RESIDUO 105
|
||||||
#define F_ANNO 106
|
#define F_CODCF 106
|
||||||
#define F_PARTITA 107
|
#define F_RAGSOC 107
|
||||||
#define F_RIGA 108
|
#define F_ANNO 108
|
||||||
#define F_RATA 109
|
#define F_PARTITA 109
|
||||||
#define F_DATA 110
|
#define F_RIGA 110
|
||||||
#define F_RIGADIST 111
|
#define F_RATA 111
|
||||||
#define F_RIGAEFF 112
|
#define F_DATA 112
|
||||||
#define F_DESC_TIPO 113
|
#define F_RIGADIST 113
|
||||||
|
#define F_RIGAEFF 114
|
||||||
|
#define F_DESC_TIPO 115
|
||||||
|
@ -33,7 +33,7 @@ BEGIN
|
|||||||
PICTURE BMP_PRINT
|
PICTURE BMP_PRINT
|
||||||
END
|
END
|
||||||
|
|
||||||
#include <helpbar.h>
|
#include <cancelbar.h>
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
@ -324,6 +324,8 @@ BEGIN
|
|||||||
PROMPT 0 12 ""
|
PROMPT 0 12 ""
|
||||||
ITEM "Importo@18"
|
ITEM "Importo@18"
|
||||||
ITEM "A/S@3"
|
ITEM "A/S@3"
|
||||||
|
ITEM "Data Pagamento"
|
||||||
|
ITEM "Val.Ben."
|
||||||
ITEM "Residuo@18"
|
ITEM "Residuo@18"
|
||||||
ITEM "Codice"
|
ITEM "Codice"
|
||||||
ITEM "Ragione Sociale@20"
|
ITEM "Ragione Sociale@20"
|
||||||
@ -353,7 +355,7 @@ ENDPAGE
|
|||||||
|
|
||||||
ENDMASK
|
ENDMASK
|
||||||
|
|
||||||
PAGE "Rate" -1 -1 60 10
|
PAGE "Rate" -1 -1 70 10
|
||||||
|
|
||||||
NUMBER F_RIGADIST 4
|
NUMBER F_RIGADIST 4
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -409,6 +411,17 @@ BEGIN
|
|||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_VALBEN
|
||||||
|
BEGIN
|
||||||
|
PROMPT 21 4 "Valuta benefciario"
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATAPAG
|
||||||
|
BEGIN
|
||||||
|
PROMPT 40 4 "Data pagamento "
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
CURRENCY F_RESIDUO 18
|
CURRENCY F_RESIDUO 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 5 "Residuo "
|
PROMPT 1 5 "Residuo "
|
||||||
@ -429,12 +442,16 @@ BEGIN
|
|||||||
ITEM "S|Saldo"
|
ITEM "S|Saldo"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DESC_TIPO 20
|
STRING F_DESC_TIPO 30
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 7 "Tipo pagamento "
|
PROMPT 1 7 "Tipo pagamento "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
TOOLBAR "" 0 0 0 2
|
||||||
|
|
||||||
BUTTON DLG_OK 10 2
|
BUTTON DLG_OK 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -13 -1 ""
|
PROMPT -13 -1 ""
|
||||||
|
@ -36,5 +36,6 @@
|
|||||||
#define EFF_ACCSAL "ACCSAL"
|
#define EFF_ACCSAL "ACCSAL"
|
||||||
#define EFF_SPESE "SPESE"
|
#define EFF_SPESE "SPESE"
|
||||||
#define EFF_PROGBNP "PROGBNP"
|
#define EFF_PROGBNP "PROGBNP"
|
||||||
|
#define EFF_DSCVAL "DSCVAL"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user