Patch level : 10.0 NO PATCH
Files correlati : pd6342 pd6342a.msk Ricompilazione Demo : [ ] Commento : Crea movimenti di quadratura git-svn-id: svn://10.65.10.50/branches/R_10_00@20961 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
d8bb68b774
commit
2efdfb0034
@ -171,8 +171,12 @@ void TImporta_da_BCS_app::genera_movana(const TFilename& file)
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
|
||||
|
||||
const int anno = recset.get("ANNO").as_int();
|
||||
|
||||
if(anno <= 0)
|
||||
continue;
|
||||
|
||||
const int mese = recset.get("MESE").as_int();
|
||||
const int giorno = recset.get("GIORNO").as_int();
|
||||
const TDate data(recset.get("GIORNO").as_int(), recset.get("MESE").as_int(), anno);
|
||||
|
111
ps/pd6342400.cpp
111
ps/pd6342400.cpp
@ -73,7 +73,7 @@ void TQuadra_movana_msk::costruisci_sheet(TSheet_field& s, const short dlg)
|
||||
int sy = 3;
|
||||
short sdlg = dlg;
|
||||
|
||||
_scdc_sid = _scdc_lid = _scms_sid = _scms_lid = _sfase_sid = _sfase_lid = _sconto_sid = _sconto_lid-1;
|
||||
_scdc_sid = _scdc_lid = _scms_sid = _scms_lid = _sfase_sid = _sfase_lid = _sconto_sid = _sconto_lid = -1;
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
@ -158,14 +158,15 @@ void TQuadra_movana_msk::costruisci_sheet(TSheet_field& s, const short dlg)
|
||||
|
||||
void TQuadra_movana_msk::get_row_anal_fields(TToken_string& row, TString& cdc, TString& cms, TString& fase, TString& codconto, const short sdlg)
|
||||
{
|
||||
TMask& m = sfield(sdlg).sheet_mask();
|
||||
TSheet_field& sheet = sfield(sdlg);
|
||||
TMask& m = sheet.sheet_mask();
|
||||
TString val;
|
||||
|
||||
cdc.cut(0);
|
||||
if (_scdc_sid >= 0)
|
||||
for ( short id = _scdc_sid; id <= _scdc_lid; id++)
|
||||
{
|
||||
val = m.get(id);
|
||||
val = row.get(sheet.cid2index(id));
|
||||
val.rpad(m.field(id).size());
|
||||
cdc << val;
|
||||
}
|
||||
@ -174,7 +175,7 @@ void TQuadra_movana_msk::get_row_anal_fields(TToken_string& row, TString& cdc, T
|
||||
if (_scms_sid >= 0)
|
||||
for ( short id = _scms_sid; id <= _scms_lid; id++)
|
||||
{
|
||||
val = m.get(id);
|
||||
val = row.get(sheet.cid2index(id));
|
||||
val.rpad(m.field(id).size());
|
||||
cms << val;
|
||||
}
|
||||
@ -183,7 +184,7 @@ void TQuadra_movana_msk::get_row_anal_fields(TToken_string& row, TString& cdc, T
|
||||
if (_sfase_sid >= 0)
|
||||
for ( short id = _sfase_sid; id <= _sfase_lid; id++)
|
||||
{
|
||||
val = m.get(id);
|
||||
val = row.get(sheet.cid2index(id));
|
||||
val.rpad(m.field(id).size());
|
||||
fase << val;
|
||||
}
|
||||
@ -192,7 +193,7 @@ void TQuadra_movana_msk::get_row_anal_fields(TToken_string& row, TString& cdc, T
|
||||
if (_sconto_sid >= 0)
|
||||
for ( short id = _sconto_sid; id <= _sconto_lid; id++)
|
||||
{
|
||||
val = m.get(id);
|
||||
val = row.get(sheet.cid2index(id));
|
||||
val.rpad(m.field(id).size());
|
||||
codconto << val;
|
||||
}
|
||||
@ -349,7 +350,7 @@ void TQuadra_movana_msk::riempi_sheets()
|
||||
rrow.add(datacomp, rs.cid2index(Q_DATACOMP));
|
||||
put_row_anal_fields(rrow, codcosto, codcms, codfase, codconto, F_MOVQUAD);
|
||||
|
||||
if(descrizione == "Riga quadratura")
|
||||
if(descrizione == "Riga di quadratura")
|
||||
rs.disable_row(r - 1);
|
||||
}
|
||||
}
|
||||
@ -370,7 +371,6 @@ void TQuadra_movana_msk::sposta_a_destra()
|
||||
rrow = lrow;
|
||||
ls.destroy(ls.selected());
|
||||
|
||||
ls.force_update();
|
||||
rs.force_update();
|
||||
|
||||
calcola_totale(rs);
|
||||
@ -388,7 +388,6 @@ void TQuadra_movana_msk::sposta_a_sinistra()
|
||||
rs.destroy(rs.selected());
|
||||
|
||||
ls.force_update();
|
||||
rs.force_update();
|
||||
|
||||
calcola_totale(rs);
|
||||
}
|
||||
@ -441,11 +440,17 @@ void TQuadra_movana_msk::crea_riga_quadratura()
|
||||
|
||||
TQuadra_movana_msk::TQuadra_movana_msk() : TAutomask("pd6342400a")
|
||||
{
|
||||
disable(DLG_CERCA);
|
||||
|
||||
const TDate data(TODAY);
|
||||
const TDate primo(1, 1, data.year());
|
||||
set(F_DADATA, primo);
|
||||
|
||||
TConfig& cfg = ca_config();
|
||||
const bool use_pdcc = cfg.get_bool("UsePdcc");
|
||||
|
||||
const int logicnum = use_pdcc ? LF_PCON : LF_PCONANA;
|
||||
const int nfields = ca_create_fields_compact(*this, 0, logicnum, 2, 6, F_CDC1, F_CDCD1);
|
||||
const int nfields = ca_create_fields_compact(*this, 0, logicnum, 2, 6, F_CDC1, F_CDC1 + 50);
|
||||
|
||||
for (int i = 0; i < nfields; i++)
|
||||
{
|
||||
@ -491,26 +496,29 @@ void TQuadra_movana_msk::registra()
|
||||
rs.sort(sort_by_numreg);
|
||||
rs.force_update();
|
||||
|
||||
long numregold = 0L;
|
||||
long numregold = -1;
|
||||
TLocalisamfile file(LF_MOVANA);
|
||||
TAnal_mov movana(0);
|
||||
|
||||
FOR_EACH_SHEET_ROW(rs, r, riga)
|
||||
{
|
||||
TToken_string& row = *(TToken_string*)riga;
|
||||
|
||||
TString80 descr = row.get(rs.cid2index(Q_DESCR));
|
||||
if(descr == "Riga di quadratura")
|
||||
continue;
|
||||
|
||||
if(numregold < row.get_long(rs.cid2index(Q_NUMREG)))
|
||||
if(numregold < 0L)
|
||||
movana.read(row.get_long(rs.cid2index(Q_NUMREG)));
|
||||
else if(numregold < row.get_long(rs.cid2index(Q_NUMREG)))
|
||||
{
|
||||
if(!movana.empty())
|
||||
{
|
||||
movana.rewrite_write(file);
|
||||
movana.zero();
|
||||
movana.read(row.get_long(rs.cid2index(Q_NUMREG)));
|
||||
}
|
||||
movana.destroy_row(row.get_long(rs.cid2index(Q_NUMRIGA)), true);
|
||||
}
|
||||
movana.rewrite_write(file);
|
||||
movana.zero();
|
||||
movana.read(row.get_long(rs.cid2index(Q_NUMREG)));
|
||||
}
|
||||
movana.destroy_row(row.get_long(rs.cid2index(Q_NUMRIGA)), true);
|
||||
}
|
||||
movana.rewrite_write(file);
|
||||
movana.rewrite_write(file);
|
||||
|
||||
const TDate oggi(TODAY);
|
||||
|
||||
@ -523,8 +531,36 @@ void TQuadra_movana_msk::registra()
|
||||
|
||||
TImporto totale;
|
||||
|
||||
FOR_EACH_SHEET_ROW(rs, r1, riga1)
|
||||
{
|
||||
TToken_string& r = *(TToken_string*)riga1;
|
||||
TImporto importo;
|
||||
importo = r;
|
||||
|
||||
TRectype& rmovana = movana.new_row();
|
||||
TString80 cdc;
|
||||
TString80 cms;
|
||||
TString80 fase;
|
||||
TString80 conto;
|
||||
get_row_anal_fields(r, cdc, cms, fase, conto, F_MOVQUAD);
|
||||
|
||||
rmovana.put(RMOVANA_ANNOES, oggi.year());
|
||||
rmovana.put(RMOVANA_SEZIONE, importo.sezione());
|
||||
rmovana.put(RMOVANA_IMPORTO, importo.valore());
|
||||
rmovana.put(RMOVANA_DESCR, r.get(rs.cid2index(Q_DESCR)));
|
||||
rmovana.put(RMOVANA_CODCCOSTO, cdc);
|
||||
rmovana.put(RMOVANA_CODCMS, cms);
|
||||
rmovana.put(RMOVANA_CODFASE, fase);
|
||||
rmovana.put(RMOVANA_CODCONTO, conto);
|
||||
rmovana.put(RMOVANA_ANNOES, oggi.year());
|
||||
rmovana.put(RMOVANA_DATACOMP, oggi);
|
||||
|
||||
totale += importo;
|
||||
}
|
||||
|
||||
movana.put(MOVANA_SEZIONE, totale.sezione());
|
||||
movana.put(MOVANA_TOTDOC, totale.valore());
|
||||
movana.write(file);
|
||||
}
|
||||
|
||||
bool TQuadra_movana_msk::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
@ -551,6 +587,26 @@ bool TQuadra_movana_msk::on_field_event(TOperable_field& o, TField_event e, long
|
||||
registra();
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case DLG_ANNULLA:
|
||||
if(e == fe_button)
|
||||
{
|
||||
reset(F_DADATA);
|
||||
reset(F_ADATA);
|
||||
reset(F_NUMREGCG);
|
||||
reset(F_DESREGCG);
|
||||
reset(F_TOTDOC);
|
||||
reset(F_TOTRIGHE);
|
||||
|
||||
TSheet_field& ls = sfield(F_MOVNNQUAD);
|
||||
ls.destroy();
|
||||
ls.force_update();
|
||||
|
||||
TSheet_field& rs = sfield(F_MOVQUAD);
|
||||
rs.destroy();
|
||||
rs.force_update();
|
||||
}
|
||||
break;
|
||||
case DLG_USER:
|
||||
if(e == fe_button)
|
||||
{
|
||||
@ -563,6 +619,19 @@ bool TQuadra_movana_msk::on_field_event(TOperable_field& o, TField_event e, long
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case F_NUMREGCG:
|
||||
if(e == fe_modify)
|
||||
{
|
||||
int cazzone = get_int(F_NUMREGCG);
|
||||
if(get(F_NUMREGCG).full())
|
||||
enable(DLG_CERCA);
|
||||
else
|
||||
{
|
||||
disable(DLG_CERCA);
|
||||
reset(F_NUMREGCG);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case F_MOVNNQUAD:
|
||||
case F_MOVQUAD:
|
||||
if(e == se_query_add)
|
||||
|
@ -9,15 +9,12 @@
|
||||
#define F_CDC2 208
|
||||
#define F_CDC3 209
|
||||
#define F_CDC4 210
|
||||
#define F_CDCD1 257
|
||||
#define F_CDCD2 258
|
||||
#define F_CDCD3 259
|
||||
#define F_CDCD4 260
|
||||
#define F_MOVNNQUAD 211
|
||||
#define F_MOVQUAD 212
|
||||
|
||||
#define DLG_CERCA 801
|
||||
#define DLG_SALVA 802
|
||||
#define DLG_ANNULLA 803
|
||||
|
||||
#define NQ_DARE 101
|
||||
#define NQ_AVERE 102
|
||||
|
@ -14,6 +14,12 @@ BEGIN
|
||||
PICTURE TOOL_SAVEREC
|
||||
END
|
||||
|
||||
BUTTON DLG_ANNULLA
|
||||
BEGIN
|
||||
PROMPT 1 1 "Annulla"
|
||||
PICTURE TOOL_CANCEL
|
||||
END
|
||||
|
||||
#include <elabar.h>
|
||||
|
||||
ENDPAGE
|
||||
@ -28,11 +34,14 @@ END
|
||||
DATE F_DADATA
|
||||
BEGIN
|
||||
PROMPT 2 1 "Considera i movimenti dal "
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
DATE F_ADATA
|
||||
BEGIN
|
||||
PROMPT 42 1 "al "
|
||||
FLAGS "A"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 5
|
||||
|
Loading…
x
Reference in New Issue
Block a user