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:
parent
25c09860a9
commit
5c694c8d6c
@ -11,6 +11,7 @@
|
|||||||
#include "cilib.h"
|
#include "cilib.h"
|
||||||
#include "ci0400.h"
|
#include "ci0400.h"
|
||||||
#include "ci0400a.h"
|
#include "ci0400a.h"
|
||||||
|
#include "..\ve\velib.h"
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
@ -37,6 +38,7 @@ void TImmissioneDocumenti_app::init_tabs()
|
|||||||
pagenames.add(configfile.get("Descr","Main",item));
|
pagenames.add(configfile.get("Descr","Main",item));
|
||||||
_filters.add(configfile.get("Filter","Main",item));
|
_filters.add(configfile.get("Filter","Main",item));
|
||||||
_mask->activate_almanac(id + item, item, TDate(TODAY));
|
_mask->activate_almanac(id + item, item, TDate(TODAY));
|
||||||
|
_mask->almanac(item).set_padding(0);
|
||||||
item++;
|
item++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -56,6 +58,7 @@ void TImmissioneDocumenti_app::init_flags()
|
|||||||
TString filter;
|
TString filter;
|
||||||
|
|
||||||
filters = _filters.items();
|
filters = _filters.items();
|
||||||
|
_ordered.reset();
|
||||||
|
|
||||||
for(int i=0;i<filters;i++)
|
for(int i=0;i<filters;i++)
|
||||||
{
|
{
|
||||||
@ -64,7 +67,12 @@ void TImmissioneDocumenti_app::init_flags()
|
|||||||
filter << "&&";
|
filter << "&&";
|
||||||
filter << "(CODNUM==\"" << _filters.row(i) << "\")";
|
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);
|
TSorted_cursor cursor(&relation, "DATADOC", filter);
|
||||||
|
|
||||||
items = cursor.items();
|
items = cursor.items();
|
||||||
@ -107,7 +115,12 @@ void TImmissioneDocumenti_app::main_loop()
|
|||||||
{
|
{
|
||||||
TDate selday = _mask->last_selected_day();
|
TDate selday = _mask->last_selected_day();
|
||||||
int currpage = _mask->last_selected_page();
|
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
|
// 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;
|
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",
|
"ANNO|CODNUM|TIPODOC|NUMDOCRIF|STATO|DATADOCRIF|NDOC|20->RAGSOC",
|
||||||
TR("Selezione documenti"),
|
TR("Selezione documenti"),
|
||||||
HR("Anno|Num.|Tipo|Docum.Rif.|Stato|Data@10|Documento|Ragione Sociale@50"),
|
HR("Anno|Num.|Tipo|Docum.Rif.|Stato|Data@10|Documento|Ragione Sociale@50"),
|
||||||
0x02|0x04);
|
can_insert ? 0x02|0x04 : 0x04);
|
||||||
|
|
||||||
exitval = sheet.run();
|
exitval = sheet.run();
|
||||||
|
|
||||||
@ -201,7 +214,6 @@ void TImmissioneDocumenti_mask::call_ve0(int exitval, TRelation& relation, TDate
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
configfile.set("Mode", "A", "Transaction");
|
|
||||||
configfile.set("PROVV", "D", "33");
|
configfile.set("PROVV", "D", "33");
|
||||||
configfile.set("ANNO", last_selected_day().year(), "33");
|
configfile.set("ANNO", last_selected_day().year(), "33");
|
||||||
configfile.set("CODNUM", doctype, "33");
|
configfile.set("CODNUM", doctype, "33");
|
||||||
|
@ -16,7 +16,7 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// apertura del foglio interno di gestione dei documenti
|
// 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:
|
private:
|
||||||
// chiamata del programma ve0
|
// chiamata del programma ve0
|
||||||
@ -40,6 +40,7 @@ private:
|
|||||||
|
|
||||||
TString_array _filters; // filtri tipodoc per ogni tab
|
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
|
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
|
TDate _newyearsday; // capodanno dell'anno corrente, per uso interno
|
||||||
int _year; // anno corrente
|
int _year; // anno corrente
|
||||||
@ -58,6 +59,7 @@ public:
|
|||||||
void change_year(int newyear, bool init_flg = true); // passata come funzione alla maschera
|
void change_year(int newyear, bool init_flg = true); // passata come funzione alla maschera
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
bool ordered(byte p) { return _ordered[p]; }
|
||||||
TImmissioneDocumenti_app() { change_year(TDate(TODAY).year(), false); }
|
TImmissioneDocumenti_app() { change_year(TDate(TODAY).year(), false); }
|
||||||
virtual ~TImmissioneDocumenti_app() {}
|
virtual ~TImmissioneDocumenti_app() {}
|
||||||
};
|
};
|
||||||
|
@ -207,7 +207,7 @@ void TAlmanac_window::update()
|
|||||||
xvt_dwin_draw_text(win(), rct_l + pad + 2, fh + rct_t + pad + 2, str, -1);
|
xvt_dwin_draw_text(win(), rct_l + pad + 2, fh + rct_t + pad + 2, str, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
cdate--;
|
--cdate;
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
@ -145,15 +145,15 @@ class TAlmanac_mask : public TAutomask
|
|||||||
|
|
||||||
// @access Protected Member
|
// @access Protected Member
|
||||||
protected:
|
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
|
// override da TAutomask
|
||||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||||
|
|
||||||
// @access Public Member
|
// @access Public Member
|
||||||
public:
|
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
|
// override da TAutomask
|
||||||
virtual TMask_field* parse_field(TScanner& scanner);
|
virtual TMask_field* parse_field(TScanner& scanner);
|
||||||
// @cmember Gestione calendari: Attiva l'almanacco sulla pagina specificata per la data specificata
|
// @cmember Gestione calendari: Attiva l'almanacco sulla pagina specificata per la data specificata
|
||||||
|
@ -82,8 +82,8 @@ BSC32=bscmake.exe
|
|||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
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 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
|
# 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 /nodefaultlib
|
# SUBTRACT LINK32 /incremental:no /nodefaultlib
|
||||||
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
@ -106,6 +106,10 @@ SOURCE=..\ci\ci0400.cpp
|
|||||||
|
|
||||||
SOURCE=..\ci\cilib.cpp
|
SOURCE=..\ci\cilib.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\ve\velib01.cpp
|
||||||
|
# End Source File
|
||||||
# End Group
|
# End Group
|
||||||
# Begin Group "Masks"
|
# Begin Group "Masks"
|
||||||
|
|
||||||
@ -119,7 +123,7 @@ SOURCE=..\ci\ci0400a.uml
|
|||||||
!ELSEIF "$(CFG)" == "ci0 - Win32 Debug"
|
!ELSEIF "$(CFG)" == "ci0 - Win32 Debug"
|
||||||
|
|
||||||
# Begin Custom Build
|
# Begin Custom Build
|
||||||
TargetDir=\U\brugno\R_02_02\exed
|
TargetDir=\u\R_02_02\exed
|
||||||
InputPath=..\ci\ci0400a.uml
|
InputPath=..\ci\ci0400a.uml
|
||||||
InputName=ci0400a
|
InputName=ci0400a
|
||||||
|
|
||||||
@ -183,6 +187,23 @@ SOURCE=.\ci0.rc
|
|||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\ci\ci0400.ini
|
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 Source File
|
||||||
# End Group
|
# End Group
|
||||||
# End Target
|
# End Target
|
||||||
|
Loading…
x
Reference in New Issue
Block a user