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
@ -173,6 +173,10 @@ void TImporta_da_BCS_app::genera_movana(const TFilename& file)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
const int anno = recset.get("ANNO").as_int();
|
const int anno = recset.get("ANNO").as_int();
|
||||||
|
|
||||||
|
if(anno <= 0)
|
||||||
|
continue;
|
||||||
|
|
||||||
const int mese = recset.get("MESE").as_int();
|
const int mese = recset.get("MESE").as_int();
|
||||||
const int giorno = recset.get("GIORNO").as_int();
|
const int giorno = recset.get("GIORNO").as_int();
|
||||||
const TDate data(recset.get("GIORNO").as_int(), recset.get("MESE").as_int(), anno);
|
const TDate data(recset.get("GIORNO").as_int(), recset.get("MESE").as_int(), anno);
|
||||||
|
107
ps/pd6342400.cpp
107
ps/pd6342400.cpp
@ -73,7 +73,7 @@ void TQuadra_movana_msk::costruisci_sheet(TSheet_field& s, const short dlg)
|
|||||||
int sy = 3;
|
int sy = 3;
|
||||||
short sdlg = dlg;
|
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++)
|
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)
|
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;
|
TString val;
|
||||||
|
|
||||||
cdc.cut(0);
|
cdc.cut(0);
|
||||||
if (_scdc_sid >= 0)
|
if (_scdc_sid >= 0)
|
||||||
for ( short id = _scdc_sid; id <= _scdc_lid; id++)
|
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());
|
val.rpad(m.field(id).size());
|
||||||
cdc << val;
|
cdc << val;
|
||||||
}
|
}
|
||||||
@ -174,7 +175,7 @@ void TQuadra_movana_msk::get_row_anal_fields(TToken_string& row, TString& cdc, T
|
|||||||
if (_scms_sid >= 0)
|
if (_scms_sid >= 0)
|
||||||
for ( short id = _scms_sid; id <= _scms_lid; id++)
|
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());
|
val.rpad(m.field(id).size());
|
||||||
cms << val;
|
cms << val;
|
||||||
}
|
}
|
||||||
@ -183,7 +184,7 @@ void TQuadra_movana_msk::get_row_anal_fields(TToken_string& row, TString& cdc, T
|
|||||||
if (_sfase_sid >= 0)
|
if (_sfase_sid >= 0)
|
||||||
for ( short id = _sfase_sid; id <= _sfase_lid; id++)
|
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());
|
val.rpad(m.field(id).size());
|
||||||
fase << val;
|
fase << val;
|
||||||
}
|
}
|
||||||
@ -192,7 +193,7 @@ void TQuadra_movana_msk::get_row_anal_fields(TToken_string& row, TString& cdc, T
|
|||||||
if (_sconto_sid >= 0)
|
if (_sconto_sid >= 0)
|
||||||
for ( short id = _sconto_sid; id <= _sconto_lid; id++)
|
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());
|
val.rpad(m.field(id).size());
|
||||||
codconto << val;
|
codconto << val;
|
||||||
}
|
}
|
||||||
@ -349,7 +350,7 @@ void TQuadra_movana_msk::riempi_sheets()
|
|||||||
rrow.add(datacomp, rs.cid2index(Q_DATACOMP));
|
rrow.add(datacomp, rs.cid2index(Q_DATACOMP));
|
||||||
put_row_anal_fields(rrow, codcosto, codcms, codfase, codconto, F_MOVQUAD);
|
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);
|
rs.disable_row(r - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -370,7 +371,6 @@ void TQuadra_movana_msk::sposta_a_destra()
|
|||||||
rrow = lrow;
|
rrow = lrow;
|
||||||
ls.destroy(ls.selected());
|
ls.destroy(ls.selected());
|
||||||
|
|
||||||
ls.force_update();
|
|
||||||
rs.force_update();
|
rs.force_update();
|
||||||
|
|
||||||
calcola_totale(rs);
|
calcola_totale(rs);
|
||||||
@ -388,7 +388,6 @@ void TQuadra_movana_msk::sposta_a_sinistra()
|
|||||||
rs.destroy(rs.selected());
|
rs.destroy(rs.selected());
|
||||||
|
|
||||||
ls.force_update();
|
ls.force_update();
|
||||||
rs.force_update();
|
|
||||||
|
|
||||||
calcola_totale(rs);
|
calcola_totale(rs);
|
||||||
}
|
}
|
||||||
@ -441,11 +440,17 @@ void TQuadra_movana_msk::crea_riga_quadratura()
|
|||||||
|
|
||||||
TQuadra_movana_msk::TQuadra_movana_msk() : TAutomask("pd6342400a")
|
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();
|
TConfig& cfg = ca_config();
|
||||||
const bool use_pdcc = cfg.get_bool("UsePdcc");
|
const bool use_pdcc = cfg.get_bool("UsePdcc");
|
||||||
|
|
||||||
const int logicnum = use_pdcc ? LF_PCON : LF_PCONANA;
|
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++)
|
for (int i = 0; i < nfields; i++)
|
||||||
{
|
{
|
||||||
@ -491,7 +496,7 @@ void TQuadra_movana_msk::registra()
|
|||||||
rs.sort(sort_by_numreg);
|
rs.sort(sort_by_numreg);
|
||||||
rs.force_update();
|
rs.force_update();
|
||||||
|
|
||||||
long numregold = 0L;
|
long numregold = -1;
|
||||||
TLocalisamfile file(LF_MOVANA);
|
TLocalisamfile file(LF_MOVANA);
|
||||||
TAnal_mov movana(0);
|
TAnal_mov movana(0);
|
||||||
|
|
||||||
@ -499,16 +504,19 @@ void TQuadra_movana_msk::registra()
|
|||||||
{
|
{
|
||||||
TToken_string& row = *(TToken_string*)riga;
|
TToken_string& row = *(TToken_string*)riga;
|
||||||
|
|
||||||
if(numregold < row.get_long(rs.cid2index(Q_NUMREG)))
|
TString80 descr = row.get(rs.cid2index(Q_DESCR));
|
||||||
|
if(descr == "Riga di quadratura")
|
||||||
|
continue;
|
||||||
|
|
||||||
|
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.rewrite_write(file);
|
movana.read(row.get_long(rs.cid2index(Q_NUMREG)));
|
||||||
movana.zero();
|
|
||||||
movana.read(row.get_long(rs.cid2index(Q_NUMREG)));
|
|
||||||
}
|
|
||||||
movana.destroy_row(row.get_long(rs.cid2index(Q_NUMRIGA)), true);
|
|
||||||
}
|
}
|
||||||
|
movana.destroy_row(row.get_long(rs.cid2index(Q_NUMRIGA)), true);
|
||||||
}
|
}
|
||||||
movana.rewrite_write(file);
|
movana.rewrite_write(file);
|
||||||
|
|
||||||
@ -523,8 +531,36 @@ void TQuadra_movana_msk::registra()
|
|||||||
|
|
||||||
TImporto totale;
|
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)
|
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();
|
registra();
|
||||||
return false;
|
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:
|
case DLG_USER:
|
||||||
if(e == fe_button)
|
if(e == fe_button)
|
||||||
{
|
{
|
||||||
@ -563,6 +619,19 @@ bool TQuadra_movana_msk::on_field_event(TOperable_field& o, TField_event e, long
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
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_MOVNNQUAD:
|
||||||
case F_MOVQUAD:
|
case F_MOVQUAD:
|
||||||
if(e == se_query_add)
|
if(e == se_query_add)
|
||||||
|
@ -9,15 +9,12 @@
|
|||||||
#define F_CDC2 208
|
#define F_CDC2 208
|
||||||
#define F_CDC3 209
|
#define F_CDC3 209
|
||||||
#define F_CDC4 210
|
#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_MOVNNQUAD 211
|
||||||
#define F_MOVQUAD 212
|
#define F_MOVQUAD 212
|
||||||
|
|
||||||
#define DLG_CERCA 801
|
#define DLG_CERCA 801
|
||||||
#define DLG_SALVA 802
|
#define DLG_SALVA 802
|
||||||
|
#define DLG_ANNULLA 803
|
||||||
|
|
||||||
#define NQ_DARE 101
|
#define NQ_DARE 101
|
||||||
#define NQ_AVERE 102
|
#define NQ_AVERE 102
|
||||||
|
@ -14,6 +14,12 @@ BEGIN
|
|||||||
PICTURE TOOL_SAVEREC
|
PICTURE TOOL_SAVEREC
|
||||||
END
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_ANNULLA
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 "Annulla"
|
||||||
|
PICTURE TOOL_CANCEL
|
||||||
|
END
|
||||||
|
|
||||||
#include <elabar.h>
|
#include <elabar.h>
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
@ -28,11 +34,14 @@ END
|
|||||||
DATE F_DADATA
|
DATE F_DADATA
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 1 "Considera i movimenti dal "
|
PROMPT 2 1 "Considera i movimenti dal "
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE F_ADATA
|
DATE F_ADATA
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 42 1 "al "
|
PROMPT 42 1 "al "
|
||||||
|
FLAGS "A"
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 5
|
GROUPBOX DLG_NULL 78 5
|
||||||
|
Loading…
x
Reference in New Issue
Block a user