From 5c694c8d6c0ff194720af099ec447881f6bc44f2 Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 22 Apr 2005 20:46:53 +0000 Subject: [PATCH] Patch level : 2.2 Files correlati : Ricompilazione Demo : [ ] Commento : MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Modlo contabilità industriale agggiunto supporto numerazioni ordinate per data git-svn-id: svn://10.65.10.50/trunk@13002 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ci/ci0400.cpp | 22 +++++++++++++++++----- ci/ci0400.h | 4 +++- ci/cilib.cpp | 2 +- ci/cilib.h | 8 ++++---- projects/ci0.dsp | 27 ++++++++++++++++++++++++--- 5 files changed, 49 insertions(+), 14 deletions(-) diff --git a/ci/ci0400.cpp b/ci/ci0400.cpp index b58b27a07..a2007413f 100755 --- a/ci/ci0400.cpp +++ b/ci/ci0400.cpp @@ -11,6 +11,7 @@ #include "cilib.h" #include "ci0400.h" #include "ci0400a.h" +#include "..\ve\velib.h" /////////////////////////////////////////////////////////// @@ -37,6 +38,7 @@ void TImmissioneDocumenti_app::init_tabs() pagenames.add(configfile.get("Descr","Main",item)); _filters.add(configfile.get("Filter","Main",item)); _mask->activate_almanac(id + item, item, TDate(TODAY)); + _mask->almanac(item).set_padding(0); item++; } @@ -56,6 +58,7 @@ void TImmissioneDocumenti_app::init_flags() TString filter; filters = _filters.items(); + _ordered.reset(); for(int i=0;ilast_selected_day(); int currpage = _mask->last_selected_page(); - _mask->open_inner_sheet(selday,_filters.row(currpage)); + TDate last_datadoc(1, 1, selday.year()); + + last_datadoc += ((TBit_array&)_flags[currpage]).last_one(); + + const bool can_insert = (selday >= last_datadoc) || !ordered(currpage); + _mask->open_inner_sheet(selday,_filters.row(currpage), can_insert); } } @@ -134,7 +147,7 @@ bool TImmissioneDocumenti_app::has_documents(int currpage, TDate& day) // Routines Proprietarie -void TImmissioneDocumenti_mask::open_inner_sheet(TDate date, TString doctype) +void TImmissioneDocumenti_mask::open_inner_sheet(TDate date, TString doctype, bool can_insert) { int exitval; @@ -152,7 +165,7 @@ void TImmissioneDocumenti_mask::open_inner_sheet(TDate date, TString doctype) "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"), - 0x02|0x04); + can_insert ? 0x02|0x04 : 0x04); exitval = sheet.run(); @@ -201,7 +214,6 @@ void TImmissioneDocumenti_mask::call_ve0(int exitval, TRelation& relation, TDate break; } - configfile.set("Mode", "A", "Transaction"); configfile.set("PROVV", "D", "33"); configfile.set("ANNO", last_selected_day().year(), "33"); configfile.set("CODNUM", doctype, "33"); diff --git a/ci/ci0400.h b/ci/ci0400.h index 964383cff..d20fedf52 100755 --- a/ci/ci0400.h +++ b/ci/ci0400.h @@ -16,7 +16,7 @@ public: public: // apertura del foglio interno di gestione dei documenti - void open_inner_sheet(TDate date, TString doctype); + void open_inner_sheet(TDate date, TString doctype, bool can_insert); private: // chiamata del programma ve0 @@ -40,6 +40,7 @@ private: TString_array _filters; // filtri tipodoc per ogni tab TArray _flags; // array di TBit_array. Ognuno di essi è lungo 366 e rappresenta i flag di presenza documenti per ogni giorno dell'anno. Ogni page della maschera ha bisogno di un bitarray diverso + TBit_array _ordered; TDate _newyearsday; // capodanno dell'anno corrente, per uso interno int _year; // anno corrente @@ -58,6 +59,7 @@ public: void change_year(int newyear, bool init_flg = true); // passata come funzione alla maschera public: + bool ordered(byte p) { return _ordered[p]; } TImmissioneDocumenti_app() { change_year(TDate(TODAY).year(), false); } virtual ~TImmissioneDocumenti_app() {} }; diff --git a/ci/cilib.cpp b/ci/cilib.cpp index a22b76194..c6fcb6276 100755 --- a/ci/cilib.cpp +++ b/ci/cilib.cpp @@ -207,7 +207,7 @@ void TAlmanac_window::update() xvt_dwin_draw_text(win(), rct_l + pad + 2, fh + rct_t + pad + 2, str, -1); } - cdate--; + --cdate; do { diff --git a/ci/cilib.h b/ci/cilib.h index 59bbc9cce..ae9648d5f 100755 --- a/ci/cilib.h +++ b/ci/cilib.h @@ -145,15 +145,15 @@ class TAlmanac_mask : public TAutomask // @access Protected Member protected: - // shortcut per l'accesso all'almanacco della pagina corrente - TAlmanac_field & almanac(byte page) const { return (TAlmanac_field &) fld(_almanacs[page]);} - // shortcut per l'accesso all'almanacco della pagina corrente - TAlmanac_field & curr_almanac() const { return almanac(curr_page());} // override da TAutomask virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); // @access Public Member public: + // shortcut per l'accesso all'almanacco della pagina corrente + TAlmanac_field & almanac(byte page) const { return (TAlmanac_field &) fld(_almanacs[page]);} + // shortcut per l'accesso all'almanacco della pagina corrente + TAlmanac_field & curr_almanac() const { return almanac(curr_page());} // override da TAutomask virtual TMask_field* parse_field(TScanner& scanner); // @cmember Gestione calendari: Attiva l'almanacco sulla pagina specificata per la data specificata diff --git a/projects/ci0.dsp b/projects/ci0.dsp index d5eeddacb..bdb36d1ec 100755 --- a/projects/ci0.dsp +++ b/projects/ci0.dsp @@ -82,8 +82,8 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept -# ADD LINK32 version.lib wsock32.lib kernel32.lib gdi32.lib user32.lib advapi32.lib comdlg32.lib shell32.lib ole32.lib oleaut32.lib comctl32.lib rpcrt4.lib winspool.lib /nologo /subsystem:windows /incremental:no /debug /machine:I386 /nodefaultlib:"libc.lib" /out:"..\exed\ci0.exe" /pdbtype:sept -# SUBTRACT LINK32 /nodefaultlib +# ADD LINK32 version.lib wsock32.lib kernel32.lib gdi32.lib user32.lib advapi32.lib comdlg32.lib shell32.lib ole32.lib oleaut32.lib comctl32.lib rpcrt4.lib winspool.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc.lib" /out:"..\exed\ci0.exe" /pdbtype:sept +# SUBTRACT LINK32 /incremental:no /nodefaultlib !ENDIF @@ -106,6 +106,10 @@ SOURCE=..\ci\ci0400.cpp SOURCE=..\ci\cilib.cpp # End Source File +# Begin Source File + +SOURCE=..\ve\velib01.cpp +# End Source File # End Group # Begin Group "Masks" @@ -119,7 +123,7 @@ SOURCE=..\ci\ci0400a.uml !ELSEIF "$(CFG)" == "ci0 - Win32 Debug" # Begin Custom Build -TargetDir=\U\brugno\R_02_02\exed +TargetDir=\u\R_02_02\exed InputPath=..\ci\ci0400a.uml InputName=ci0400a @@ -183,6 +187,23 @@ SOURCE=.\ci0.rc # Begin Source File SOURCE=..\ci\ci0400.ini + +!IF "$(CFG)" == "ci0 - Win32 Release" + +!ELSEIF "$(CFG)" == "ci0 - Win32 Debug" + +# Begin Custom Build +TargetDir=\u\R_02_02\exed +InputPath=..\ci\ci0400.ini +InputName=ci0400 + +"$(TargetDir)\$(InputName).ini" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + copy $(InputPath) $(TargetDir)\$(InputName).ini + +# End Custom Build + +!ENDIF + # End Source File # End Group # End Target