diff --git a/ps/pd6342400.cpp b/ps/pd6342400.cpp index e8b57e7bb..2e686da6e 100755 --- a/ps/pd6342400.cpp +++ b/ps/pd6342400.cpp @@ -522,6 +522,75 @@ void TQuadra_movana_msk::registra() movanaquad.put(MOVANA_SEZIONE, totale.sezione()); movanaquad.put(MOVANA_TOTDOC, totale.valore()); movanaquad.write(file); + + TSheet_field& ls = sfield(F_MOVNNQUAD); + TConfig* conf = new TConfig("pd6342conf.ini", "MAIN"); + const TString4 codcau = conf->get("CodCau"); + + FOR_EACH_SHEET_ROW(ls, lr, lriga) + { + TToken_string& row = *(TToken_string*)lriga; + + const long numreg = row.get_long(ls.cid2index(NQ_NUMREG)); + TAnal_mov lmovana(0); + int err = lmovana.read(numreg); + + if(err == NOERR && lmovana.get(MOVANA_DESCR) == "Movimento Quadrato") + { + row.add(0L, ls.cid2index(NQ_NUMREG)); + row.add(0L, ls.cid2index(NQ_NUMRIGA)); + } + } + + TImporto totnnquad; + + TAnal_mov movananonquad(0); + movananonquad.put(MOVANA_ANNOES, oggi.year()); + movananonquad.put(MOVANA_DATAREG, oggi); + movananonquad.put(MOVANA_DATACOMP, oggi); + movananonquad.put(MOVANA_DESCR, "Movimento Importato"); + movananonquad.put(MOVANA_CODCAUS, codcau); + movananonquad.put(MOVANA_TRASFERITO, true); + movananonquad.put(MOVANA_NUMREGCG, 0L); + + FOR_EACH_SHEET_ROW(ls, lr1, lriga1) + { + TToken_string& r = *(TToken_string*)lriga1; + + const long numreg = r.get_long(ls.cid2index(NQ_NUMREG)); + + if(numreg == 0L) + continue; + + TImporto importo; + importo = r; + + TRectype& rmovana = movananonquad.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); + + totnnquad += importo; + } + + movananonquad.put(MOVANA_SEZIONE, totnnquad.sezione()); + movananonquad.put(MOVANA_TOTDOC, totnnquad.valore()); + movananonquad.write(file); + + } bool TQuadra_movana_msk::on_field_event(TOperable_field& o, TField_event e, long jolly)