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;
|
||||
|
||||
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,
|
||||
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);
|
||||
@ -41,6 +41,7 @@ public:
|
||||
bool fill_distinta(bool clear_all = false);
|
||||
void sort_sheet();
|
||||
void update_total();
|
||||
virtual bool on_key(KEY key);
|
||||
|
||||
TRectype& new_row_effetto(TDistinta& dist, char tipocf, long codcf,
|
||||
int& rigadist, int& rigaeff) const;
|
||||
@ -52,10 +53,32 @@ public:
|
||||
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
|
||||
// effetti non ancora contabilizzati
|
||||
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,
|
||||
bool& partially_unassigned, int& tipopag,
|
||||
bool is_old) const
|
||||
@ -137,6 +160,8 @@ bool TPE_mask::calc_residual(const TRiga_scadenze& scad,
|
||||
if (effkey == key)
|
||||
{
|
||||
rdist = effe.get_int(EFF_NRIGADIST);
|
||||
datapag = effe.get_date(EFF_DATASCAD);
|
||||
valben = effe.get_bool(EFF_DSCVAL);
|
||||
reff = riga.get_int(REFF_NRIGATR);
|
||||
accsal = riga.get_char(REFF_ACCSAL);
|
||||
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;
|
||||
real impres, imppag;
|
||||
char accsal; int rigadist, rigaeff;
|
||||
TDate datapag;
|
||||
bool valben = false;
|
||||
|
||||
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)
|
||||
ok = tipopageff == 0 || tipopag == tipopageff; // Eventuale filtro sul tipo pagamento
|
||||
if (ok)
|
||||
{
|
||||
row.add(imppag.string());
|
||||
row.add(accsal);
|
||||
row.add(datapag == rs.get_date(SCAD_DATASCAD) ? "" : datapag);
|
||||
row.add(valben ? "X" : "");
|
||||
row.add(impres.string());
|
||||
row.add(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];
|
||||
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_CODABI, abi);
|
||||
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);
|
||||
}
|
||||
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:
|
||||
return on_sheet_event(o, e, jolly);
|
||||
default:
|
||||
|
24
ef/ef0a00a.h
24
ef/ef0a00a.h
@ -31,14 +31,16 @@
|
||||
#define F_PAGA 100
|
||||
#define F_IMPORTO 101
|
||||
#define F_ACCSAL 102
|
||||
#define F_RESIDUO 103
|
||||
#define F_CODCF 104
|
||||
#define F_RAGSOC 105
|
||||
#define F_ANNO 106
|
||||
#define F_PARTITA 107
|
||||
#define F_RIGA 108
|
||||
#define F_RATA 109
|
||||
#define F_DATA 110
|
||||
#define F_RIGADIST 111
|
||||
#define F_RIGAEFF 112
|
||||
#define F_DESC_TIPO 113
|
||||
#define F_DATAPAG 103
|
||||
#define F_VALBEN 104
|
||||
#define F_RESIDUO 105
|
||||
#define F_CODCF 106
|
||||
#define F_RAGSOC 107
|
||||
#define F_ANNO 108
|
||||
#define F_PARTITA 109
|
||||
#define F_RIGA 110
|
||||
#define F_RATA 111
|
||||
#define F_DATA 112
|
||||
#define F_RIGADIST 113
|
||||
#define F_RIGAEFF 114
|
||||
#define F_DESC_TIPO 115
|
||||
|
@ -33,7 +33,7 @@ BEGIN
|
||||
PICTURE BMP_PRINT
|
||||
END
|
||||
|
||||
#include <helpbar.h>
|
||||
#include <cancelbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
@ -324,6 +324,8 @@ BEGIN
|
||||
PROMPT 0 12 ""
|
||||
ITEM "Importo@18"
|
||||
ITEM "A/S@3"
|
||||
ITEM "Data Pagamento"
|
||||
ITEM "Val.Ben."
|
||||
ITEM "Residuo@18"
|
||||
ITEM "Codice"
|
||||
ITEM "Ragione Sociale@20"
|
||||
@ -353,7 +355,7 @@ ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
PAGE "Rate" -1 -1 60 10
|
||||
PAGE "Rate" -1 -1 70 10
|
||||
|
||||
NUMBER F_RIGADIST 4
|
||||
BEGIN
|
||||
@ -409,6 +411,17 @@ BEGIN
|
||||
FLAGS "D"
|
||||
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
|
||||
BEGIN
|
||||
PROMPT 1 5 "Residuo "
|
||||
@ -429,12 +442,16 @@ BEGIN
|
||||
ITEM "S|Saldo"
|
||||
END
|
||||
|
||||
STRING F_DESC_TIPO 20
|
||||
STRING F_DESC_TIPO 30
|
||||
BEGIN
|
||||
PROMPT 1 7 "Tipo pagamento "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 10 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
|
@ -36,5 +36,6 @@
|
||||
#define EFF_ACCSAL "ACCSAL"
|
||||
#define EFF_SPESE "SPESE"
|
||||
#define EFF_PROGBNP "PROGBNP"
|
||||
#define EFF_DSCVAL "DSCVAL"
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user