diff --git a/ci/ci0400.cpp b/ci/ci0400.cpp index afb4219a8..60fc8db47 100755 --- a/ci/ci0400.cpp +++ b/ci/ci0400.cpp @@ -157,33 +157,35 @@ void TImmissioneDocumenti_mask::next_page(int p) enable(DLG_DELREC, del_closed()[k]); } -void TImmissioneDocumenti_mask::open_day_mask(TDate date) +void TImmissioneDocumenti_mask::open_day_mask(conat TDate & date) { - if (!date.ok()) - date = curr_almanac().selected_date(); + TDate d(date); + + if (!d.ok()) + d = curr_almanac().selected_date(); const int currpage = curr_page(); const TString & codnum = filters().row(currpage); TString filter; - filter << "(ANSI(DATADOC)==\"" << date.string(ANSI) << "\")" << "&&" << "(CODNUM==\"" << codnum << "\")"; + + filter << "(ANSI(DATADOC)==\"" << d.string(ANSI) << "\")" << "&&" << "(CODNUM==\"" << codnum << "\")"; TRelation relation(LF_DOC); relation.add(LF_CLIFO, "TIPOCF==TIPOCF|CODCF==CODCF"); TCursor cursor(&relation, filter); - if (!almanac().can_insert(date) && is_date_void(currpage, date)) + + if (!almanac().can_insert(d) && is_date_void(currpage, d)) return; - TCursor_sheet sheet(&cursor, + + TCursor_sheet sheet(&cursor, "ANNO|CODNUM|TIPODOC|NUMDOCRIF|STATO|DATADOCRIF|NDOC|20->RAGSOC", TR("Selezione documenti"), HR("Anno|Num.|Tipo|Docum.Rif.|Stato|Data@10|Documento|Ragione Sociale@50"), almanac().can_insert(date) ? 0x02|0x04 : 0x04, 3); - TList_field& fl = sheet.add_list(101, 0, "Tipo documento ", 1, 1, 60); TToken_string codes; TToken_string values; - - TCodice_numerazione c(codnum); const int items = c.ntipi_doc(); diff --git a/ci/ci0400.h b/ci/ci0400.h index 3d819567e..024cb7bce 100755 --- a/ci/ci0400.h +++ b/ci/ci0400.h @@ -58,7 +58,7 @@ public: public: // apertura del foglio interno di gestione dei documenti - virtual void open_day_mask(TDate date); + virtual void open_day_mask(const TDate & date); private: // chiamata del programma ve0 diff --git a/ci/cilib.cpp b/ci/cilib.cpp index 587583297..9fb6b644d 100755 --- a/ci/cilib.cpp +++ b/ci/cilib.cpp @@ -312,6 +312,7 @@ bool TAlmanac_window::on_key(KEY key) case K_DOWN: o.move_selected_day(+7); break; + case K_SPACE: case K_ENTER: ((TAlmanac_mask&)o.mask()).open_day_mask(); break; diff --git a/ci/cilib.h b/ci/cilib.h index bba400fd1..6f8913d06 100755 --- a/ci/cilib.h +++ b/ci/cilib.h @@ -196,7 +196,7 @@ public: // @cmember Gestione eventi calendario: Controlla la presenza di documenti nella data attiva virtual void change_year(int newyear); // @cmember Chiama la maschera o lo sheet legato al gioro selezionato - virtual void open_day_mask(TDate date = botime) { } + virtual void open_day_mask(const TDate & date = botime) { } // @cmember Costruttore TAlmanac_mask(const char * name);