diff --git a/src/ef/ef0a00.cpp b/src/ef/ef0a00.cpp index 366a7c06a..cb56638c7 100755 --- a/src/ef/ef0a00.cpp +++ b/src/ef/ef0a00.cpp @@ -386,6 +386,8 @@ bool TPE_mask::fill_rate() const TDate adata = get(F_A_DATA); const TString& codval = get(F_CODVAL); TSheet_field& sheet = sfield(F_SHEET); + const bool sel_banca = get_bool(F_SELBAN); + TString16 banca = get(F_ABI); banca << get(F_CAB); // sheet.destroy(); TRelation rel(LF_PARTITE); @@ -442,20 +444,25 @@ bool TPE_mask::fill_rate() const TRiga_scadenze& rs = rp.rata(rata); if (!rs.chiusa()) { - const TDate data = rs.get(SCAD_DATASCAD); - if (data >= dadata && (!adata.ok() || data <= adata)) - { + TString16 banca_part(rs.get(SCAD_CODABI)); banca_part << rs.get(SCAD_CODCAB); - bool partially_unassigned; - if (fill_row(rs, row, partially_unassigned, false, false, ndist)) - { - const int numrow = sheet.items(); - sheet.row(numrow) = row; - sheet.check_row(numrow); - if (partially_unassigned) - sheet.disable_cell(numrow, 1); // Non permette di mettere a saldo + if (!sel_banca || banca == banca_part || (banca.blank() && banca_part.is_zero())) + { + const TDate data = rs.get(SCAD_DATASCAD); + + if (data >= dadata && (!adata.ok() || data <= adata)) + { + bool partially_unassigned; + if (fill_row(rs, row, partially_unassigned, false, false, ndist)) + { + const int numrow = sheet.items(); + sheet.row(numrow) = row; + sheet.check_row(numrow); + if (partially_unassigned) + sheet.disable_cell(numrow, 1); // Non permette di mettere a saldo + } } - } + } // if selezione banca di appoggio } // if rata aperta } // for ogni rata } // if e' una fattura @@ -575,7 +582,7 @@ bool TPE_mask::fill_distinta(bool clear_all) sheet.force_update(); update_total(); - _spork = FALSE; + _spork = false; const bool full = sheet.items() > 0; if (full) @@ -976,7 +983,7 @@ bool TPE_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) disable(DLG_NEWREC); set_focus_field(F_ABI); _is_new = TRUE; - _spork = FALSE; + _spork = false; } break; case F_DIST: @@ -1045,6 +1052,31 @@ bool TPE_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) return error_box(TR("E' necessario specificare un numero di distinta")); } break; + case F_TUTTI: + if (e == fe_button) + { + TSheet_field& sheet = sfield(F_SHEET); + + FOR_EACH_SHEET_ROW(sheet, r, row) + { + const real importo(row->get(0)); + + if (importo == ZERO) + { + row->add(row->get(4), 0); + row->add("S", 1); + } + else + { + row->add(" ", 0); + row->add("A", 1); + } + } + sheet.force_update(); + update_total(); + _spork = true; + } + break; case F_CONTABILI: if (e == fe_button) { diff --git a/src/ef/ef0a00a.h b/src/ef/ef0a00a.h index 00bf716c6..ac1a29535 100755 --- a/src/ef/ef0a00a.h +++ b/src/ef/ef0a00a.h @@ -19,6 +19,8 @@ #define F_SPESE 231 #define F_TIPOEFF 232 #define F_PROG 233 +#define F_SELBAN 234 +#define F_TUTTI 235 #define F_SHEET 300 #define F_AGGIORNA 301 diff --git a/src/ef/ef0a00a.uml b/src/ef/ef0a00a.uml index d0def2b9b..e01048265 100755 --- a/src/ef/ef0a00a.uml +++ b/src/ef/ef0a00a.uml @@ -177,10 +177,9 @@ BEGIN CHECKTYPE SEARCH END - -STRING F_DESCAB 50 42 +STRING F_DESCAB 50 38 BEGIN - PROMPT 32 3 "" + PROMPT 40 3 "" USE %BAN KEY 2 SELECT 100@->CODTAB!="" JOIN BNP ALIAS 100 INTO CODTAB==CODTAB INPUT S0 F_DESCAB @@ -216,7 +215,7 @@ BEGIN MESSAGE COPY,F_TIPOCF END -GROUPBOX DLG_NULL 78 5 +GROUPBOX DLG_NULL 78 6 BEGIN PROMPT 1 6 "@bSelezione effetti" END @@ -297,21 +296,31 @@ BEGIN ITEM "9|Bonifico" END -BUTTON F_CONTABILI 30 1 +BOOLEAN F_SELBAN BEGIN - PROMPT 2 11 "~Contabilizzazione" + PROMPT 2 10 "Seleziona Banca" +END + +BUTTON F_TUTTI 23 1 +BEGIN + PROMPT 2 12 "~Tutti" +END + +BUTTON F_CONTABILI 23 1 +BEGIN + PROMPT 28 12 "~Contabilizzazione" GROUP 5 END -BUTTON F_UNCONTABIL 30 1 +BUTTON F_UNCONTABIL 23 1 BEGIN - PROMPT 47 11 "~Annulla contabilizzazione" + PROMPT 54 12 "~Annulla contabilizzazione" FLAGS "H" END SPREADSHEET F_SHEET 0 -2 BEGIN - PROMPT 0 12 "" + PROMPT 0 13 "" ITEM "Importo@16" ITEM "A/S@3" ITEM "Data\nPagamento@10" @@ -352,7 +361,7 @@ ENDPAGE ENDMASK -PAGE "Rate" -1 -1 70 10 +PAGE "Rate" -1 -1 70 20 NUMBER F_RIGADIST 4 BEGIN @@ -515,7 +524,7 @@ ENDPAGE STRING F_CABAPP 5 BEGIN - PROMPT 20 10 "" + PROMPT 18 11 "" COPY ALL F_ABIAPP CHECTYPE NORMAL FLAGS "Z" @@ -523,7 +532,7 @@ END STRING F_IBANAPP 27 BEGIN - PROMPT 30 10 "IBAN " + PROMPT 13 12 "IBAN " FLAGS "D" END ENDPAGE