Patch level : 2.2

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :

Modlo contabilità industriale agggiunto supporto numerazioni ordinate per data


git-svn-id: svn://10.65.10.50/trunk@13002 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2005-04-22 20:46:53 +00:00
parent 25c09860a9
commit 5c694c8d6c
5 changed files with 49 additions and 14 deletions

View File

@ -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;i<filters;i++)
{
@ -64,7 +67,12 @@ void TImmissioneDocumenti_app::init_flags()
filter << "&&";
filter << "(CODNUM==\"" << _filters.row(i) << "\")";
TRelation relation(LF_DOC);
TCodice_numerazione c(_filters.row(i));
if (!c.dont_test_datadoc())
_ordered.set(i);
TRelation relation(LF_DOC);
TSorted_cursor cursor(&relation, "DATADOC", filter);
items = cursor.items();
@ -107,7 +115,12 @@ void TImmissioneDocumenti_app::main_loop()
{
TDate selday = _mask->last_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");

View File

@ -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() {}
};

View File

@ -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
{

View File

@ -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

View File

@ -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