Patch level : 2.2 nopatch
Files correlati : Ricompilazione Demo : [ ] Commento : Aggiunto modulo contabilità industriale git-svn-id: svn://10.65.10.50/trunk@12983 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
864cf0cd37
commit
5e623307fe
226
ci/ci0300.cpp
226
ci/ci0300.cpp
@ -1,226 +0,0 @@
|
||||
#include <applicat.h>
|
||||
#include <automask.h>
|
||||
#include <execp.h>
|
||||
#include <relation.h>
|
||||
#include <sheet.h>
|
||||
#include <utility.h>
|
||||
|
||||
#include <doc.h>
|
||||
|
||||
#include "ci0.h"
|
||||
#include "cilib.h"
|
||||
#include "ci0300.h"
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TImmissioneDocumenti_app
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
// Overrides
|
||||
|
||||
bool TImmissioneDocumenti_app::create()
|
||||
{
|
||||
_mask = new TImmissioneDocumenti_mask();
|
||||
|
||||
init_tabs();
|
||||
init_flags();
|
||||
|
||||
return TSkeleton_application::create();
|
||||
}
|
||||
|
||||
bool TImmissioneDocumenti_app::destroy()
|
||||
{
|
||||
delete _mask;
|
||||
|
||||
return TSkeleton_application::destroy();
|
||||
}
|
||||
|
||||
void TImmissioneDocumenti_app::main_loop()
|
||||
{
|
||||
while (_mask->run() == K_ENTER)
|
||||
{
|
||||
_mask->open_inner_sheet(_mask->selected_day(),_filters.row(_mask->curr_page()));
|
||||
}
|
||||
}
|
||||
|
||||
// Chiamate dalla maschera
|
||||
|
||||
void TImmissioneDocumenti_app::change_year(int newyear)
|
||||
{
|
||||
_year = newyear;
|
||||
_newyearsday.set_year(_year);
|
||||
|
||||
init_flags();
|
||||
}
|
||||
|
||||
bool TImmissioneDocumenti_app::has_documents(TDate& day)
|
||||
{
|
||||
return ((_flags)[day-_newyearsday]);
|
||||
}
|
||||
|
||||
// Inizializzazioni
|
||||
|
||||
void TImmissioneDocumenti_app::init_tabs()
|
||||
{
|
||||
TString almanacname;
|
||||
TString pagename;
|
||||
TString currfilter;
|
||||
int items;
|
||||
|
||||
_tabs.destroy();
|
||||
_filters.destroy();
|
||||
|
||||
TConfig configfile("ci0300.ini");
|
||||
configfile.list_paragraphs(_tabs);
|
||||
|
||||
items = _tabs.items();
|
||||
|
||||
for (int i=0;i<items;i++)
|
||||
{
|
||||
pagename.format("Pagina %2d",i);
|
||||
currfilter = configfile.get("Filtro",_tabs.row(i));
|
||||
TMask_field* currpage = _mask->find_by_fieldname(pagename);
|
||||
currpage->set_prompt(_tabs.row(i));
|
||||
_filters.add(currfilter);
|
||||
almanacname.format("Almanacco %2d",i);
|
||||
_mask->activate_almanac((TAlmanac_field*)_mask->find_by_fieldname(almanacname), i, TDate(TODAY));
|
||||
}
|
||||
}
|
||||
|
||||
void TImmissioneDocumenti_app::init_flags()
|
||||
{
|
||||
int items;
|
||||
TDate currdate;
|
||||
TDate currstart;
|
||||
TString filter;
|
||||
|
||||
filter << "ANNO==\"" << _year << "\"";
|
||||
|
||||
TRelation relation(LF_DOC);
|
||||
|
||||
TSorted_cursor cursor(&relation, "ANNO", filter);
|
||||
|
||||
items =cursor.items();
|
||||
|
||||
for (cursor=0;cursor.pos()<items;++cursor)
|
||||
{
|
||||
currdate = relation.lfile().get_date(DOC_DATADOC);
|
||||
_flags.set(currdate-_newyearsday, 1);
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TImmissioneDocumenti_mask
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
// Routines Proprietarie
|
||||
|
||||
void TImmissioneDocumenti_mask::open_inner_sheet(TDate date, TString doctype)
|
||||
{
|
||||
int exitval;
|
||||
|
||||
TString filter;
|
||||
filter << "(ANSI(DATADOC)==\"" << date.string(ANSI) << "\")";
|
||||
filter << "&&";
|
||||
filter << "(CODNUM==\"" << doctype << "\")";
|
||||
|
||||
TRelation relation(LF_DOC);
|
||||
relation.add(LF_CLIFO, "TIPOCF==TIPOCF|CODCF==CODCF");
|
||||
|
||||
TCursor cursor(&relation, filter);
|
||||
|
||||
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"),
|
||||
0x10||0x02||0x04);
|
||||
|
||||
exitval = sheet.run();
|
||||
|
||||
switch(exitval)
|
||||
{
|
||||
case K_ENTER:
|
||||
case K_DEL:
|
||||
case K_INS:
|
||||
call_ve0(exitval, relation, date, doctype);
|
||||
break;
|
||||
case K_ESC:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void TImmissioneDocumenti_mask::call_ve0(int exitval, TRelation& relation, TDate& date, TString& doctype)
|
||||
{
|
||||
TFilename tempfile;
|
||||
tempfile.tempdir();
|
||||
tempfile.add("cicallsve0.ini");
|
||||
|
||||
{
|
||||
TConfig configfile(tempfile);
|
||||
|
||||
switch(exitval)
|
||||
{
|
||||
case K_ENTER:
|
||||
configfile.set("Action", "Modify", "main");
|
||||
configfile.set("CODNUM", doctype, "33");
|
||||
configfile.set("NDOC", relation.lfile().get(DOC_NDOC), "33");
|
||||
break;
|
||||
case K_DEL:
|
||||
configfile.set("Action", "Delete", "main");
|
||||
configfile.set("CODNUM", doctype, "33");
|
||||
configfile.set("NDOC", relation.lfile().get(DOC_NDOC), "33");
|
||||
break;
|
||||
case K_INS:
|
||||
configfile.set("Action", "Insert", "main");
|
||||
configfile.set("NDOC", date.string(), "33");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
configfile.set("PROVV", "D", "33");
|
||||
configfile.set("ANNO", curr_almanac()->selected_year(), "33");
|
||||
configfile.set("CODNUM", doctype, "33");
|
||||
}
|
||||
|
||||
TString commandline;
|
||||
|
||||
commandline.format("ve0 -0 /i%s",tempfile);
|
||||
|
||||
TExternal_app ve(commandline);
|
||||
ve.run();
|
||||
|
||||
remove_file(tempfile);
|
||||
}
|
||||
|
||||
// Richiami all'applicazione
|
||||
|
||||
void TImmissioneDocumenti_mask::change_year(int newyear)
|
||||
{
|
||||
immissione_documenti_app().change_year(newyear);
|
||||
}
|
||||
|
||||
bool TImmissioneDocumenti_mask::is_date_void(TDate& cdate)
|
||||
{
|
||||
return !(immissione_documenti_app().has_documents(cdate));
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Mains
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
int ci0300(int argc, char* argv[])
|
||||
{
|
||||
TImmissioneDocumenti_app a ;
|
||||
a.run(argc, argv, TR("Immissione Documenti"));
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ci0400(int argc, char* argv[])
|
||||
{
|
||||
TImmissioneDocumenti_app a ;
|
||||
a.run(argc, argv, TR("Immissione Documenti"));
|
||||
return 0;
|
||||
}
|
70
ci/ci0300.h
70
ci/ci0300.h
@ -1,70 +0,0 @@
|
||||
#ifndef __CI0300_H
|
||||
#define __CI0300_H
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TImmissioneDocumenti_mask
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TImmissioneDocumenti_mask : public TAlmanac_mask
|
||||
{
|
||||
protected:
|
||||
// ereditato da TMask
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly) { return TRUE; }
|
||||
|
||||
public:
|
||||
// ereditato da TAlmanac_mask
|
||||
virtual bool is_date_void(TDate& cdate);
|
||||
virtual void change_year(int newyear);
|
||||
|
||||
public:
|
||||
// apertura del foglio interno di gestione dei documenti
|
||||
void open_inner_sheet(TDate date, TString doctype);
|
||||
|
||||
private:
|
||||
// chiamata del programma ve0
|
||||
void call_ve0(int exitval, TRelation& relation, TDate& date, TString& doctype);
|
||||
|
||||
public:
|
||||
// Costruttore
|
||||
TImmissioneDocumenti_mask() : TAlmanac_mask() { }
|
||||
// Distruttore
|
||||
~TImmissioneDocumenti_mask() { }
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TImmissioneDocumenti_app
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TImmissioneDocumenti_app: public TSkeleton_application
|
||||
{
|
||||
private:
|
||||
TImmissioneDocumenti_mask* _mask;
|
||||
|
||||
TString_array _tabs; // titoli dei tabs
|
||||
TString_array _filters; // filtri tipodoc per ogni tab
|
||||
TBit_array _flags; // flag di presenza dei documenti
|
||||
|
||||
TDate _newyearsday; // capodanno dell'anno corrente, per uso interno
|
||||
int _year; // anno corrente
|
||||
|
||||
private:
|
||||
void init_tabs();
|
||||
void init_flags();
|
||||
|
||||
protected:
|
||||
virtual bool create(void);
|
||||
virtual void main_loop();
|
||||
virtual bool destroy(void) ;
|
||||
|
||||
public:
|
||||
bool has_documents(TDate& day); // passata come funzione alla maschera
|
||||
void change_year(int newyear); // passata come funzione alla maschera
|
||||
|
||||
public:
|
||||
TImmissioneDocumenti_app() : _flags(366), _year(TDate(TODAY).year()), _newyearsday(1,1,_year) {}
|
||||
virtual ~TImmissioneDocumenti_app() {}
|
||||
};
|
||||
|
||||
inline TImmissioneDocumenti_app& immissione_documenti_app() { return (TImmissioneDocumenti_app&)main_app(); }
|
||||
|
||||
#endif // __CI0300_H
|
@ -10,6 +10,7 @@
|
||||
#include "ci0.h"
|
||||
#include "cilib.h"
|
||||
#include "ci0400.h"
|
||||
#include "ci0400a.h"
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
|
@ -26,7 +26,7 @@ private:
|
||||
|
||||
public:
|
||||
// Costruttore
|
||||
TImmissioneDocumenti_mask() : TAlmanac_mask() { }
|
||||
TImmissioneDocumenti_mask() : TAlmanac_mask("ci0400a") { }
|
||||
// Distruttore
|
||||
~TImmissioneDocumenti_mask() { }
|
||||
};
|
||||
|
4
ci/ci0400a.h
Executable file
4
ci/ci0400a.h
Executable file
@ -0,0 +1,4 @@
|
||||
// DEFINIZIONE CAMPI MASCHERE PER LA GESTIONE MASCHERE PER CALENDARIO
|
||||
// campi maschera ci0400a.uml
|
||||
|
||||
#include "cimsk.h"
|
@ -1,4 +1,4 @@
|
||||
#include "ci0300.h"
|
||||
#include "ci0400a.h"
|
||||
|
||||
TOOLBAR "" 0 -2 0 2
|
||||
|
||||
@ -43,7 +43,6 @@ END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
PAGE "Pagina 00" -1 -1 80 20
|
||||
|
||||
ALMANAC "Almanacco 00" 76 16
|
||||
@ -57,6 +56,7 @@ PAGE "Pagina 01" -1 -1 80 20
|
||||
|
||||
ALMANAC "Almanacco 01" 76 16
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -66,6 +66,7 @@ PAGE "Pagina 02" -1 -1 80 20
|
||||
|
||||
ALMANAC "Almanacco 02" 76 16
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -75,6 +76,7 @@ PAGE "Pagina 03" -1 -1 80 20
|
||||
|
||||
ALMANAC "Almanacco 03" 76 16
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -84,6 +86,7 @@ PAGE "Pagina 04" -1 -1 80 20
|
||||
|
||||
ALMANAC "Almanacco 04" 76 16
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -93,6 +96,7 @@ PAGE "Pagina 05" -1 -1 80 20
|
||||
|
||||
ALMANAC "Almanacco 05" 76 16
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -102,6 +106,7 @@ PAGE "Pagina 06" -1 -1 80 20
|
||||
|
||||
ALMANAC "Almanacco 06" 76 16
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -111,6 +116,7 @@ PAGE "Pagina 07" -1 -1 80 20
|
||||
|
||||
ALMANAC "Almanacco 07" 76 16
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -120,6 +126,7 @@ PAGE "Pagina 08" -1 -1 80 20
|
||||
|
||||
ALMANAC "Almanacco 08" 76 16
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -129,6 +136,7 @@ PAGE "Pagina 09" -1 -1 80 20
|
||||
|
||||
ALMANAC "Almanacco 09" 76 16
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -138,6 +146,7 @@ PAGE "Pagina 10" -1 -1 80 20
|
||||
|
||||
ALMANAC "Almanacco 10" 76 16
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -147,6 +156,7 @@ PAGE "Pagina 11" -1 -1 80 20
|
||||
|
||||
ALMANAC "Almanacco 11" 76 16
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -156,6 +166,7 @@ PAGE "Pagina 12" -1 -1 80 20
|
||||
|
||||
ALMANAC "Almanacco 12" 76 16
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -165,6 +176,7 @@ PAGE "Pagina 13" -1 -1 80 20
|
||||
|
||||
ALMANAC "Almanacco 13" 76 16
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -174,6 +186,7 @@ PAGE "Pagina 14" -1 -1 80 20
|
||||
|
||||
ALMANAC "Almanacco 14" 76 16
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -183,6 +196,7 @@ PAGE "Pagina 15" -1 -1 80 20
|
||||
|
||||
ALMANAC "Almanacco 15" 76 16
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
@ -10,6 +10,7 @@
|
||||
#include <utility.h> // file functions
|
||||
|
||||
#include "cilib.h"
|
||||
#include "cimsk.h"
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
@ -19,7 +20,7 @@
|
||||
TMask_field* TAlmanac_mask::parse_field(TScanner& scanner)
|
||||
{
|
||||
const TString& k = scanner.key();
|
||||
if (k == "ALMANAC")
|
||||
if (k.starts_with("AL", true))
|
||||
return new TAlmanac_field(this);
|
||||
return TAutomask::parse_field(scanner);
|
||||
}
|
||||
@ -92,14 +93,14 @@ void TAlmanac_mask::activate_almanac(TAlmanac_field* fld, int page, TDate& sdate
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
TAlmanac_mask::TAlmanac_mask()
|
||||
: TAutomask("cilib")
|
||||
TAlmanac_mask::TAlmanac_mask(const char * name)
|
||||
: TAutomask(name)
|
||||
{
|
||||
}
|
||||
|
||||
TAlmanac_mask::~TAlmanac_mask()
|
||||
{
|
||||
delete[] _almanacs;
|
||||
// delete[] _almanacs;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
|
17
ci/cilib.h
17
ci/cilib.h
@ -9,15 +9,6 @@
|
||||
#include "../db/dblib.h"
|
||||
#endif
|
||||
|
||||
// DEFINIZIONE CAMPI MASCHERE PER LA GESTIONE MASCHERE PER CALENDARIO
|
||||
// campi maschera cilib.uml
|
||||
|
||||
#define F_PREVMONTH 101
|
||||
#define F_NEXTMONTH 102
|
||||
#define F_CHANGEMONTH 103
|
||||
#define F_CHANGEYEAR 104
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TAlmanac_field
|
||||
///////////////////////////////////////////////////////////
|
||||
@ -157,11 +148,11 @@ protected:
|
||||
protected:
|
||||
// override da TAutomask
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
// override da TAutomask
|
||||
virtual TMask_field* parse_field(TScanner& scanner);
|
||||
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
// override da TAutomask
|
||||
virtual TMask_field* parse_field(TScanner& scanner);
|
||||
// @cmember Gestione calendari: Attiva l'almanacco sulla pagina specificata per la data specificata
|
||||
void activate_almanac(TAlmanac_field* fld, int page, TDate& sdate);
|
||||
// @cmember Gestione calendari: Cambia l'anno su tutti i calendari
|
||||
@ -179,7 +170,7 @@ public:
|
||||
// @access Public Member
|
||||
public:
|
||||
// @cmember Costruttore
|
||||
TAlmanac_mask();
|
||||
TAlmanac_mask(const char * name);
|
||||
// @cmember Distruttore
|
||||
~TAlmanac_mask();
|
||||
};
|
||||
|
4
ci/cimsk.h
Executable file
4
ci/cimsk.h
Executable file
@ -0,0 +1,4 @@
|
||||
#define F_PREVMONTH 101
|
||||
#define F_NEXTMONTH 102
|
||||
#define F_CHANGEMONTH 103
|
||||
#define F_CHANGEYEAR 104
|
@ -1,9 +1,9 @@
|
||||
rem @echo off
|
||||
rem @echo off
|
||||
echo Compiling %1 into %2
|
||||
|
||||
copy ..\include\uml.h+%1 %TMP%\tmp.tmp
|
||||
set oldinc=%include
|
||||
set include=..\include;..\ab;..\aec;..\at;..\ba;..\ca;..\ce;..\cg;..\cm;..\db;..\dl;..\ef;..\in;..\m770;..\mg;..\mr;..\or;..\pr;..\ps;..\sc;..\si;..\sv;..\ve;..\xvaga
|
||||
set include=;..\include;..\ab;..\aec;..\at;..\ba;..\ca;..\ci;..\ce;..\cg;..\cm;..\db;..\dl;..\ef;..\in;..\m770;..\mg;..\mr;..\or;..\pr;..\ps;..\sc;..\si;..\sv;..\ve;..\xvaga
|
||||
cl /nologo /EP %TMP%\tmp.tmp >%TMP%\tmp.msk
|
||||
set include=%oldinc
|
||||
set oldinc=
|
||||
|
Loading…
x
Reference in New Issue
Block a user